From 19473d6e6c5df5776c4dacafd4d979d8e65f82be Mon Sep 17 00:00:00 2001 From: Oleksandr Sementsov Date: Fri, 31 Mar 2023 16:54:11 +0300 Subject: [PATCH 001/180] Improve message when closing meeting agenda Update meeting closing message from "Are you sure you want to close the agenda?" to "Are you sure you want to close the meeting agenda?" in yml translation files. --- 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/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/el.yml | 2 +- modules/meeting/config/locales/crowdin/eo.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 +- modules/meeting/config/locales/crowdin/fil.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/id.yml | 2 +- modules/meeting/config/locales/crowdin/ja.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/ne.yml | 2 +- modules/meeting/config/locales/crowdin/nl.yml | 2 +- modules/meeting/config/locales/crowdin/no.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/vi.yml | 2 +- modules/meeting/config/locales/crowdin/zh-TW.yml | 2 +- modules/meeting/config/locales/en.yml | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/modules/meeting/config/locales/crowdin/af.yml b/modules/meeting/config/locales/crowdin/af.yml index fb54070dcb7d..80eb29783d0e 100644 --- a/modules/meeting/config/locales/crowdin/af.yml +++ b/modules/meeting/config/locales/crowdin/af.yml @@ -85,7 +85,7 @@ af: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ar.yml b/modules/meeting/config/locales/crowdin/ar.yml index fbf4775b3209..6ada1b62e3e4 100644 --- a/modules/meeting/config/locales/crowdin/ar.yml +++ b/modules/meeting/config/locales/crowdin/ar.yml @@ -85,7 +85,7 @@ ar: text_duration_in_hours: "المدة بالساعات" text_in_hours: "في الساعات" text_meeting_agenda_for_meeting: 'جدول أعمال للاجتماع "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "سيؤدي هذا إلى استبدال جميع التغييرات في المقرر! هل تريد المتابعة؟" text_meeting_minutes_for_meeting: 'محضر الجسلة للاجتماع "%{meeting}"' text_review_meeting_agenda: "%{author} طرح %{link} للمراجعة." diff --git a/modules/meeting/config/locales/crowdin/az.yml b/modules/meeting/config/locales/crowdin/az.yml index 3c9a7616210f..bac98b65b26a 100644 --- a/modules/meeting/config/locales/crowdin/az.yml +++ b/modules/meeting/config/locales/crowdin/az.yml @@ -85,7 +85,7 @@ az: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml index 556bcd199a3d..2c6dd1fbd0d5 100644 --- a/modules/meeting/config/locales/crowdin/be.yml +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -85,7 +85,7 @@ be: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/bg.yml b/modules/meeting/config/locales/crowdin/bg.yml index 677b75680131..2f4a4c1c3b7c 100644 --- a/modules/meeting/config/locales/crowdin/bg.yml +++ b/modules/meeting/config/locales/crowdin/bg.yml @@ -85,7 +85,7 @@ bg: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ckb-IR.yml b/modules/meeting/config/locales/crowdin/ckb-IR.yml index 951ade9d2884..d41f2b45bea1 100644 --- a/modules/meeting/config/locales/crowdin/ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/ckb-IR.yml @@ -85,7 +85,7 @@ ckb-IR: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index 105062a41b23..29b8ab1d6f19 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -85,7 +85,7 @@ cs: text_duration_in_hours: "Doba trvání v hodinách" text_in_hours: "v hodinách" text_meeting_agenda_for_meeting: 'Agenda schůzky "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Toto přepíše všechny změny v zápisech! Chcete pokračovat?" text_meeting_minutes_for_meeting: 'zápis pro schůzku "%{meeting}"' text_review_meeting_agenda: "%{author} dal %{link} na revizi." diff --git a/modules/meeting/config/locales/crowdin/da.yml b/modules/meeting/config/locales/crowdin/da.yml index 057ab038fd2b..58cefd401fbf 100644 --- a/modules/meeting/config/locales/crowdin/da.yml +++ b/modules/meeting/config/locales/crowdin/da.yml @@ -85,7 +85,7 @@ da: text_duration_in_hours: "Duration in hours" text_in_hours: "i timer" text_meeting_agenda_for_meeting: 'dagsorden for mødet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Dette vil overskrive alle ændringer i minutterne! Vil du fortsætte?" text_meeting_minutes_for_meeting: 'referat for mødet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt dette %{link} ud til vurdering." diff --git a/modules/meeting/config/locales/crowdin/el.yml b/modules/meeting/config/locales/crowdin/el.yml index 7f1ea3c056b6..dafc11be206e 100644 --- a/modules/meeting/config/locales/crowdin/el.yml +++ b/modules/meeting/config/locales/crowdin/el.yml @@ -85,7 +85,7 @@ el: text_duration_in_hours: "Διάρκεια σε ώρες" text_in_hours: "σε ώρες" text_meeting_agenda_for_meeting: 'ατζέντα για τη συνάντηση "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Αυτό θα αντικαταστήσει όλες τις αλλαγές στα πρακτικά συνάντησης! Θέλετε να συνεχίσετε;" text_meeting_minutes_for_meeting: 'πρακτικά για τη συνάντηση "%{meeting}"' text_review_meeting_agenda: "Ο/Η %{author} έχει βάλει το %{link} για αναθεώρηση." diff --git a/modules/meeting/config/locales/crowdin/eo.yml b/modules/meeting/config/locales/crowdin/eo.yml index c6862a17a30d..66c92254b5b4 100644 --- a/modules/meeting/config/locales/crowdin/eo.yml +++ b/modules/meeting/config/locales/crowdin/eo.yml @@ -85,7 +85,7 @@ eo: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/et.yml b/modules/meeting/config/locales/crowdin/et.yml index 5164c6cea6fa..ca6c413ce029 100644 --- a/modules/meeting/config/locales/crowdin/et.yml +++ b/modules/meeting/config/locales/crowdin/et.yml @@ -85,7 +85,7 @@ et: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml index 71d27df0ef2f..e0c51b799aca 100644 --- a/modules/meeting/config/locales/crowdin/eu.yml +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -85,7 +85,7 @@ eu: text_duration_in_hours: "Iraupena ordutan" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/fa.yml b/modules/meeting/config/locales/crowdin/fa.yml index 27ebf4e3416b..b2060e7af468 100644 --- a/modules/meeting/config/locales/crowdin/fa.yml +++ b/modules/meeting/config/locales/crowdin/fa.yml @@ -85,7 +85,7 @@ fa: text_duration_in_hours: "Duration in hours" text_in_hours: "در ساعات" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/fi.yml b/modules/meeting/config/locales/crowdin/fi.yml index 27e8f7bb5119..c66d612133a8 100644 --- a/modules/meeting/config/locales/crowdin/fi.yml +++ b/modules/meeting/config/locales/crowdin/fi.yml @@ -85,7 +85,7 @@ fi: text_duration_in_hours: "Keston tunteina" text_in_hours: "tuntia" text_meeting_agenda_for_meeting: 'kokouksen "%{meeting}" esityslista' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Tämä korvaa kaikki muutokset pöytäkirjassa! Haluatko jatkaa?" text_meeting_minutes_for_meeting: 'kokouksen "%{meeting}" pöytäkirja' text_review_meeting_agenda: "%{author} on tehnyt %{link} tarkasteltavaksi." diff --git a/modules/meeting/config/locales/crowdin/fil.yml b/modules/meeting/config/locales/crowdin/fil.yml index 08275935b142..2eca5c5d0747 100644 --- a/modules/meeting/config/locales/crowdin/fil.yml +++ b/modules/meeting/config/locales/crowdin/fil.yml @@ -85,7 +85,7 @@ fil: text_duration_in_hours: "Tagal sa oras" text_in_hours: "sa mga oras" text_meeting_agenda_for_meeting: 'adyenda para sa pulong "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes para sa pulong "%{meeting}"' text_review_meeting_agenda: "Ang %{author} ay naglagay ng %{link} para sa pagsusuri." diff --git a/modules/meeting/config/locales/crowdin/he.yml b/modules/meeting/config/locales/crowdin/he.yml index 459d0f37294f..59fa6b7f781e 100644 --- a/modules/meeting/config/locales/crowdin/he.yml +++ b/modules/meeting/config/locales/crowdin/he.yml @@ -85,7 +85,7 @@ he: text_duration_in_hours: "משך הזמן בשעות" text_in_hours: "בשעות" text_meeting_agenda_for_meeting: 'סדר היום לפגישה "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'דקות לפגישה "%{meeting}"' text_review_meeting_agenda: "על %{author} לשים את %{link} לבדיקה." diff --git a/modules/meeting/config/locales/crowdin/hi.yml b/modules/meeting/config/locales/crowdin/hi.yml index 2538f1e8afd0..5f971b071e80 100644 --- a/modules/meeting/config/locales/crowdin/hi.yml +++ b/modules/meeting/config/locales/crowdin/hi.yml @@ -85,7 +85,7 @@ hi: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/hr.yml b/modules/meeting/config/locales/crowdin/hr.yml index f4513adfc768..e380b5d9d48a 100644 --- a/modules/meeting/config/locales/crowdin/hr.yml +++ b/modules/meeting/config/locales/crowdin/hr.yml @@ -85,7 +85,7 @@ hr: text_duration_in_hours: "Duration in hours" text_in_hours: "u satima" text_meeting_agenda_for_meeting: 'dnevni red za sastank "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minute za sastanak "%{meeting}"' text_review_meeting_agenda: "%{author} je dodao poveznicu %{link} za provjeru." diff --git a/modules/meeting/config/locales/crowdin/id.yml b/modules/meeting/config/locales/crowdin/id.yml index c2180b8d0b4c..94d9c059e82e 100644 --- a/modules/meeting/config/locales/crowdin/id.yml +++ b/modules/meeting/config/locales/crowdin/id.yml @@ -85,7 +85,7 @@ id: text_duration_in_hours: "Durasi dalam jam" text_in_hours: "dalam jam" text_meeting_agenda_for_meeting: 'agenda untuk rapat "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Ini akan mengganti semua perubahan dalam beberapa menit! Apakah anda ingin lanjut?" text_meeting_minutes_for_meeting: 'laporan untuk rapat "%{meeting}"' text_review_meeting_agenda: "%{author} telah memberikan %{link} untuk diulas." diff --git a/modules/meeting/config/locales/crowdin/ja.yml b/modules/meeting/config/locales/crowdin/ja.yml index c852d3429aa5..d922e50d7dfe 100644 --- a/modules/meeting/config/locales/crowdin/ja.yml +++ b/modules/meeting/config/locales/crowdin/ja.yml @@ -85,7 +85,7 @@ ja: text_duration_in_hours: "期間(時間)" text_in_hours: "数時間以内" text_meeting_agenda_for_meeting: '会議の議題 "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "数分内のすべての変更が上書きされます!続けますか?" text_meeting_minutes_for_meeting: '会議の議事録 "%{meeting}"' text_review_meeting_agenda: "%{author} はレビューのために %{link} をアップしました。" diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml index fbd5fcb49bc1..f3ad0cf4803e 100644 --- a/modules/meeting/config/locales/crowdin/lt.yml +++ b/modules/meeting/config/locales/crowdin/lt.yml @@ -85,7 +85,7 @@ lt: text_duration_in_hours: "Trukmė valandomis" text_in_hours: " valandos(-ų) " text_meeting_agenda_for_meeting: 'pasitarimo „%{meeting}“ darbotvarkę' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Tai perrašys visus pakeitimus minutėse! Ar norite tęsti?" text_meeting_minutes_for_meeting: 'pasitarimo „%{meeting}“ minutės' text_review_meeting_agenda: "%{author} įdėjo %{link} peržiūroje." diff --git a/modules/meeting/config/locales/crowdin/lv.yml b/modules/meeting/config/locales/crowdin/lv.yml index e51e49a77512..a98ace3eabaa 100644 --- a/modules/meeting/config/locales/crowdin/lv.yml +++ b/modules/meeting/config/locales/crowdin/lv.yml @@ -85,7 +85,7 @@ lv: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/mn.yml b/modules/meeting/config/locales/crowdin/mn.yml index b8e01159ff4f..83acaf665a87 100644 --- a/modules/meeting/config/locales/crowdin/mn.yml +++ b/modules/meeting/config/locales/crowdin/mn.yml @@ -85,7 +85,7 @@ mn: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ne.yml b/modules/meeting/config/locales/crowdin/ne.yml index a3f27b06dbc3..7eb2c6a675cd 100644 --- a/modules/meeting/config/locales/crowdin/ne.yml +++ b/modules/meeting/config/locales/crowdin/ne.yml @@ -85,7 +85,7 @@ ne: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index d2f49461bc85..ee015faa5c01 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -85,7 +85,7 @@ nl: text_duration_in_hours: "Duur in uren" text_in_hours: "in uren" text_meeting_agenda_for_meeting: 'agenda voor de vergadering "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Dit overschrijft alle wijzigingen in de aantekeningen! Wilt u doorgaan?" text_meeting_minutes_for_meeting: 'minuten voor de vergadering "%{meeting}"' text_review_meeting_agenda: "%{author} heeft de %{link} geselecteerd voor herziening." diff --git a/modules/meeting/config/locales/crowdin/no.yml b/modules/meeting/config/locales/crowdin/no.yml index 9d05a2464fb5..859c3e68fa56 100644 --- a/modules/meeting/config/locales/crowdin/no.yml +++ b/modules/meeting/config/locales/crowdin/no.yml @@ -85,7 +85,7 @@ text_duration_in_hours: "Varighet i timer" text_in_hours: "i timer" text_meeting_agenda_for_meeting: 'saksliste for møtet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Dette vil overskrive alle endringer i minuttene! Vil du fortsette?" text_meeting_minutes_for_meeting: 'referat for møtet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt opp %{link} for gjennomgang." diff --git a/modules/meeting/config/locales/crowdin/rw.yml b/modules/meeting/config/locales/crowdin/rw.yml index 601ec747b6cc..a7b3f109b27d 100644 --- a/modules/meeting/config/locales/crowdin/rw.yml +++ b/modules/meeting/config/locales/crowdin/rw.yml @@ -85,7 +85,7 @@ rw: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/si.yml b/modules/meeting/config/locales/crowdin/si.yml index e6cabbaa92a4..1e83a68b9ca3 100644 --- a/modules/meeting/config/locales/crowdin/si.yml +++ b/modules/meeting/config/locales/crowdin/si.yml @@ -85,7 +85,7 @@ si: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/sk.yml b/modules/meeting/config/locales/crowdin/sk.yml index a1db84c5498b..8a7bc3860d37 100644 --- a/modules/meeting/config/locales/crowdin/sk.yml +++ b/modules/meeting/config/locales/crowdin/sk.yml @@ -85,7 +85,7 @@ sk: text_duration_in_hours: "Doba trvania v hodinách" text_in_hours: "v hodinách" text_meeting_agenda_for_meeting: 'agenda stretnutia "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'zápisnica zo stretnutia "%{meeting}"' text_review_meeting_agenda: "%{author} odoslal %{link} na revíziu." diff --git a/modules/meeting/config/locales/crowdin/sl.yml b/modules/meeting/config/locales/crowdin/sl.yml index adbf836e8772..a87b088fbcd9 100644 --- a/modules/meeting/config/locales/crowdin/sl.yml +++ b/modules/meeting/config/locales/crowdin/sl.yml @@ -85,7 +85,7 @@ sl: text_duration_in_hours: "Trajanje v urah" text_in_hours: "v urah" text_meeting_agenda_for_meeting: 'dnevni red za sestanek "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "To bo prepisalo vse spremembe v zapisniku! Ali želite nadaljevati?" text_meeting_minutes_for_meeting: 'zapisnik za sestanek "%{meeting}"' text_review_meeting_agenda: "%{author} je dal %{link} v pregled." diff --git a/modules/meeting/config/locales/crowdin/sr.yml b/modules/meeting/config/locales/crowdin/sr.yml index 9b02ef45cce8..ef174c264fdd 100644 --- a/modules/meeting/config/locales/crowdin/sr.yml +++ b/modules/meeting/config/locales/crowdin/sr.yml @@ -85,7 +85,7 @@ sr: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/sv.yml b/modules/meeting/config/locales/crowdin/sv.yml index 7855f9f177d5..6d23670c9edc 100644 --- a/modules/meeting/config/locales/crowdin/sv.yml +++ b/modules/meeting/config/locales/crowdin/sv.yml @@ -85,7 +85,7 @@ sv: text_duration_in_hours: "Varaktighet i timmar" text_in_hours: "i timmar" text_meeting_agenda_for_meeting: 'agenda för mötet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Detta kommer att skriva över alla ändringar i anteckningarna! Vill du fortsätta?" text_meeting_minutes_for_meeting: 'protokollet för mötet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt upp %{link} för granskning." diff --git a/modules/meeting/config/locales/crowdin/th.yml b/modules/meeting/config/locales/crowdin/th.yml index bb17624e2aa1..aa0015625921 100644 --- a/modules/meeting/config/locales/crowdin/th.yml +++ b/modules/meeting/config/locales/crowdin/th.yml @@ -85,7 +85,7 @@ th: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/tr.yml b/modules/meeting/config/locales/crowdin/tr.yml index 9e5c72c2bc39..6ca3a26a8d5a 100644 --- a/modules/meeting/config/locales/crowdin/tr.yml +++ b/modules/meeting/config/locales/crowdin/tr.yml @@ -85,7 +85,7 @@ tr: text_duration_in_hours: "Saat süresi" text_in_hours: "saatlerde" text_meeting_agenda_for_meeting: 'toplantı gündemi "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Bu, dakikalardaki tüm değişikliklerin üzerine yazacaktır! Devam etmek istiyor musun?" text_meeting_minutes_for_meeting: 'toplantı için dakikalar "%{meeting}"' text_review_meeting_agenda: "%{author}, %{link} 'i incelemeye koydu." diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index 11b3831c7dfc..fb33fdb39db8 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -85,7 +85,7 @@ vi: text_duration_in_hours: "Thời lượng tính bằng giờ" text_in_hours: "bằng giờ" text_meeting_agenda_for_meeting: 'Các ý chính cho cuộc họp "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index cd128da6e77b..29404ca98ec6 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -85,7 +85,7 @@ zh-TW: text_duration_in_hours: "持續時間 (小時)" text_in_hours: "在一小時內" text_meeting_agenda_for_meeting: '%{meeting} 的會議大綱' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: '%{meeting} 的會議記錄' text_review_meeting_agenda: "%{author} 已經放上 %{link} 來審閱" diff --git a/modules/meeting/config/locales/en.yml b/modules/meeting/config/locales/en.yml index 56a80aace60e..56c56f5b2bbc 100644 --- a/modules/meeting/config/locales/en.yml +++ b/modules/meeting/config/locales/en.yml @@ -102,7 +102,7 @@ en: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." From 1e0ce6460011d2f50476afdaac115d347ebe78e0 Mon Sep 17 00:00:00 2001 From: Oleksandr Sementsov Date: Mon, 10 Apr 2023 14:35:43 +0300 Subject: [PATCH 002/180] Left changes only in EN file that Crowdin can translate other --- 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/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/el.yml | 2 +- modules/meeting/config/locales/crowdin/eo.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 +- modules/meeting/config/locales/crowdin/fil.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/id.yml | 2 +- modules/meeting/config/locales/crowdin/ja.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/ne.yml | 2 +- modules/meeting/config/locales/crowdin/nl.yml | 2 +- modules/meeting/config/locales/crowdin/no.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/vi.yml | 2 +- modules/meeting/config/locales/crowdin/zh-TW.yml | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/modules/meeting/config/locales/crowdin/af.yml b/modules/meeting/config/locales/crowdin/af.yml index 80eb29783d0e..fb54070dcb7d 100644 --- a/modules/meeting/config/locales/crowdin/af.yml +++ b/modules/meeting/config/locales/crowdin/af.yml @@ -85,7 +85,7 @@ af: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ar.yml b/modules/meeting/config/locales/crowdin/ar.yml index 6ada1b62e3e4..fbf4775b3209 100644 --- a/modules/meeting/config/locales/crowdin/ar.yml +++ b/modules/meeting/config/locales/crowdin/ar.yml @@ -85,7 +85,7 @@ ar: text_duration_in_hours: "المدة بالساعات" text_in_hours: "في الساعات" text_meeting_agenda_for_meeting: 'جدول أعمال للاجتماع "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "سيؤدي هذا إلى استبدال جميع التغييرات في المقرر! هل تريد المتابعة؟" text_meeting_minutes_for_meeting: 'محضر الجسلة للاجتماع "%{meeting}"' text_review_meeting_agenda: "%{author} طرح %{link} للمراجعة." diff --git a/modules/meeting/config/locales/crowdin/az.yml b/modules/meeting/config/locales/crowdin/az.yml index bac98b65b26a..3c9a7616210f 100644 --- a/modules/meeting/config/locales/crowdin/az.yml +++ b/modules/meeting/config/locales/crowdin/az.yml @@ -85,7 +85,7 @@ az: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml index 2c6dd1fbd0d5..556bcd199a3d 100644 --- a/modules/meeting/config/locales/crowdin/be.yml +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -85,7 +85,7 @@ be: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/bg.yml b/modules/meeting/config/locales/crowdin/bg.yml index 2f4a4c1c3b7c..677b75680131 100644 --- a/modules/meeting/config/locales/crowdin/bg.yml +++ b/modules/meeting/config/locales/crowdin/bg.yml @@ -85,7 +85,7 @@ bg: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ckb-IR.yml b/modules/meeting/config/locales/crowdin/ckb-IR.yml index d41f2b45bea1..951ade9d2884 100644 --- a/modules/meeting/config/locales/crowdin/ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/ckb-IR.yml @@ -85,7 +85,7 @@ ckb-IR: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index 29b8ab1d6f19..105062a41b23 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -85,7 +85,7 @@ cs: text_duration_in_hours: "Doba trvání v hodinách" text_in_hours: "v hodinách" text_meeting_agenda_for_meeting: 'Agenda schůzky "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Toto přepíše všechny změny v zápisech! Chcete pokračovat?" text_meeting_minutes_for_meeting: 'zápis pro schůzku "%{meeting}"' text_review_meeting_agenda: "%{author} dal %{link} na revizi." diff --git a/modules/meeting/config/locales/crowdin/da.yml b/modules/meeting/config/locales/crowdin/da.yml index 58cefd401fbf..057ab038fd2b 100644 --- a/modules/meeting/config/locales/crowdin/da.yml +++ b/modules/meeting/config/locales/crowdin/da.yml @@ -85,7 +85,7 @@ da: text_duration_in_hours: "Duration in hours" text_in_hours: "i timer" text_meeting_agenda_for_meeting: 'dagsorden for mødet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Dette vil overskrive alle ændringer i minutterne! Vil du fortsætte?" text_meeting_minutes_for_meeting: 'referat for mødet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt dette %{link} ud til vurdering." diff --git a/modules/meeting/config/locales/crowdin/el.yml b/modules/meeting/config/locales/crowdin/el.yml index dafc11be206e..7f1ea3c056b6 100644 --- a/modules/meeting/config/locales/crowdin/el.yml +++ b/modules/meeting/config/locales/crowdin/el.yml @@ -85,7 +85,7 @@ el: text_duration_in_hours: "Διάρκεια σε ώρες" text_in_hours: "σε ώρες" text_meeting_agenda_for_meeting: 'ατζέντα για τη συνάντηση "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Αυτό θα αντικαταστήσει όλες τις αλλαγές στα πρακτικά συνάντησης! Θέλετε να συνεχίσετε;" text_meeting_minutes_for_meeting: 'πρακτικά για τη συνάντηση "%{meeting}"' text_review_meeting_agenda: "Ο/Η %{author} έχει βάλει το %{link} για αναθεώρηση." diff --git a/modules/meeting/config/locales/crowdin/eo.yml b/modules/meeting/config/locales/crowdin/eo.yml index 66c92254b5b4..c6862a17a30d 100644 --- a/modules/meeting/config/locales/crowdin/eo.yml +++ b/modules/meeting/config/locales/crowdin/eo.yml @@ -85,7 +85,7 @@ eo: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/et.yml b/modules/meeting/config/locales/crowdin/et.yml index ca6c413ce029..5164c6cea6fa 100644 --- a/modules/meeting/config/locales/crowdin/et.yml +++ b/modules/meeting/config/locales/crowdin/et.yml @@ -85,7 +85,7 @@ et: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml index e0c51b799aca..71d27df0ef2f 100644 --- a/modules/meeting/config/locales/crowdin/eu.yml +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -85,7 +85,7 @@ eu: text_duration_in_hours: "Iraupena ordutan" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/fa.yml b/modules/meeting/config/locales/crowdin/fa.yml index b2060e7af468..27ebf4e3416b 100644 --- a/modules/meeting/config/locales/crowdin/fa.yml +++ b/modules/meeting/config/locales/crowdin/fa.yml @@ -85,7 +85,7 @@ fa: text_duration_in_hours: "Duration in hours" text_in_hours: "در ساعات" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/fi.yml b/modules/meeting/config/locales/crowdin/fi.yml index c66d612133a8..27e8f7bb5119 100644 --- a/modules/meeting/config/locales/crowdin/fi.yml +++ b/modules/meeting/config/locales/crowdin/fi.yml @@ -85,7 +85,7 @@ fi: text_duration_in_hours: "Keston tunteina" text_in_hours: "tuntia" text_meeting_agenda_for_meeting: 'kokouksen "%{meeting}" esityslista' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Tämä korvaa kaikki muutokset pöytäkirjassa! Haluatko jatkaa?" text_meeting_minutes_for_meeting: 'kokouksen "%{meeting}" pöytäkirja' text_review_meeting_agenda: "%{author} on tehnyt %{link} tarkasteltavaksi." diff --git a/modules/meeting/config/locales/crowdin/fil.yml b/modules/meeting/config/locales/crowdin/fil.yml index 2eca5c5d0747..08275935b142 100644 --- a/modules/meeting/config/locales/crowdin/fil.yml +++ b/modules/meeting/config/locales/crowdin/fil.yml @@ -85,7 +85,7 @@ fil: text_duration_in_hours: "Tagal sa oras" text_in_hours: "sa mga oras" text_meeting_agenda_for_meeting: 'adyenda para sa pulong "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes para sa pulong "%{meeting}"' text_review_meeting_agenda: "Ang %{author} ay naglagay ng %{link} para sa pagsusuri." diff --git a/modules/meeting/config/locales/crowdin/he.yml b/modules/meeting/config/locales/crowdin/he.yml index 59fa6b7f781e..459d0f37294f 100644 --- a/modules/meeting/config/locales/crowdin/he.yml +++ b/modules/meeting/config/locales/crowdin/he.yml @@ -85,7 +85,7 @@ he: text_duration_in_hours: "משך הזמן בשעות" text_in_hours: "בשעות" text_meeting_agenda_for_meeting: 'סדר היום לפגישה "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'דקות לפגישה "%{meeting}"' text_review_meeting_agenda: "על %{author} לשים את %{link} לבדיקה." diff --git a/modules/meeting/config/locales/crowdin/hi.yml b/modules/meeting/config/locales/crowdin/hi.yml index 5f971b071e80..2538f1e8afd0 100644 --- a/modules/meeting/config/locales/crowdin/hi.yml +++ b/modules/meeting/config/locales/crowdin/hi.yml @@ -85,7 +85,7 @@ hi: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/hr.yml b/modules/meeting/config/locales/crowdin/hr.yml index e380b5d9d48a..f4513adfc768 100644 --- a/modules/meeting/config/locales/crowdin/hr.yml +++ b/modules/meeting/config/locales/crowdin/hr.yml @@ -85,7 +85,7 @@ hr: text_duration_in_hours: "Duration in hours" text_in_hours: "u satima" text_meeting_agenda_for_meeting: 'dnevni red za sastank "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minute za sastanak "%{meeting}"' text_review_meeting_agenda: "%{author} je dodao poveznicu %{link} za provjeru." diff --git a/modules/meeting/config/locales/crowdin/id.yml b/modules/meeting/config/locales/crowdin/id.yml index 94d9c059e82e..c2180b8d0b4c 100644 --- a/modules/meeting/config/locales/crowdin/id.yml +++ b/modules/meeting/config/locales/crowdin/id.yml @@ -85,7 +85,7 @@ id: text_duration_in_hours: "Durasi dalam jam" text_in_hours: "dalam jam" text_meeting_agenda_for_meeting: 'agenda untuk rapat "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Ini akan mengganti semua perubahan dalam beberapa menit! Apakah anda ingin lanjut?" text_meeting_minutes_for_meeting: 'laporan untuk rapat "%{meeting}"' text_review_meeting_agenda: "%{author} telah memberikan %{link} untuk diulas." diff --git a/modules/meeting/config/locales/crowdin/ja.yml b/modules/meeting/config/locales/crowdin/ja.yml index d922e50d7dfe..c852d3429aa5 100644 --- a/modules/meeting/config/locales/crowdin/ja.yml +++ b/modules/meeting/config/locales/crowdin/ja.yml @@ -85,7 +85,7 @@ ja: text_duration_in_hours: "期間(時間)" text_in_hours: "数時間以内" text_meeting_agenda_for_meeting: '会議の議題 "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "数分内のすべての変更が上書きされます!続けますか?" text_meeting_minutes_for_meeting: '会議の議事録 "%{meeting}"' text_review_meeting_agenda: "%{author} はレビューのために %{link} をアップしました。" diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml index f3ad0cf4803e..fbd5fcb49bc1 100644 --- a/modules/meeting/config/locales/crowdin/lt.yml +++ b/modules/meeting/config/locales/crowdin/lt.yml @@ -85,7 +85,7 @@ lt: text_duration_in_hours: "Trukmė valandomis" text_in_hours: " valandos(-ų) " text_meeting_agenda_for_meeting: 'pasitarimo „%{meeting}“ darbotvarkę' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Tai perrašys visus pakeitimus minutėse! Ar norite tęsti?" text_meeting_minutes_for_meeting: 'pasitarimo „%{meeting}“ minutės' text_review_meeting_agenda: "%{author} įdėjo %{link} peržiūroje." diff --git a/modules/meeting/config/locales/crowdin/lv.yml b/modules/meeting/config/locales/crowdin/lv.yml index a98ace3eabaa..e51e49a77512 100644 --- a/modules/meeting/config/locales/crowdin/lv.yml +++ b/modules/meeting/config/locales/crowdin/lv.yml @@ -85,7 +85,7 @@ lv: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/mn.yml b/modules/meeting/config/locales/crowdin/mn.yml index 83acaf665a87..b8e01159ff4f 100644 --- a/modules/meeting/config/locales/crowdin/mn.yml +++ b/modules/meeting/config/locales/crowdin/mn.yml @@ -85,7 +85,7 @@ mn: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ne.yml b/modules/meeting/config/locales/crowdin/ne.yml index 7eb2c6a675cd..a3f27b06dbc3 100644 --- a/modules/meeting/config/locales/crowdin/ne.yml +++ b/modules/meeting/config/locales/crowdin/ne.yml @@ -85,7 +85,7 @@ ne: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index ee015faa5c01..d2f49461bc85 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -85,7 +85,7 @@ nl: text_duration_in_hours: "Duur in uren" text_in_hours: "in uren" text_meeting_agenda_for_meeting: 'agenda voor de vergadering "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Dit overschrijft alle wijzigingen in de aantekeningen! Wilt u doorgaan?" text_meeting_minutes_for_meeting: 'minuten voor de vergadering "%{meeting}"' text_review_meeting_agenda: "%{author} heeft de %{link} geselecteerd voor herziening." diff --git a/modules/meeting/config/locales/crowdin/no.yml b/modules/meeting/config/locales/crowdin/no.yml index 859c3e68fa56..9d05a2464fb5 100644 --- a/modules/meeting/config/locales/crowdin/no.yml +++ b/modules/meeting/config/locales/crowdin/no.yml @@ -85,7 +85,7 @@ text_duration_in_hours: "Varighet i timer" text_in_hours: "i timer" text_meeting_agenda_for_meeting: 'saksliste for møtet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Dette vil overskrive alle endringer i minuttene! Vil du fortsette?" text_meeting_minutes_for_meeting: 'referat for møtet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt opp %{link} for gjennomgang." diff --git a/modules/meeting/config/locales/crowdin/rw.yml b/modules/meeting/config/locales/crowdin/rw.yml index a7b3f109b27d..601ec747b6cc 100644 --- a/modules/meeting/config/locales/crowdin/rw.yml +++ b/modules/meeting/config/locales/crowdin/rw.yml @@ -85,7 +85,7 @@ rw: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/si.yml b/modules/meeting/config/locales/crowdin/si.yml index 1e83a68b9ca3..e6cabbaa92a4 100644 --- a/modules/meeting/config/locales/crowdin/si.yml +++ b/modules/meeting/config/locales/crowdin/si.yml @@ -85,7 +85,7 @@ si: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/sk.yml b/modules/meeting/config/locales/crowdin/sk.yml index 8a7bc3860d37..a1db84c5498b 100644 --- a/modules/meeting/config/locales/crowdin/sk.yml +++ b/modules/meeting/config/locales/crowdin/sk.yml @@ -85,7 +85,7 @@ sk: text_duration_in_hours: "Doba trvania v hodinách" text_in_hours: "v hodinách" text_meeting_agenda_for_meeting: 'agenda stretnutia "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'zápisnica zo stretnutia "%{meeting}"' text_review_meeting_agenda: "%{author} odoslal %{link} na revíziu." diff --git a/modules/meeting/config/locales/crowdin/sl.yml b/modules/meeting/config/locales/crowdin/sl.yml index a87b088fbcd9..adbf836e8772 100644 --- a/modules/meeting/config/locales/crowdin/sl.yml +++ b/modules/meeting/config/locales/crowdin/sl.yml @@ -85,7 +85,7 @@ sl: text_duration_in_hours: "Trajanje v urah" text_in_hours: "v urah" text_meeting_agenda_for_meeting: 'dnevni red za sestanek "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "To bo prepisalo vse spremembe v zapisniku! Ali želite nadaljevati?" text_meeting_minutes_for_meeting: 'zapisnik za sestanek "%{meeting}"' text_review_meeting_agenda: "%{author} je dal %{link} v pregled." diff --git a/modules/meeting/config/locales/crowdin/sr.yml b/modules/meeting/config/locales/crowdin/sr.yml index ef174c264fdd..9b02ef45cce8 100644 --- a/modules/meeting/config/locales/crowdin/sr.yml +++ b/modules/meeting/config/locales/crowdin/sr.yml @@ -85,7 +85,7 @@ sr: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/sv.yml b/modules/meeting/config/locales/crowdin/sv.yml index 6d23670c9edc..7855f9f177d5 100644 --- a/modules/meeting/config/locales/crowdin/sv.yml +++ b/modules/meeting/config/locales/crowdin/sv.yml @@ -85,7 +85,7 @@ sv: text_duration_in_hours: "Varaktighet i timmar" text_in_hours: "i timmar" text_meeting_agenda_for_meeting: 'agenda för mötet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Detta kommer att skriva över alla ändringar i anteckningarna! Vill du fortsätta?" text_meeting_minutes_for_meeting: 'protokollet för mötet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt upp %{link} för granskning." diff --git a/modules/meeting/config/locales/crowdin/th.yml b/modules/meeting/config/locales/crowdin/th.yml index aa0015625921..bb17624e2aa1 100644 --- a/modules/meeting/config/locales/crowdin/th.yml +++ b/modules/meeting/config/locales/crowdin/th.yml @@ -85,7 +85,7 @@ th: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/tr.yml b/modules/meeting/config/locales/crowdin/tr.yml index 6ca3a26a8d5a..9e5c72c2bc39 100644 --- a/modules/meeting/config/locales/crowdin/tr.yml +++ b/modules/meeting/config/locales/crowdin/tr.yml @@ -85,7 +85,7 @@ tr: text_duration_in_hours: "Saat süresi" text_in_hours: "saatlerde" text_meeting_agenda_for_meeting: 'toplantı gündemi "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "Bu, dakikalardaki tüm değişikliklerin üzerine yazacaktır! Devam etmek istiyor musun?" text_meeting_minutes_for_meeting: 'toplantı için dakikalar "%{meeting}"' text_review_meeting_agenda: "%{author}, %{link} 'i incelemeye koydu." diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index fb33fdb39db8..11b3831c7dfc 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -85,7 +85,7 @@ vi: text_duration_in_hours: "Thời lượng tính bằng giờ" text_in_hours: "bằng giờ" text_meeting_agenda_for_meeting: 'Các ý chính cho cuộc họp "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index 29404ca98ec6..cd128da6e77b 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -85,7 +85,7 @@ zh-TW: text_duration_in_hours: "持續時間 (小時)" text_in_hours: "在一小時內" text_meeting_agenda_for_meeting: '%{meeting} 的會議大綱' - text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: '%{meeting} 的會議記錄' text_review_meeting_agenda: "%{author} 已經放上 %{link} 來審閱" From 3c2fc29d439ed0088a180c11fcf3854abbb0cf4c Mon Sep 17 00:00:00 2001 From: Mir Bhatia Date: Mon, 19 Jun 2023 15:30:42 +0200 Subject: [PATCH 003/180] [#48538] Add iCalendar sub-level https://community.openproject.org/work_packages/48538 From 785e252f29c2967be0aff6f40b41b9862b8ba195 Mon Sep 17 00:00:00 2001 From: Mir Bhatia Date: Tue, 20 Jun 2023 18:16:33 +0200 Subject: [PATCH 004/180] Add iCalendar text and reorder labels --- config/locales/en.yml | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index c47e4cabedf9..de3e2c977352 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1735,6 +1735,7 @@ en: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2627,7 +2628,7 @@ en: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2692,11 +2693,6 @@ en: setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files. @@ -2705,9 +2701,7 @@ en:
Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + brute_force_prevention: "Automated user blocking" display: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, @@ -2715,13 +2709,7 @@ en: first_week_of_year_text: > Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" + general: "General" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2729,9 +2717,28 @@ en: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text: > + Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + note_text: > + Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" + text_formatting: markdown: 'Markdown' plain: 'Plain text' From 121dfd5ba0446d93a238e9d1c3430cc562fc367c Mon Sep 17 00:00:00 2001 From: Mir Bhatia Date: Tue, 20 Jun 2023 18:21:20 +0200 Subject: [PATCH 005/180] Add iCalendar sub-level --- .../date_format_settings_controller.rb | 4 -- .../settings/icalendar_settings_controller.rb | 37 ++++++++++++++ .../working_days_settings_controller.rb | 4 -- .../settings/general_settings/show.html.erb | 1 - .../settings/icalendar_settings/show.html.erb | 50 +++++++++++++++++++ config/initializers/menus.rb | 6 +++ config/routes.rb | 1 + 7 files changed, 94 insertions(+), 9 deletions(-) create mode 100644 app/controllers/admin/settings/icalendar_settings_controller.rb create mode 100644 app/views/admin/settings/icalendar_settings/show.html.erb diff --git a/app/controllers/admin/settings/date_format_settings_controller.rb b/app/controllers/admin/settings/date_format_settings_controller.rb index f0ce87853d2c..a2b400b99563 100644 --- a/app/controllers/admin/settings/date_format_settings_controller.rb +++ b/app/controllers/admin/settings/date_format_settings_controller.rb @@ -40,10 +40,6 @@ def default_breadcrumb t(:label_date_format) end - def show_local_breadcrumb - true - end - private def validate_start_of_week_and_first_week_of_year_combination diff --git a/app/controllers/admin/settings/icalendar_settings_controller.rb b/app/controllers/admin/settings/icalendar_settings_controller.rb new file mode 100644 index 000000000000..843295ae1d15 --- /dev/null +++ b/app/controllers/admin/settings/icalendar_settings_controller.rb @@ -0,0 +1,37 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2023 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 Admin::Settings + class IcalendarSettingsController < ::Admin::SettingsController + menu_item :icalendar + + def default_breadcrumb + t(:label_icalendar) + end + end +end diff --git a/app/controllers/admin/settings/working_days_settings_controller.rb b/app/controllers/admin/settings/working_days_settings_controller.rb index 43284f31b50f..e3f63a9519f9 100644 --- a/app/controllers/admin/settings/working_days_settings_controller.rb +++ b/app/controllers/admin/settings/working_days_settings_controller.rb @@ -34,10 +34,6 @@ def default_breadcrumb t(:label_working_days) end - def show_local_breadcrumb - true - end - def failure_callback(call) @modified_non_working_days = modified_non_working_days_for(call.result) flash[:error] = call.message || I18n.t(:notice_internal_server_error) diff --git a/app/views/admin/settings/general_settings/show.html.erb b/app/views/admin/settings/general_settings/show.html.erb index ad7182b180a0..6569e5923805 100644 --- a/app/views/admin/settings/general_settings/show.html.erb +++ b/app/views/admin/settings/general_settings/show.html.erb @@ -49,7 +49,6 @@ See COPYRIGHT and LICENSE files for more details.
<%= setting_check_box :cache_formatted_text %>
<%= setting_check_box :feeds_enabled, size: 6 %>
-
<%= setting_check_box :ical_enabled, size: 6 %>
<%= setting_text_field :feeds_limit, size: 6, container_class: '-xslim' %>
<%= setting_text_field :work_packages_projects_export_limit, size: 6, container_class: '-xslim' %>
diff --git a/app/views/admin/settings/icalendar_settings/show.html.erb b/app/views/admin/settings/icalendar_settings/show.html.erb new file mode 100644 index 000000000000..e78981480ae8 --- /dev/null +++ b/app/views/admin/settings/icalendar_settings/show.html.erb @@ -0,0 +1,50 @@ +<%# -- copyright +OpenProject is an open source project management software. +Copyright (C) 2012-2023 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. + +++#%> + +<%= toolbar title: t(:label_icalendar) %> + +<%= styled_form_tag( + admin_settings_icalendar_path, + method: :patch, + class: 'op-icalendar-admin-settings' + ) do %> + +
+
+ <%= setting_check_box :ical_enabled, size: 6 %> + + <%= t('settings.icalendar.enable_subscriptions_text') %> +
+ <%# <%= static_link_to :display_settings_documentation, label: t('settings.icalendar.note_text') %> +
+
+
+ + <%= styled_button_tag t(:button_save), class: '-highlight -with-icon icon-checkmark' %> +<% end %> diff --git a/config/initializers/menus.rb b/config/initializers/menus.rb index 48829f171003..5f14da204f9e 100644 --- a/config/initializers/menus.rb +++ b/config/initializers/menus.rb @@ -301,6 +301,12 @@ caption: :label_date_format, parent: :calendars_and_dates + menu.push :icalendar, + { controller: '/admin/settings/icalendar_settings', action: :show }, + if: Proc.new { User.current.admin? }, + caption: :label_icalendar, + parent: :calendars_and_dates + menu.push :settings, { controller: '/admin/settings/general_settings', action: :show }, if: Proc.new { User.current.admin? }, diff --git a/config/routes.rb b/config/routes.rb index bc117107683d..52c7ecde213c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -403,6 +403,7 @@ resource :working_days, controller: '/admin/settings/working_days_settings', only: %i[show update] resource :users, controller: '/admin/settings/users_settings', only: %i[show update] resource :date_format, controller: '/admin/settings/date_format_settings', only: %i[show update] + resource :icalendar, controller: '/admin/settings/icalendar_settings', only: %i[show update] # Redirect /settings to general settings get '/', to: redirect('/admin/settings/general') From 3f0926ea1c688a5fa6b2a981040aa88f42222174 Mon Sep 17 00:00:00 2001 From: Mir Bhatia Date: Fri, 23 Jun 2023 14:53:04 +0200 Subject: [PATCH 006/180] Update field instruction links for cal settings --- .../settings/date_format_settings_controller.rb | 2 +- .../settings/date_format_settings/show.html.erb | 8 +++----- .../settings/icalendar_settings/show.html.erb | 8 +++----- config/locales/en.yml | 15 ++++++--------- lib/open_project/static/links.rb | 7 ++++++- .../date_format_settings_controller_spec.rb | 2 +- 6 files changed, 20 insertions(+), 22 deletions(-) diff --git a/app/controllers/admin/settings/date_format_settings_controller.rb b/app/controllers/admin/settings/date_format_settings_controller.rb index a2b400b99563..37de469133d6 100644 --- a/app/controllers/admin/settings/date_format_settings_controller.rb +++ b/app/controllers/admin/settings/date_format_settings_controller.rb @@ -48,7 +48,7 @@ def validate_start_of_week_and_first_week_of_year_combination if start_of_week.present? ^ start_of_year.present? flash[:error] = I18n.t( - 'settings.display.first_date_of_week_and_year_set', + 'settings.date_format.first_date_of_week_and_year_set', first_week_setting_name: I18n.t(:setting_first_week_of_year), day_of_week_setting_name: I18n.t(:setting_start_of_week) ) diff --git a/app/views/admin/settings/date_format_settings/show.html.erb b/app/views/admin/settings/date_format_settings/show.html.erb index 1452e32ffa36..eeecbc915693 100644 --- a/app/views/admin/settings/date_format_settings/show.html.erb +++ b/app/views/admin/settings/date_format_settings/show.html.erb @@ -57,11 +57,9 @@ See COPYRIGHT and LICENSE files for more details.
<%= setting_select :first_week_of_year, [[day_name(1),'1'], [day_name(4),'4']], blank: :label_language_based, container_class: '-wide' %> - - <%= t('settings.display.first_week_of_year_text') %> -
- <%= static_link_to :display_settings_documentation, label: t('documentation.see_more_link') %> -
+
+

<%= t('settings.date_format.first_week_of_year_text_html', link: OpenProject::Static::Links[:date_format_settings_documentation][:href]) %>

+
diff --git a/app/views/admin/settings/icalendar_settings/show.html.erb b/app/views/admin/settings/icalendar_settings/show.html.erb index e78981480ae8..156775e2393c 100644 --- a/app/views/admin/settings/icalendar_settings/show.html.erb +++ b/app/views/admin/settings/icalendar_settings/show.html.erb @@ -38,11 +38,9 @@ See COPYRIGHT and LICENSE files for more details.
<%= setting_check_box :ical_enabled, size: 6 %> - - <%= t('settings.icalendar.enable_subscriptions_text') %> -
- <%# <%= static_link_to :display_settings_documentation, label: t('settings.icalendar.note_text') %> -
+
+

<%= t('settings.icalendar.enable_subscriptions_text_html', link: OpenProject::Static::Links[:ical_docs][:href]) %>

+
diff --git a/config/locales/en.yml b/config/locales/en.yml index de3e2c977352..d21cc8b524c2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -223,9 +223,6 @@ en: concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. - global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -2702,13 +2699,14 @@ en: Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). brute_force_prevention: "Automated user blocking" - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > + first_week_of_year_text_html: > Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + For more information, please see our documentation on this topic. general: "General" highlighting: mode_long: @@ -2718,10 +2716,9 @@ en: type: "Entire row by Type" priority: "Entire row by Priority" icalendar: - enable_subscriptions_text: > - Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. - note_text: > - Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + # below line needs to be appended above after docs are ready + # Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. notifications: events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." diff --git a/lib/open_project/static/links.rb b/lib/open_project/static/links.rb index 99d22b9f3158..3ca675d303eb 100644 --- a/lib/open_project/static/links.rb +++ b/lib/open_project/static/links.rb @@ -214,7 +214,8 @@ def static_links security_badge_documentation: { href: 'https://www.openproject.org/docs/system-admin-guide/information/#security-badge' }, - display_settings_documentation: { + date_format_settings_documentation: { + # href needs to be changed once docs are changed to reflect new settings placemenets and grouping href: 'https://www.openproject.org/docs/system-admin-guide/system-settings/display-settings/' }, chargebee: { @@ -256,6 +257,10 @@ def static_links setup: { href: 'https://www.openproject.org/docs/system-admin-guide/integrations/nextcloud/' } + }, + ical_docs: { + # href needs to be added in once there are docs for this + href: '' } } end diff --git a/spec/controllers/admin/settings/date_format_settings_controller_spec.rb b/spec/controllers/admin/settings/date_format_settings_controller_spec.rb index f8b6856c5122..a5705c6571eb 100644 --- a/spec/controllers/admin/settings/date_format_settings_controller_spec.rb +++ b/spec/controllers/admin/settings/date_format_settings_controller_spec.rb @@ -58,7 +58,7 @@ expect(response).to redirect_to action: :show expect(flash[:error]) - .to eq(I18n.t('settings.display.first_date_of_week_and_year_set', + .to eq(I18n.t('settings.date_format.first_date_of_week_and_year_set', first_week_setting_name: I18n.t(:setting_first_week_of_year), day_of_week_setting_name: I18n.t(:setting_start_of_week))) end From 74dc618781f2ed78ec33ad4f106f6db5dc66d142 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 3 Jul 2023 12:19:30 +0200 Subject: [PATCH 007/180] [#48652] add date and time to file name of pdf export https://community.openproject.org/work_packages/48652 --- .../pdf_export/work_package_list_to_pdf.rb | 15 +++++++++++++-- spec/controllers/work_packages_controller_spec.rb | 4 +++- 2 files changed, 16 insertions(+), 3 deletions(-) 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 7bea458e13f5..c8df867bac42 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 @@ -224,8 +224,19 @@ def project end def title - # export filename expects to be "project.name - query.name" - "#{project ? "#{project} - #{heading}" : heading}.pdf" + # export filename expects to be [project.name, query.name, date YY-MM-DD, time HH-MM] + "#{project ? "#{project}_#{heading}" : heading}_#{title_datetime}.pdf" + end + + def title_datetime + time = Time.zone.now + zone = User.current.time_zone + local_time = if zone + time.in_time_zone(zone) + else + time.utc? ? time.localtime : time + end + local_time.strftime('%Y-%m-%d_%H-%M') end def heading diff --git a/spec/controllers/work_packages_controller_spec.rb b/spec/controllers/work_packages_controller_spec.rb index b482f7994e9a..e37898e4626d 100644 --- a/spec/controllers/work_packages_controller_spec.rb +++ b/spec/controllers/work_packages_controller_spec.rb @@ -288,7 +288,9 @@ def self.requires_export_permission(&) requires_permission_in_project do it 'respond with a pdf' do pdf_data = 'foobar' - expected_name = "#{stub_work_package.project.identifier}-#{stub_work_package.id}.pdf" + time = Time.zone.local(2023, 6, 30, 23, 59) + allow(Time).to receive(:now).and_return(time) + expected_name = "#{stub_work_package.project.identifier}_#{stub_work_package.id}_2023-06-30_23-59.pdf" expected_type = 'application/pdf' pdf_result = double('pdf_result', error?: false, From ec22daf47679f88714c366bb49c22a0a05e25d3f Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 3 Jul 2023 12:58:34 +0200 Subject: [PATCH 008/180] [#48652] add date and time to file name of pdf export https://community.openproject.org/work_packages/48652 --- .../work_package/pdf_export/work_package_list_to_pdf.rb | 9 +-------- spec/controllers/work_packages_controller_spec.rb | 4 ++-- .../work_packages/exports/export_job_integration_spec.rb | 5 ++++- 3 files changed, 7 insertions(+), 11 deletions(-) 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 c8df867bac42..db3bbd3532f5 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 @@ -229,14 +229,7 @@ def title end def title_datetime - time = Time.zone.now - zone = User.current.time_zone - local_time = if zone - time.in_time_zone(zone) - else - time.utc? ? time.localtime : time - end - local_time.strftime('%Y-%m-%d_%H-%M') + DateTime.now.strftime('%Y-%m-%d_%H-%M') end def heading diff --git a/spec/controllers/work_packages_controller_spec.rb b/spec/controllers/work_packages_controller_spec.rb index e37898e4626d..38b034f73e4d 100644 --- a/spec/controllers/work_packages_controller_spec.rb +++ b/spec/controllers/work_packages_controller_spec.rb @@ -288,8 +288,8 @@ def self.requires_export_permission(&) requires_permission_in_project do it 'respond with a pdf' do pdf_data = 'foobar' - time = Time.zone.local(2023, 6, 30, 23, 59) - allow(Time).to receive(:now).and_return(time) + time = DateTime.new(2023, 6, 30, 23, 59) + allow(DateTime).to receive(:now).and_return(time) expected_name = "#{stub_work_package.project.identifier}_#{stub_work_package.id}_2023-06-30_23-59.pdf" expected_type = 'application/pdf' pdf_result = double('pdf_result', diff --git a/spec/workers/work_packages/exports/export_job_integration_spec.rb b/spec/workers/work_packages/exports/export_job_integration_spec.rb index 54f04690d691..72eb69cbe993 100644 --- a/spec/workers/work_packages/exports/export_job_integration_spec.rb +++ b/spec/workers/work_packages/exports/export_job_integration_spec.rb @@ -67,12 +67,15 @@ let(:project) { create(:project, name: 'Foo Bla. Report No. 4/2021 with/for Case 42') } it 'exports the job correctly, renaming the result' do + time = DateTime.new(2023, 6, 30, 23, 59) + allow(DateTime).to receive(:now).and_return(time) + expect { performed_job }.not_to raise_error expect(job_status.status).to eq 'success' attachment = export.attachments.last - expect(attachment.filename).to eq "Foo_Bla._Report_No._4-2021_with-for_Case_42_-_Query_report_04-2021_äöü.pdf" + expect(attachment.filename).to eq "Foo_Bla._Report_No._4-2021_with-for_Case_42_Query_report_04-2021_äöü_2023-06-30_23-59.pdf" end end end From 20299d8235fdcfd0df1351568db46dba22b3bc53 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 3 Jul 2023 13:09:51 +0200 Subject: [PATCH 009/180] fix(rubocop): obey linting --- .../work_packages/exports/export_job_integration_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/workers/work_packages/exports/export_job_integration_spec.rb b/spec/workers/work_packages/exports/export_job_integration_spec.rb index 72eb69cbe993..532b33e28a6e 100644 --- a/spec/workers/work_packages/exports/export_job_integration_spec.rb +++ b/spec/workers/work_packages/exports/export_job_integration_spec.rb @@ -75,7 +75,8 @@ expect(job_status.status).to eq 'success' attachment = export.attachments.last - expect(attachment.filename).to eq "Foo_Bla._Report_No._4-2021_with-for_Case_42_Query_report_04-2021_äöü_2023-06-30_23-59.pdf" + expected = "Foo_Bla._Report_No._4-2021_with-for_Case_42_Query_report_04-2021_äöü_2023-06-30_23-59.pdf" + expect(attachment.filename).to eq expected end end end From cf88fcdac3e124c0b578cb43fe0473081092cf01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 3 Jul 2023 21:09:22 +0200 Subject: [PATCH 010/180] Apply rate limiting on lost password form --- config/initializers/rack-attack.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/config/initializers/rack-attack.rb b/config/initializers/rack-attack.rb index 62b3c82be22c..60ac8e57deb3 100644 --- a/config/initializers/rack-attack.rb +++ b/config/initializers/rack-attack.rb @@ -38,3 +38,23 @@ [404, {}, ['Not found']] end end + +Rack::Attack.throttled_responder = lambda do |request| + match_data = request.env['rack.attack.match_data'] + now = match_data[:epoch_time] + retry_after = match_data[:period] - (now % match_data[:period]) + + headers = { + 'RateLimit-Limit' => match_data[:limit].to_s, + 'RateLimit-Remaining' => '0', + 'RateLimit-Reset' => (now + (match_data[:period] - (now % match_data[:period]))).to_s + } + + [429, headers, ["Your request has been throttled. Try again in #{retry_after.seconds.from_now}.\n"]] +end + +Rack::Attack.throttle("limit-lost-password", limit: 3, period: 1.hour.to_i) do |req| + if req.post? && req.path.end_with?('/account/lost_password') + req.env.dig "rack.request.form_hash", "mail" + end +end From 6aba7c04f4c868e01b5f9d6e8680f8043df862a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Tue, 4 Jul 2023 14:44:17 +0200 Subject: [PATCH 011/180] Update rack-attack.rb --- config/initializers/rack-attack.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/rack-attack.rb b/config/initializers/rack-attack.rb index 60ac8e57deb3..8fcc7f910dc5 100644 --- a/config/initializers/rack-attack.rb +++ b/config/initializers/rack-attack.rb @@ -50,7 +50,7 @@ 'RateLimit-Reset' => (now + (match_data[:period] - (now % match_data[:period]))).to_s } - [429, headers, ["Your request has been throttled. Try again in #{retry_after.seconds.from_now}.\n"]] + [429, headers, ["Your request has been throttled. Try again at #{retry_after.seconds.from_now}.\n"]] end Rack::Attack.throttle("limit-lost-password", limit: 3, period: 1.hour.to_i) do |req| From 4ac46e560d388978533d76a56ae081603a5d30fa Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Wed, 5 Jul 2023 13:38:00 +0200 Subject: [PATCH 012/180] [#48862] Add PDF Export of work plans to our documentation https://community.openproject.org/work_packages/48862 --- .../work-packages/exporting/README.md | 66 +++++++++++------- .../exporting/openproject_export_atom.png | Bin 0 -> 70267 bytes .../exporting/openproject_export_csv.png | Bin 0 -> 99634 bytes .../exporting/openproject_export_excel.png | Bin 0 -> 112354 bytes .../exporting/openproject_export_wp.png | Bin 0 -> 161485 bytes .../exporting/openproject_pdf_report.png | Bin 0 -> 155862 bytes .../openproject_pdf_report_images.png | Bin 0 -> 364950 bytes .../openproject_pdf_table_export.png | Bin 0 -> 99112 bytes ...enproject_pdf_table_export_description.png | Bin 0 -> 76137 bytes ...openproject_pdf_table_export_relations.png | Bin 0 -> 226470 bytes .../openproject_wp_export_options.png | Bin 0 -> 46606 bytes .../openproject_wp_report_total_sum.png | Bin 0 -> 33588 bytes .../openproject_wp_table_total_sum.png | Bin 0 -> 129762 bytes 13 files changed, 41 insertions(+), 25 deletions(-) create mode 100644 docs/user-guide/work-packages/exporting/openproject_export_atom.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_export_csv.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_export_excel.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_export_wp.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_pdf_report.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_pdf_report_images.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_pdf_table_export.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_pdf_table_export_description.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_pdf_table_export_relations.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_wp_export_options.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_wp_report_total_sum.png create mode 100644 docs/user-guide/work-packages/exporting/openproject_wp_table_total_sum.png diff --git a/docs/user-guide/work-packages/exporting/README.md b/docs/user-guide/work-packages/exporting/README.md index 3b0e04f84a0d..7ca0082a1975 100644 --- a/docs/user-guide/work-packages/exporting/README.md +++ b/docs/user-guide/work-packages/exporting/README.md @@ -14,70 +14,86 @@ You can export work packages from your OpenProject instance to other formats usi ## How to trigger an export -To export a work package list or card view to another format, visit the *Work packages* module or a saved view and click on the settings icon in the top right. Trigger the **Export** dialog from the dropdown menu that opens. +To export a work package list or card view to another format, visit the *Work packages* module or a saved view and click on the settings icon in the top right corner. Trigger the **Export** dialog from the dropdown menu that opens. -![Exporting from the table](export-gantt-chart.png) +![Exporting from the table](openproject_export_wp.png) -This will open a dialog similar to the following screenshot, where you can select the desired format. Below, we will detail how to control the data being exported as well as the various formats. +This will open a dialog where you can select the desired format. Below, we will detail how to adjust which data should be exported as well as what the various formats contain. -![The export dialog](dialog.png) +![The export dialog](openproject_wp_export_options.png) -## Changing what will be exported +## Export contents -From the work packages module, all work packages that are included in the filter list will be exported. Up to a total of 500 work packages can be exported at once. +All work packages that are included in the work package table in the currently selected view will be exported, unless a certain export limit has been defined by the instance administrator. The limit can be changed in the [work package settings](../../../system-admin-guide/system-settings/general-settings/#general-system-settings) in the system administration. -> **Note**: If you need to export more than 500 items, filter the work packages appropriately to export multiple files. +> **Note**: PDF export options includes all of the work packages in the selected work package table, regardless of the limit. The possible export limit is relevant for XLS, CSV and Atom export options. -For self-hosted versions of OpenProject you can change this limit in the [work package settings](../../../system-admin-guide/manage-work-packages/work-package-settings/) in the system administration. +**Columns** +The exported file will display the columns that are activated for the work package table. By adding or removing specific columns you can control the columns that will be included into the exported file. Please make sure to [save](../work-package-table-configuration/#save-work-package-views) the work package view you configured for the changes to be included into the report. -**Columns** +Some formats such as PDF will limit the number of columns available due to limitations of the PDF rendering engine to avoid overflowing the available space. -The exported file will display the columns that you activated for the work package table. With it, you can control the columns that will be contained in various formats. Please make sure to [save](../work-package-table-configuration/#save-work-package-views) the view you configured, as saving is a necessary precondition to keep the selected columns in the export. -Some formats such as PDF will limit the number of columns available due to limitations of the PDF rendering engine to avoid overflowing the available space. +## Export format options +### PDF export +OpenProject has multiple options of exporting work packages in PDF format: -## PDF export +- **PDF Table** exports the work package table displaying work packages as single rows. -OpenProject has multiple options of exporting the results to PDF: +![OpenProject PDF Table export](openproject_pdf_table_export.png) +- **PDF Report** includes a table of contents (listing all of the work packages), followed by the description of single work packages in a block form. For each work package a table of attributes is included (attributes correspond to the columns in the work package table). + ![OpenProject_pdf_report_export](openproject_pdf_report.png) + > **Note**: If "display sums" is activated in the work package table, then the sum table is included between table of contents and work packages description in an Overview section. -- **PDF** export of the work package list as rows. -- **PDF with descriptions** same as above with work package descriptions output. Note that this does not include a fully rendered markdown description, but a stripped version of it due to technical limitations of the PDF rendering engine. -- **PDF with attachments** of work packages with their attachments inlined to fit as best as possible. -- **PDF with descriptions and attachments** The above options combined to create a PDF export with work package descriptions and their attachments. +![OpenProject_work_package_table_sum](openproject_wp_table_total_sum.png) +![OpenProject_pdf_report_sum](openproject_wp_report_total_sum.png) +- **PDF Report with images** is the same as PDF Report, but also includes the images from the work package description. -## Excel (XLS) export + > **Note**: images from the work package comments section are not included into exported report. -OpenProject can export the table for Microsoft Excel with the following options: + ![OpenProject_work_package_export](openproject_pdf_report_images.png) -- **XLS** a plain sheet that matches the OpenProject work packages table with its columns and work packages as rows matching the selected filter(s). -- **XLS with descriptions** same as above, but with an additional column for work package descriptions, which cannot be selected in the table. -- **XLS with relations** Same as XLS, but with additional columns to list each work package relation in a separate row with the relation target and its ID and relation type included in the export. + +### Excel (XLS) export > **Note**: To open XLS exported files into Microsoft Excel, ensure you set the encoding to UTF-8. Excel will not auto-detect the encoding or ask you to specify it, but simply open with a wrong encoding under Microsoft Windows. +OpenProject can export the table for Microsoft Excel with the following options: +- **XLS** is a plain sheet that matches the OpenProject work packages table with its columns and work packages as rows matching the selected filter(s). -## CSV export +![OpenProject_work_package_export_excel](openproject_export_excel.png) -OpenProject can export the table into a comma-separated CSV. This file will be UTF-8 encoded. +- **XLS with descriptions** same as above, but with an additional column for work package descriptions, which cannot be selected in the table. + +![OpenProject_work_package_export_excel_description](openproject_pdf_table_export_description.png) + +- **XLS with relations** same as **XLS**, but with additional columns to list each work package relation in a separate row with the relation target and its ID and relation type included in the export. +![OpenProject_work_package_export_excel_relations](openproject_pdf_table_export_relations.png) +### CSV export + +OpenProject can export the table into a comma-separated CSV. This file will be UTF-8 encoded. > **Note**: To open CSV exported files into Microsoft Excel, ensure you set the encoding to UTF-8. Excel will not auto-detect the encoding or ask you to specify it, but simply open with a wrong encoding under Microsoft Windows. +![OpenProject_work_package_export_csv](openproject_export_csv.png) -## Atom (XML) export +### Atom (XML) export OpenProject can export the table into a XML-based atom format. This file will be UTF-8 encoded. + +![OpenProject_work_package_export_atom](openproject_export_atom.png) diff --git a/docs/user-guide/work-packages/exporting/openproject_export_atom.png b/docs/user-guide/work-packages/exporting/openproject_export_atom.png new file mode 100644 index 0000000000000000000000000000000000000000..79f242781b2382cb82efbb38b64c6ad8a5ac265d GIT binary patch literal 70267 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 z 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 Wz2L?om4WY^($_Z8s?zxT+5Z677h*O5 literal 0 HcmV?d00001 diff --git a/docs/user-guide/work-packages/exporting/openproject_export_csv.png b/docs/user-guide/work-packages/exporting/openproject_export_csv.png new file mode 100644 index 0000000000000000000000000000000000000000..cb4eab1378e0f2f1fa605d3bc530fe565208af0c GIT binary patch literal 99634 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%0Az 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%0D(#=%VL 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�=Zn5PF2+R+*T(l=T|2V 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

s6-`iD?YkPs&BE|e1`5c5A=`hHa zZd3!FfG)%Bc>x{YGVOpC3=gt^wFqv|%dXsVFBdNy^g|07D}Qw-TNsS$Wh<+-!-}VH zp}^e8JWX>z#;b24bzS^eCTcM)b@t4U7o0VafdI<6{>&F~Zw^I`XVm^%qn zlFXPQR`FH&)K`xX(V?km*}$-cmo$H

sr{VF&tc2-_Wf^EOmKV>U7b@A)CQJ-e|) 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

  • +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 literal 0 HcmV?d00001 diff --git a/docs/user-guide/work-packages/exporting/openproject_pdf_report.png b/docs/user-guide/work-packages/exporting/openproject_pdf_report.png new file mode 100644 index 0000000000000000000000000000000000000000..961aa9095d132fc76acab4fb47fbcb017610b420 GIT binary patch literal 155862 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


    +Sj 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 ZyA%pXt#lU=|9>PBZ4CqUs=Kz&{}+gs{onuq literal 0 HcmV?d00001 diff --git a/docs/user-guide/work-packages/exporting/openproject_pdf_report_images.png b/docs/user-guide/work-packages/exporting/openproject_pdf_report_images.png new file mode 100644 index 0000000000000000000000000000000000000000..c945f36a3a38d2e9a411c313e03e494acd22ce41 GIT binary patch literal 364950 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≶%9^%muzDp5~E+63*Fwu+|`^F@=SJkvY<@`VRYsfX?YE@;45WCG?IsP ztcpzNaw#sH`U&h^)<5+lW$*ib^vv8#z-BY?fbvX^by{);8uH@LcOC(t@DFT;MYL`j zExUj~@g*M{A0MCP9O~4o#TtZQ_?3u+1d_d;J)3?;FQ_M;I0|W=OTY(IBhG0KnyYkD^Z%6DCYl|A)-B=Jj+E@k$Qr`2Lv9cy7UvtL0 zw1nF%aF(d^OeVTPKyu$Qgcg4!>w&g3sswo^eMZC3Kf01(tPZT0JmV~KO@tsV^fd>Y zA1fBg>|)&OTZ)f!&**nnGju+^kp;nkY8;VNMyT2puPb8Rw>NZHvY7REMDu7R7SPnS z9}udb14Joz9Ra{mGT#Mk(hLo}k1agQLAP zPnzsEdtu@}Yq9S~iHFJlbe`w`U=P|y^Rc4^snAEEMyILQeJJ}r>kFp>^hcJgqOVK7M`R-?PhE>=U$K%RR@aw2ORD(2}& z(lo)l!GF5|iJ>u_j*z-7Y07`Bzq<(LfhkQ}m=+9vys_vofQMm|2e%Ja;rQF71b48_ z+_?smmS}vDg@zH?0oOBbA&JyXhMAnU70kJ*A34`zzTefB5AQ3+%&>mM;2@K!vM%Yo zpi}&lJQ?RU_}eS`D_IJmH%7!z2&I;E{btYK03g7eANrOZwksDpM@~Ea2Ze{3g~NH zCq9TKj7I6hgrX964`nk3h$R><8;ADummO)ns^y*&psp8MktOBtsuSzwru`jL#(fH) zqCd%jOkhgwzXH)RiOL8IGjo-IA3PQomUK0W0rd%ruGu#@>}L>g^+Yf{@t>Js84x_L zBFKYC(98_Kh8nL3Dhv>V2IW=xg3CFi&JVFW8iE+f?TONpPR5)ou`y+Z4K>ngemllsH!0ifKJzC*GDeZeCVknH z>9C4uGy-Jv5k4$S%#&Hasd#?-I(s*V&$hb;F3!$Ko+2dle5r;YSVJdN*lb5LOBCjb z9i?fPKZRNkNeN(aqsSfq9wBpz;T9p70L3K7*oUdc*=r4NZ`w573t&40V$*!N3iU9er|L4SO98T@7p9 zlg+}{>Y+>^B!FaG6p^zo4=63p6KY z!{r-#+ANq>{BcG;F{frE?1R{U_dLKNQuY!2cdQlA#3+^p8?v!P^mZ3SR53k`=pug8 zqvoE=1M7A7J^5lin&V1VxhC*wo0BK7?8sL78|P{#A4SIRpe*+WF8)!3dpjN$b7aR z-9ULc@c?UO5R|A3FGEF<$5gB-v?qWoBm%+CBFO_v*hPksda5kMUQPE=?TtZ{5laL7 zK%Z2Qj4p~7i?9g5KC=4qMvx!?m)of6X&K1lQ6O2d=1_tf=TqhQwt$!)?_MNNfRrdSQ|D9 zHUET^Ax9YWRDmyvhD0Id>3n`h4*^{D%UypcI7cYpt+ETq0zXo=6RRU!%i>Cqe7RIG z`|oT8X!D64c|jx&jvy*06@>aqR*8vuzA6We$gk`6L9UB3Na~_A$YCqAKyHj+Q!?r3 z%VH3sRlRckPD7fne|dQcdioB0hyFAnH;1W}N7@!XE;Am=xB!#^o+9s2NJDEE7J2nV zLe6SK9t+J(%B(0-jq1NMk3S)`LNxDx_v=8A!xBgf?Eo3Z>b?s7?8GRj8cBtLRpR>q z&;5T1eGpeu+q1`VtlN7w>8aN3@HCZMJ_7AtT#Py2X`hU~f+hAc9YsW0hND0-LIrwf zs(1hf$zaHl87I<0^^+s|1$y^p0qV>}jz$c+hj53Wg&6Y6hZl#b!PX%c%K0OG9`<29 ze>a>!fAi_wEG)p~i&1m+hH<>jg1N6hL*sH?m7|M^!NB1zhnPmoz~kjULCL4FTlS}n z`2M5>+o%F$G}96Hnh?4yJyYlxD3py`=;|!)RYG7eWj*&WR+jY1Q8dbxyR&TXk_YDS z4(u^-wRN5BwRIHqccZ0^^Y50YKl(0y4;2*R1s|leq1`?Lq6WXLZC_l5Y3wKy#NcQ< z%DVW`C7>9{RZA$K__aeq8L+$PX@i?6oC!=-E}{$OTD>`Mt##`q_p(SxbUNGb!e6jF zIEce<7DDoT@pljI?(k;<$$j3|ly{}^3vT#)ntyoDcJy(W9JnoYYr4cq7{A`rz`=s< zaAtOhy?v;T7ZB_G74tlte!@SXj|}`bcjd3Eq*>^CO}`byGp#M*zd3OZ{-~I<Vd*%+^LG zk^@L?kgA+wsYN0q@_&%nIe!vHAb4R)0BHUtYtp~Uuiy7^_G`5Yz@HlO!0c0W( z`VVSKz+rfJIJ~R!$%n*>y1G0$3u?10JzeE`st2-P*CM&l^>kzYF76$|7U+-f{J{@< z8yNz}%!l(*b_lQIR2Ob-77Nt0nucCBJkU_bS6Lno%e*6?WW}J$DF~X~ZUF|CAS0S$ z7VLe<{{tiaXyzmRqc8)C<8YRzZrd8Ku10ENrWKH2c3duY;Z!=8pngfY(JBsQvNGIR zi*B2{sh|ab16LKZS=*&-XjF;#%HwA@gygV!hOT}=(5TZATJ-blC?Nmd@*mQHkJ@dW zib$FW5h6(Z)~ClH9J&z$e!wh7DOl(C#tYoU(jify8 zj#T?_T^{wYX=mYIItHIliw=8LY|}hxH=`%nhb*h-zh;>Oazx&08Oc&ecpkHso9DDN z35`y?COT7YT4hQ)Y0g!f@3XEmC%7Y0s`=_sZjR3X@)Jdy9s2;QV9qTwA@)$17F*7dat7%`Ygs``*s&IXjt% z9_?^_H-Q2)cqpikpkhiY_-COA*r(S|`vme3`FmQAf}h7T5PULki+;QPeeOu=e)atOG|;Ky&t@KS$owd$rNZ&7k55)zZCdQz+P8^u^dTBc zIgujQFKm?_!`s96aqcT^&#O!cs>RXT{7lnclf;dm>eHGr8b`HOuyRWuJ(u81;e4wT zj2nIP{=8C4r<(nAB0!sfgGAu$sqNy~DE5U`pzx7XP|A0D1M{-;8K2t6Xf{7eC$OcV>+O$lYNm-$aA?N;P#tMSJo^Ye~*kuFllqX#b7tt(xE(SVx~(enA1~%l{0*lR)kMgT6}$xIWbG{{ojCMkMLKHXs&U?7P4`)SQ^6>6zwaXpzYeSd}lv_N_hM7x2n|r^w zO*Qg$?n8Oq^=-qm=;Ec`{2{=5NidABpi9B2NjGkBVmM9;Q|T8znWNpbv)`Ew1!cy% z(mcfP%vwAC9Vbo9Fz^gZm1oz02iB5wO2@eE6Y>k5-n}yCyY`qj1@jASM2iry)5-_)2?%bT`L46^4K9|P$P=ME zf7Zi4VmLRF!wWv{JD;ItKgGm@m@T zsy(VoB~_UvGi3Kh&@&@wJWl7{>pO4EfNxbqMcMi9b3odE<){M6-%q-!k_^gDBl3N zg+ynTcQJLFJrN@9dNy>5rl*v|#^i`T`t*#a~iEKpV2p@s=La zKEccEAZ$$MIC-jAXP?0MRX*z;W?Wj9#%u^JlMI4YSpU0gNl8m-J&$<`=_)2I2*DTk zg$>y8ycU-ETnVuxj@l@{=I!Pp*S|nUCkYUR{?nKea3~XB6B)(c8=Xujv)O81@^FnX zv34$Bil^*@syGV*1dxA=JO973Av8n~W z!!&So(9|{0H#fs%N@~NsU=03U7x!-r{+G>$ZU_1I}x}W>Smx{)OxYOSq8F+iH!|R z2Lm@i95srJ4~r-3O9$}_9QqIU_Ya!o2jKyTA+aq+iYFo(owkNjl9Q8h*sL{I2)$TH%g-#rfb%(2;(X|*}scePkd*;iSwYY#U%ZQQh2IN8}OG&`T&T$nC1-g?(C^a><2rPRTVwZe z%8fj2JM1v>fQuN9n;1_wH4;fnUsFnBGo{sScQi-RWH_}GTHl}|Cyri6WK6G#Ay~Rg z-Y}E3SONU;jRZ*8CznL8R0`1B|EcBqm0wHfLIy8zi|d7!trrrwGK0TB%FkC;R)*no zyKIkS0ONflB^-_(7W$p&@rT&oF}NOi;kY7i?ej*r*i6+Nz*z4$MA#pG>qP^m4bK9n zjCh6?TU_NX#|soh!*Kbr3DM?aQd5!A47$UBLv^dbd<@l2FG!e(D&Q=Q)Jm=AqenD{ z^XaS69w9(coGA9=-2ofJVOCfm_IR+{yyYFbKaVoAac5jxurYSOT1bAqG;DTuupdtL zDvawrHjb@se=KcxIDx2!R*MVz1+V)J%Pa#q`PNrIgq}9LjlP8@rxFElIm`~B90>9+ z4e$S|jr@TV6n7V=bUYWzba-E>*IMoX%If|7{msqE8VeP2@;qRY<7XN1ks{ZrQY}vV z&4J!1awCFjSMZV1mNu``?LdJ>x6BfU?d9c;LY)k5lQXDFt*$JY+ex{s8}H4#W#Ii^ ztq^T3fAQ%K!|MPc-GYxqRZ$-z(%r6}P&wS3n*nOUPu`lO%^yyP|5^?3n2hCqWBM4f zJ?}O9Hm}aG`30~Hyw4uG8Luq5Bg*i++Y)Q7-8LIYfOY70OyP8*BPS=PrrraFOp7Uq zcJ{~7M~wm+=KIqB$Z~)7|9?`g0)MMofk-L~-+X)61k777z(*)J^x-K7o4&oYsax#@98o);?@$c5Oh8U-0>I|E1*? z`LKg1sZAGQixbzSAXY#R9%i7AWl-MR%`|c#8~3A>B3u!f**@|n|DsQnN;v&IJ|nZ$ z>A-mJm;%|5Sc>nrfodJ&oVTfUD^t-O;wsjfB7%|75=q52@C|{B^w7VBj=vKu|ByP% zUo22lySck3q+TrZm!kAM?g@rc8utZqf)6zZ8|+SQuHBk!AHH7Li)l96u5^{`f$e6} zv7jdD40apgX?$ZV}p+eVu6&exTpjX%bx?@g^h4qMa$u@^mZ(n@fQ@Nyiu6B(@Ehx=S3D5`S~{7D^8#Vpu>= ztL7aUMlti-0rgarp17Q4OAW%Xo;+H8ByBwgL-VArpyNITY2E5Bh(TfH4m6FR#1WcF z{Y+W6NHGx0EK~(uAI(<UE;M9kh#?i0GYdN1v>-Z)G7U%RD zB7xTtGwF#FJ0-`TCe)kTniMNSq43N;6UEpPHZ8D@R2BA83U2B>_5Qn_3y@Ej%Myuy zz0$EZO0%IWQKnX5rTPTz0mlKP0ptcwapgp6bQ(e z^x9l@>pj3=YGeW)DFY|XCPzev)}-6z^O$7!ys|^?7>AqPL09mZoxS~V3TK_?e3z!#K$Xv1P?C(X2=h zGj=L`t;^2h?E2fLOdjSF4$EuQA`2w9aGaRiu9b85WnSZ6&W@3UoU^vbcZF#r2qH&Z zBOh>$NiFz9Hg=-|QVB7IR?HOaM)V4Y@A70Ark%Y)Y7hH^CJl|zXnahB6|3of}v|AmNy?Y?AXP=2S!8;@T|>w`w5ZwMS(zhwM9LFK=p8 zm~a-4;~p1vWw0uW@r{pftzufoLVb1Kbw~AUMp>}0PqjL}>Nh4MTdJ=(%4r?+LtKF@ zwrpzJe?inAr&%VPWMtMxpJ(a$mz5p0xPp=JII2DFZ$d(z;|>C_V!oY!2pfsYak<@V zf8R3LedOVT*h2r{U<>d&e!%i;HNHPt6_)w|9a@eL7l)hd)-HSd*~#fPG+S*0LZMHW zpC+3H&Yj@`D%n*ENvdHV7-V1wnU~u~x2xop2wv}w0Eb>`#>~c_d`DQXosloB`Hy7y zSyU6)I}+)(?eNOGCiy{l`iZT(>#n2EXExCZW)K8SR@_pxtJ=xj)n{9dvBOfXL-d&i zgRf&JPvhp?jKZr=V0783kt`b&vlD8Sg0Z;0`wUc*VF#pP?QewNSD&>y3`h@1jM;s) zq=X%V5*K2YV=LyUCLfZ<(Z#AJWh(!xcZtT-!R8@6wuL9Y6>!jWLTdlJU z-w+aM6^ZzjVy2nGV(BZm&r5Hvgz!#fG!AYe+Q2!!qU_VYcdLd{Y6hO@gtU_1 ziSZGqa2+FHO)AFSlo8%mJ;RV&_wL%@D&3yAgfBb5vfg@%;8Q`n%5!J;&7kj5Zkk5< z+hk6s9@!yTKf+ID*X-`a(!%XZ06}s}N)nsRVxz+zaQy=>5)x9H=Yw;BA&-+2*myAU z`sN0hJBZKg!9_ws!p-g8;g48QP!OM+lS4{MTB24(MoRi4j02O!fW2>&Equ@)Nox3b zGcO+Dd20<+2Xk9x3tXY2wB}L5|CBQSK!5Ud z6Wq37hKM9Vgn5lGdeAIY)6!w?8ZdPkR({q+!-=qNU#T24gm(#2AEPdgtt&t}%OlpS zk$v^p5S>C}hdz*2CdN~oNc$PiZVV>Fj21a6#UwsOB|gOoYEl(Orf0k@9BYDsm&UjT zO85mF-M|Tq<VpUh3J&pkz0fGCh$sP_h7VFOAnMV8&+H8U)7Ntj-A{YTe_T3IWjqK# zrxpN9O)f4z0F@U_Oyg9c67|(BU><=`^37BCQ%Nj59fVsZj-YW%3*nAt_R0zm}Y@%U!NB`2f|fFNkY#FY{`mV zusfEF4VM&!ubw!-}BD)ve40#|iy^Hxw+8)h0u~ z8rd5ol*P2G=&{zLzRW2PckqOE3=^du&yqW9!UlsZvP|JinBr+IRn_}Rn!`+l@Q|%j zQ5>t`519JhuG9g1_yjorJkW8zKphjI@*KDsCh!`^vrS3DI9deJOxgJ18Ic2WxwhN0 zFY@D@;0GU9j{cTmCckb1*n_6bUn=n4tfIpe>u@Q1I!j~WXsnkDGr>u&mpKgPN{b5g z(F?#}<*DPqiW61Y4q6Q3z1A1(tlY#E`Tiyp3zHTlp)5@Yo4Fc(Oh%qEV_Mo@EnNI& zTzq*BaL+&7rhBqO-&eUWuf63*Pw|;S;|X({%uwRF`I^QZIC*Le$94HQ$9SBEboKz= zY8bAEQnE)_kx=s*^G)HALRf=q4J5BOa~OFmztBs%SY@z92zV{^K-a>#RKPO%EX>24 z?P4457VyvE*pQbh3C6^#mi0^l?T`~KO`!yb-}8PIxk1|V0wn%nNBDw64D&d8QHmtv}YO&tADJu&n~&ocIL zc9*%oy_&Ue;>1aJ#z^A!>yzA!_)2>n>Q2=2HgA}wNyar5xLPsJEQgEiHo6Gixg0F& zFd!{>q-0e05W#4XwV_r*IgAP3D1q}utQn7*x;(d0ANBI;!I}m*4WezUC`N0&ji+A> zaZ_IyPlv2pS2q7V7xIVpP-4MiEEmyX5|UP<)^f3#Jtv9PLIjR4wR5cqP@zC1s0JXZ z!^ewsMqay6oQ1;_#l{Q+dD?ypsfHG{j@`*YmMj-){^48V-Y@-2@dickd7Y^+cAL}q z#xahlvHDxD9MU=gTM50&VisG>BKwG)w&?Fw+_x^6gOkVcIvpgL{&@wpM^_wLqLT+a z$JeRudl%a}b#uB+Ls8}~!__CSbr&IpD_C+qOVOB>ZTqoQ3d&S#!|nJ|Z;IyFPov}{ zaq~!D3r^`n3DTAZ2*| zqD6qM2CL>gl!sAiUSRtq-jgG!L>OM<#zcjg1jc$Gf%j#wd`+`dvw`ka@B%R}ena&_ zbT(33sck~Vq|wc+j0j!H5_4ms2F3gfU(b)>yt>Tn;bnecE~-1r5c#xgdaFs^%ZbCY zqNY#w$+zXZCu(vs>Wa%Q{jUdoF^YCEZi+Q1G!XhRpUo6UJQ-kP=KV@y=BJU)hlCip z|4A9KU=MAveApYHe7}9)W+0t0qpG?b_#7`SY0Vo-nw5HLeV+a0Z2kQl$cLrk)r}4@h9cXW@ zZ9&v$04E=XvDq6M8a$g-$tD0qdYHoHZ1?zZKOF?%O4sZW}MtYSGr(eNUh`=46L>l#Z?a z;r$f%%GR8Yvq20cb%7i*riPQkeJUeCs4B-RGWV|CmJG@Ose%9xtr{nx{o2W_*yeeX zzAm4Blhu=Wq=(~Od_C#gPIqp{jdi1@ys}v~`fI+&d|F;9^$YW1Q;lKS*I^}Z7orwa zWy=HYB@(yk$k807BoF}SuvxE5w>Z8j=m&>LPcwR)4A}-dA%)DJ-d`yp-qKaub}KLz z;kyr{@?M@nxz@-k3aZnV9U}+O*J1Gk?CM3MuGu5< z;?fDSCxMEz@&u7zUrrMd>0LR(6pa| zmnWl-KQhQZlvC#jgkn;oTxrMr@i`1{)^s0Fq->iGGKQT^+FR0l+@ESQfGQ{Q5; zSp4l<{|*2)iTTd9x^w0piw*&mubesH37B-6d=zs1yg)TYW2B)J% zpc(=QSDb|SOcxeQSiX%&A8Ah4OG|6(QrPpnUj(6_MU@xEmPQj6CO+K`-Ej`d$J@4l zPIS!bJ#uk=;cQPMee|fppiF&0hlTtkW8dr>$&H`3yUxMV<)GdmHuN+reE#0-`ZJnYsLmaTF23Jv)H$#^Tzx>xIIYY3 z{V+k3GMhK=tWPG__$`p<>mA6Qhj%g-u9% z4fl1=%k>Tn#sZY#jv8(fb61gBXW{WneI$qG4wS(zlJowG{;1332K%Egt0m+Z*6bK{ z7gwQkVEN0Gqzb#GF*>4&1;L8g#6>-ZaWq>o+oCmeXaftqS%R_K-5a4x_yu3ukR`Wb zjgcDwZ|JwwxKE2gSU!JBhE`t5FljB8MYg!&=KB;amvw#y;p5 z>(H7)%)N>Hrq}Wc3hF~VLB=0&ca3LY$){N-76i0+P%ajHW7aT_ZVb;W>tH(BE;Xi` zJ>7yIP6lr~iJn??p;nX|-$#lq`@3Z)2r^p_!t~%m3bJ67%eGbukYP7>w!hJYA)}eO zIE)Z3JC6@Pi@Y#5aZ&p&%Ib+$>l@HA<0ThzQsf(Gxo1|miKjN>v?7_Z*}TJ5)6h}B zc|gu;!&}j?c7?gHIeyBbbQ)Ttw?$G^h`~P@q!Xwr(3JN%`08WB9iDcnmdi*i(^?z| zD@Ztt@YDv`t{vNoThJEHe6zN_p(7|Gj4}&vRD?Yj(Mbw#GoE9d$f#Vf??nJ8u@e*w zI2hu4&8_9iJ87_KaZhZum}8zOJXvSlo)RFQ2HN~IXAJJ(pn&M6&wN?tnhkc((8Z*s zrNzb7045&jIyfE7Ivg*5!Q*taoUcb=@9pgsPj=Xw%*n~gD2zt-9QaK0;c{QiGCF^Q zz)ukjxP~h*;|jQ)ZxJ8@CrdPd`w)Qw_8SXOm(12!OqJ<$gUk|JY}cSM7FykLj8Imb zgcYk*e@Ot&eKQ9U2kqF5qj7%C=9zh-$dz zZY{l14Rl6*4~9{gXiNzmag`ktL)4krkGu0g4?oV5+xAX>=u6eq7AXO4t?pd<^$w6D zK7*5c`x-dyFFXPYdeJ$dmBFwzXL^FsJbT!uA(9a?y6WpUBmqMUrp$KNoRDic=Rv9U zA5`XZ2U5D}+s0}8x;hkRShIsHj;l()07zS9_a)$<<%m(RGiXeyu2u^jg^m6^V?^5t zNM6H@P%F;yF2hO=hy}am-b#m{kQ@rrVA&Lb7sp8z)Uno_&inG0Dh4XeY=$U>3-osV znI+_xX+!2CCVEy!fq5JZTZPs{F`DI#FL2nTSfF}jy;TdVUv zW&XH@{Q@VT<*u+`(IR(C2f=k`LI=Bb3EV=!d+Wi62iC>8w3RyX=jq#2k$Gt){AN^D z;@;lkm`HP*#Qn`^k5^KyW90Ijn3;!OhH!o2#PRd{dD2#c0CXQ*1%Hm*=k|bqMQ|jO zG9(32&KzG3h`b9$u7aE`yKPuIRZdy8Qk~+x=@1-`QYM$4myX5!hssI5z?H!BuA-@l z(_!9XuGXqZxkSCr`X1XwUU=2lA5Z5%=ko;OtUfnnw_&JCJZ%fEx%b zYO|R}2pjmqGF?wrI{{Fo8KeK&vJQrT;l5QB=BGg=yzGa=r(|U1EfJ}aX?_}GJ*NEr_bYrw5P_vI%HbA3-@g+*K$+WQ&#L}5)Nq^%|yu%#aV%~kT8PSX5ZdMJS zAe*~C%;wA(Y2qcdtZIasr1GsQMPTr-g(wRxzAM)qm7&5i;4E^ zxst1Gi+baM;bYIaC;M>8E`Faw?6CwLzl;NHa{2qMRV#AGlxFn`!Jam}&3l_UwJ?Rx z(tAioOU+Z|N8TJMB!yKx^iowt8+h7N0hIK!SRmzoAFB3OF^xP@Qs1>hHsUZBAxm?e zRIQE}a;vTw{E)u4;x*ZQpG3PIGHjWqEv%GeP`+6l5k@f!DBGOB|FAwfC@5w7M; zU+egoPdmx88*zA1m9y|((?r>xv(;Q9ygaUP(1!ih3IMd|-+x+9Bq@^8Iy&A`<=!!x zgSFnz7QwAXWy_^jI((@))-ld(xORGwSBu-=8&pyA!GESA6m^igR#*#-CCfmD^R8O$ z#2(sU7awQ$8~gT}oaF3V?E_Y}iyfpdG91q)-?0(3Q4O$GbJUqdlhu|?o-+#wWSz_BrlZCwRvYJ3kFyt2ep)dP z4NaquhaQ`r@>W!$Emw&;{YN>!1;8qYM&PvIh%5E~~TK~Uf- zb!+fR(KDdB^sP9rlcsjJj{}aO4WGpVwDYlBR#LCsUqcP>bB`A5mOMDkMqde;j^{_l z#l_|2G5+lRzp?9s|Eoi#xPayqWL#(Q9=SWDjm~5bKdAfd<@{Gfvv}IJ z7@7$@<~Dl6qK=k&fVIRLeQ)vBf`wY&w0@?>plsG}?pkQs3(G%g85=)i;EH=&NAAKP zt+gvQ(UP0E$W@4Ysk`Z61dJ12(xu2nwq6nDI=}n+xNM?*DQq-x!kVS4)Ru1$^X7fY zn2`Wt_{-9h3NTvDRkZFw`UZu8z9;PqbaZEnx91?Fe@M2tK2#(%?loIRADNnIlz^!qvEDIQn-vo zKGO)}*%^Qy`=(%h=4Fe9anzjX4qo^IXM-5>XnM6ue;4-%Oj4Ojj{fp}C&jqfxk`m) z9!PHhoikg0^tG(3^d)|i)wXv@s=d7SA->WeEvV+k^lJ1qNvs=>OF~EV`eJTqIkG=p z=?=Q~4D0!vZBd+IGS~Y<7lpQI%qF1~rogSclVC@DcFzt2$3EbZ>#$p^3zojpL&i1@ zzO6{BZd7ZVHsOGJWTC8Z?eRa6bZi`!xc=~M6#I}2C%pV-zu%gA5kLOeJUl*+6S{5Q z{h^yA?)j%#F7uVzQvN-h^H2QJg$)&jt+NIXq9hpMs`c(y-Ur-*Y%R0gg<(!tNiCQ{ z)^8fuzQuHG*_<<3J#gqcukoA}HLP-UJd^g&GFrM&$;HBR-9H{1UJVEVgqPqE;EQVT z8@_qSXHLym@8S~;H$so$j1@mdV=5S1&3{d`(<}3<S~qNGn+zUaV<1{Y`oS{4lZyuiXa>_77p`}vn5ked>9CB8P=ZTyrax( z&viH8l+u`Tl-ECdumzaEcM|$>E3$b_2#y*8w{b0cgVws1^8&zMXXH1pVJnTt$=}X* z^{i$1LVNDlH)>}nagjXipd3u}F|KcjQ{ z)+0WtyvI`rsFT5&H9{gC~|C#arR1chvLW9dxX;OUII?mh-? z-S`Ljl6`FX2DGZ(`d(x3;kdN_BKJzp_V>Vhi@}==)BnfTdqy?6e(Ts`TDFfuMjOT}A0drAhAu0wHvyOAQc0gaDz2o&bU5z1`=($Ggus z`;(s>I+QV=d0*u>S?I&fA&`J z=zqX2HtsgM)XiB67N2&y>_KC)gScuWw3N8U)ZFOg4sE&N82D~%C-qgxWTRVrV5!Bw znzNeat~p{pxT~hcQ}rB*2YGV`xpRCkn3;~95@*qW=^n%uV(p#d&=EmLkFy6Q}^HJoG6SN6f}9d^^o!y4JMG_ zp9$0)==JYdQbaJj-01ZmMa3%v3XId#Pwz2;I%MjGba_#FVV!n(rl0?!mIhWlk1uxC z`=R8Cp)#Sx&NS2ot2E1(ao=I3tR$n6>4g3Gz6aZg6FJMYY5$;K4|=(dF9GY>|2eS! zQT97StLnc!yb{Sb1uRd75BBhkQg(D@GQXNaj@OXv7v4`I+;x|BHUvUm)j@9TyB{Z6 z_4#HTxwaJ%8dZX2BKENme-an}vgF>=f&d>`RgG7bg#PjLjr?0oaXsgr%3MhbJo7hr z<#JwZ$lGnIA?YR>xGJ*24=0-zP7C>Eoj3BTfIB3{MXrd`78#7SeOaasY+BBnRNWDo zk`HMgo*YoMlH`k<{h4omAX<*QxirqVd-_tH=%lwdHKPA)dP1kO0y~2EVYEi#?mI3% zS?EUpc*aUGsiEJHGT3rpcUau*Ywx}>e@(=GeTVwPoM*wJF#C(Th3~<*J7aLf7_z4r zNyyjtV^L0=SVHh!7_i6NwrL#(Jo|3mv1GycAVPFz>46uvfZA8oup5$co^C9b=I$S% zw|lNM^o{E`>7`eG>U@_Q`3PsVt8t=-R=pv)3pXZC5`Be8qBMrD<{BjY<9SA@qQ7W) zmr>xQjSJWm_Zbp8E+p-y?L}?e_u0@+yli~onok1pe82B)BgiR(gryU_N~dkV=Cq=v zg-VzL<1rpS^lS#LXt@h=vA=sSCVAF7{fZFnDtX;o5?NRWKju{aamuCB&ZgZH`)l-N zp{|-d?!7IH@dlUVE8WJfx6!o8?I-V$qT_N$n(2LB`I*GIhTdGd~xr;93PQ3l=7hMZB(GrbSd|a_&u9?tLZJ0gT|6l^XVO3 zI;)TEh`B)rB}`t6#r+Uonw2aocRj~(T*{$5F z&qK(oHL}rk+8QtDWBxI;c>biEcwO_pvSyg=;^#{bnC#h8@&+z4-g}glqVwgh?o0T8 zqTIvRU;ek?`scl!yLPD3EPi(`XHI=O)?~uA1AL6{+e`#@=uCo7qvRSt*>Nakb=~+y z$@`#d!`zL$PeRMp3QFFM@5i<5y1VfEa`(D%P6Y~He^!~U1`{8kX4*buH||LCY=~nx zv%ddu^=T`$W00jSxM|9Kt?pP^asn99ob-1jQ~&Ara=)xG!l%pE6UmvRQ*BQx^SYe= zmz}Vh!x-`x7vHYaVSm}Ejk6Msz#UtNd9AS#LG|H^E5!KsdzB{?ZBK+7C{Xq{7L#m5tlXj z*u!?-H)zKzHIA!QuH6Z$`jU7BY)ES8S8Jp!MBviuz}sE;Lt^9BD-v5nMMN+MRqi$e zTIi-vLU51B=VGXbae@J`rPeQ5|axRBi z@6r=WF(D$mI)kb=lO*{s(%N&!IlDzRB&TCBeG2r{9f|Z@}EJ%qY#3$*gRX?)b@|xc^K6F@$a;-g7Vqp zp#GggA@aIRun#VE4U=F#<$uuj^~c_@2c|#-S4{@F2^WFx?oBmCPca`_L%nc!1sj-U z{EeS4f2hd8$JR0(-P6E^zz9*rFSz5wOCa_3YulsA)xk^owS3JB?Q<~(>(UK04gFu! zVHOUN_>lywjdpfxX&T~=ukI36*Ff8RFty&=fa2gZ%k^Qa#Hm7>FE5&!FF&ZpG8z8C_7FfZ=QUs^SFJ0**|Qf66Loq_>Omo)B9OoYL<)%`+TAI;rGP z7C$T0vmbL_3aqt3lMwtmIfk~tSq!zzGm1|+G3Ju2s59_a&L;|w6+`W}+E)2s$>2Xj zkHJOUb7j@EAl|ILIjFk_D1!nUGG4#eYnPc+n+SQnELeAuHB$dL#niS0+H@kv?RS~T zzTo4Jo1fxIf=hzIB>Hz}V%CP2WJ%-wfc~;+ zHn;)I87)rRY|&*)nwnyEq87SPMI~aMI(<8H%F=DbtV=j)x7&IT79M>AYCaS1jCfpC$XR z$1&y1eU?Rx9=+g2?NxB>z60*tbQ=_x9%}SBXW@cvD!6Z(ZE82h31wLykZc8`r2tLpIe#_CI zhfOS0vf|~}D^d3UmTBD+Vwc8&{J~%*WKZROv{l0Mi>Y@$oPKsy|5V8N&VOD8`mk(S zJ$b?Nf47+O5CWSKQ@r1N%OlS4@fCTWca^ziaTu?wI*60@+n7i#ma(gL%^Ezc?(^jO(Ux>RKpwhL4 z!%6ZrO9ziPhty^pcM5k5MlxAa?m=#cDd{qIIm@P1>>ng<5cF5C8e-#u{X%v|Owpdi z=GmA+XpDG#xuXB9Xpq-g%9OUx1>g{G*~5@8D?6FJEqfAg?4ZY+#v!H4ZkEDsyPGD=c+gW3r0wVQ1Tiwj>!>WHrn9Ckdyj;H;j(Z@jxW;Z&sC#aZHG}uS6dDoy z_xLnK84V^u%EY zK!ouB$evaANq|dANMpOg^?aEe4 zE%Av@2!r%u==AmLm}hl-1JU7`1rENw!V!DCHLmFMK~k{s z-^-5EIB#UG4(kKuoMjw9;e0c<~%#Q5cym9&^cfsG`U$ zKgqQ+o;NwcSA(0FAzN?y4CRLI7?8cHNO}IdA~OtTBy~_wn}~3ZPOCsKprGNp)8Azx zCqxx$Z!Wfte7*TC$BzXpl=cwPEb(q+&8A7xL(iD9)gDAlRaws2|EUO%9$W`O`n^$Y zVWXOV=QrRu>U@l7^YKm}a7=CvgH)I2UAhvEhiuWylU3k_|P}xDZI2E(jngE zByTlin|Gw_%*T_daLuvr>!EQ&9?R>xvqO^gcxMUk?dnWJMOMM^ZRsOGem1s~OO)D) zIax{0{aA_FswYZIOhH|ZvMV$dwM_I1y!>yX-VM-qAR)KDY1xq^kid^LzMx@0p%`y= z9@YT$9{sygn65*D*!XJ@Qj#2nU8>`&Eb;n%G@Gx<&tyK+;dVW1ftwUph!f|MpxJkP zN{05sw;u+}*d79{1|=@t9IxGx9?V|DQ>7+%!9R7D8}XwO*T#WRnP+AG;*r(No?tD> zcMF6}zS4b*3#|6Lkikuga+wybdx1L(re4QDFcbNC0MxW;{Iy@#Hwih*)%|ty>eq5^ z`j>7%Y@16V;P%Q-j+Tw~Rmc5d_IWB+tFVW8+rTUrxDyu?;6HAlq7SvP-ZxO0Zi(!g zvcK{iAIGX`w!UUMD)e(AxH;(499I5E)Qu7sLH1l((cJ)&~uF!l_D7jv**I3m_8Hi}YDvZ^*OJusi8WYtbL7(M) zKB!3Pq89C>pgMGdZ<)KYq4Ui_C#QhxOi!Fq$V2~))`q7P4p#-qI~I|Ij4{Wu{Ev+A zKX3iE`AqZJS5(pNhH_Gd;y)N-7JEM>dcA;s@1T!VFQK**@8)u#+9N>h`M zR9#zr`W0cSy;QGJ{q^7x!DVyi-86EHanrs(SU;;Tk%zQoE2QxYdwLW;N&pdjfU`F* zt%!?mta%85NYPmE1OhC$X#S?>Q@3-|xG6XOG4`JFH833qZ zb15j%9bB6&8?2CWO#SFgfGOBc8HZhZzVRlUHwK=ym6aR~VW-veDxQ3LpK}(i1H;|! z)p^&z;8Px*yuz4#MvCwy2Z(!+Y7V!P=2wZ*w1cE^LS3nh;-C}WyXA58^GDffi!iHhHn7Mltg%`4jU$bwT=+Fr-hhof+WE zYRZk^)iJ@NuY3TB0NwhWy>YYkG0cfYo%Qmyx3A7T;u@^k>xjDiGm?hYY0hROj1)n) zKvKj^U!Q#_9ex!iRARjAk30*h$ernCFP!Wqqj?j+i}67<;fdY%$@o0si`Gr|XNGR^oR= zG5gOF&YFfv9dx^G-j_ebcnG<}v9=5I`t9r?(m{oNv9)ZP-%~i#*$2u&r!c$9_LZ9(x0b7zVE;9#KoHr z6O*mG3wv;}#!=~%=@L;hdtofJvGZynR6_o{`7$<#`YVAeuF~P>7?Qw6H|8Qs?1T$6 zPxxyfS?)+31WwRHwB6F{TupX8L?32vS;lOO)?Ov++^pYjmEuaM4e%P{7A5?bS!Ruk zpUseYP1R43amYN4rZ1DJaK)uU$b4tYAO>&{3US- z4d3V%)i$hh`hC2&9pfiF`T20I7pV=Q*YjlPy6x0m+4rNpWqA**W$bnt^#M|TPrITf z2U2&@{D(G&S=j}*#y8n?Yjy7yLggPzHi_S*@+%I(a>${>+Za)7{mH=OmvVA6Y$kxO z%;6@xb6>-k7@?=|-%Pp0eI}e72(Q&bhX$U_&~)I3`$0Jh+{k;dzRF*pl|W7?BA+K7 z>lrjsB~K&VFHcJ^bS0b%FGb&89p@XyhDm+p;$}Ae9egV_`Wc7WhR(mq53G0k-szBc zjPHc#i@fvj5gjwcw%_m@1*2Qw-s~bj3XlE9pt0`79Eh;G#_W8o51tkyo@zmC=!>L{ zb3^B@nxCZv)b27XHD~%A#Ogu8uw1<_+~9yRJiau(acLV&O;F80umI{U;)x_F#zo#T zYPYhP*L(QE%a+`<_=sJs2G+?;4co395h4)IDLK(4zy5_dY<{-H9wM^>a-dCKyX6^-r$%Q;cRXqvw`n>xJTp1udfRd0)S}o?y)5JH{KPXVR6;P$XjSZ@5n~P>! zLLGQ+l3_nq*^~vWsLflK)-0FUNVd4MVBI~o-uo12dc*zZ7|dvAxqhQtWWj$xvvgD@ z=pfWZL>vv9N9}PYe_eI`W)g4x$kBmK#iapZS2S;P)QrExU!VtOafHL_ETUc)DrK(V za{yKXOjn?5#+c9U_khTxGyDuplSoNoNAFfnJEoj_v(_P$Y)iT$${l)h9A}ZE9yy*} zf9It>h#19!h|z!TyAt4KhEGsb`Lpl3f?V|D>%&zx>bL$n{CuX6xVW%jf`XkKAMWNh ze{4D{Vp8v(6c%LUz0{wYD4=~Kcpg9!FP>Ha)A^Qz_8k%P=GcdaR{GheFCK!rLrTE? zZ;5~XMcaG&>@O2N|Y32ZMq$M*(Xl*PCo zj3$`P_#LfgC89}Lz0*)xC)`R2wxEnC8^9I?vYz!C=ElPgBE$zCm{Qc-O*{+Ry%*gO z9u`TOtD;*+8!#;-r?s_;mU+NvYzdJWT;pg6SpS|09-*1dmi&CFbOX3)Dd*9zKZLC~ zHd5-X(cztt6MS8QVTxE#>x6|Er`3ENOWf=P#ur4kwcT@mQreD&woV|U%KNK_y?6%4v+142p` zALtTY5x8bR4t=c4tm-Dmo(=od+}J(a&s$}^QzgIN2t`_&*xvUMwYAD8&%87VEkdMD zYa7QfPJdV~J)JWWV%k9N$jhiUaLeOwuHRqIQzDcto{*(XbOKW)HI1r-V13)E#bo(K zo&ycl2|qVNlu)Y^GxPhI9pcyU`ho8FjK*yp@}VA9GXZkeVtlftsH}vr`D4;WK*WxG zzcj?nz754oXr6`soi!witKU5d*K^y8rz&<&2_JP+x{37x1ggQ`LLPb3X#t$*KVdC* z35d_(QXaS8XoBf%n`je!Q~v#I3it>FPj-cu3KWz~Qc~Jy9Qp1*NarmKJDFScu@#Q5*w;CTr?X`p$hRTF z5#4d)k4RgeP(MRd+whbvG7XcA$ z6I9X7X(^8dm`Z{f!2%otXrL0bb6EeL4)tn+JM1d*F6rUjmUd8k9cDR_9fvnI>DT{M z)ikta>0zrV?3O0=lkS#_SKFtn&8haq>bI}wdvz$$BYB5KQ)L3W^@gZg7mzY3ga*=FqP_*nnS+1^$=Cj(dw*k8?qv6 ztDhfEi@BuiA|5e2QBLY@hi8)IpEj#yItcY!t^sJot z_k>}z<)i<;4*7>x@n?`Dc&|uxOe48;$p`3=*>&VsyXAZ_28@6(R>EStEK1#X&ckp1 z6BZ~&p_)c@7?&l4w#vOuE0(o374yICY+<{RmeZ;L^hO@<2iZZCpwaaP%)aLBE0jB^uodnk~Ut?W*Ukv;72~Z z_7AVYH?W2KX4a=w(SowK1~h^V>jxBJ-QdNQ(>BZdcak9=Q zHl!lx+ze~>{iol0NoL*QR(Nn)LV?nLCuH+^=tx4%a6;xWaVn~6UllfIzOIs(5##Hd zl}w`kQcmgo7K$sGHk&Jr6y-$u6VQ15lRfoIumo6I#sTTt+%;lr zO!i~<^|)P#=cVReHX!Ghovd(7_?3V6a@W)$Pv%$NltZ;5+p;#UgnHeV+fbV)ihF$` zORe#9SCM{2^A_ZnPh%{OxPWo1!;-8ulEM>+YGq*+s#u=t&(C7~$3_1YN@#FJW{j5plE>)Rl5UGFq+a&M>+viUT@gpKyPjh%DSiGL`&bXS=HWQO0 zd0w#xNxL5m+O(?bNAPNlpRM#m)vKXk}^um0fEx>$z&$^q$tiCgl?sYf5^K7S=b7j!SFVQ=pI!E!V`U7fA8 z>ISuzfWw_dfC^Z69@%(VKFH@7-JA2ej5N>+`dl~pbx%3eF#OA9vDalJ`1;eT&vguA~rVYG|>qX1|-8=ov^ZISW&-J?h-| zgGtD1PT_EzXrtZgtsrUZxv}eL!#ssdU-{Wi7Dy z(Un7f%L?sBMn#z?m@Wcg&Uh=rkG?xZGVm4VX;knH$&)Hea?KZLV7Rlhyrst|jB!KY zj!#B2d#fT><<+4rq$YQEP4@n7xE{zjhI^rYYKASjiIqYoAAF3cgk7tq ztenCa=gvLlCeI8Hk%>kjlTZyTw{A7nz7Z}^@$sQ-MDXU-oi9-9#w-srRT19UDfT5E zl4)ecW~L@i<{gYe3Qy*ymm}wgn3fTd)MvChpr%g;_H$%<80r;HsT*Fl>Fw=b{##GV z_*&!`5(u#%eJ06$(Qn~6ZVm3KZ8F&U3U||67yX-QX2Op_%PQ(?95z(ao5glj(WVU% z>FiFGI4rL0OZiEB6gFGIGEz;@*!MnjE*9MxlpWr0#xYC`IjFj?c&>x-@^#%5R{odtK z{nc@KN$ZU_cQvt%{y8tQCxItW*@bX^O{_@s|I617hlLD|AqO^DULDuB&m1AGRJz?z z8Nr0cZK0=FCxvUSpHmSWsj~t>UM=4@fZlLUTYhJvr9MGbm|{Iv^(RS+kqIqz-HlQ< zPQXtepqRai8Y9Q{8M+sX5s*ab#xt&JYIdu9T=X1zI^ar%KoC~qZ5hiUboHYIqHc82 zbP#OGg~VFUhK{Ua=$>sEFE=iU_pNl75wljy(0tWK!Itj40wnLGM#3XqJlRcA?A9G5 z5ReKWXXajiT@#NHrBB~sE?&G$0?9`(G9;II#ibl*C3+N?X|td8jBi3ip?SRVc6-OT zqSiBKhzu*r1ZWZ$VtQIC_eK|@1X{nGIG2Jhgf1lXgYJjsvE^aQl}3uPD=f!g z@Au(KV$%95A7U;>tgo35ZrQaOY=5Y&BHI4t3|a18yuOKKroxLpNdKU~F$1AR^i)!U zansG@r%=@5(tPSBbpQzwJv%gW;JfQ1DxdsvW5wr-P#Lst9^uHwF#&}=#E^SJkQgL!Xfgk27j z9L%n9dnf3%mgeQe&XbVUR8I4Aia7rKU@#be90ipsmqo&QdMx4#m8J_W*sRXd!I_Iu z%Qb2gV%DL=lm8_(`pyhX`6F21nl<@$WCl(VZTm10Z^amWyvJrwK6$irI+fR=0;T_<8HdUWK$$djEz6pIR2ctRbHDJBQ zYSie}0Suuy^quK{9Fd(+xB~gQ=hW%XLXP%<;q9JyP~3zm{Y9 zuBRI%7%quH#$EK!XVq@qKOX(uQTB~{>*Bb)zx)lwxrgPS)GJOpp1@NDMZ_n*EoIu~ zX_z3mhaO`eOM0g?v)f?p@>-5l`r!>B3rk5#^FWWT@_M~m!v+O!;|EAL#|N%o!#=Sz z0gW@Bh4xqm8JmL@u~Kpj*!HWErK>D|1>K?smo(lmx*)ZdvgB6vZ8)XD`DGm6=|3AJ zzH*%V?3knUQUe{;w>+*Yz@nqNmR>I?*t?W`2bBtQ)ctq<7a>v)_I9dT^g{WmY|#ID zxD`@1Y={AP)!=X1$!TV-5^{Su>?mCP(h?a5JT@&AmLEseS)TrPE}v{`P`x9+8Z-{M zk=5rLoZzJF21!}h#<=vA%Iu|=-pn0y)1E)U*60VmO^3cSy>!9sdkmO|_wL|9G|m~T zL>qS<9Oa#S&pzaRp>F?t`5dqQD5m4gJy;ET`+V_?*nuG7Yibn563$~>O<1Q<97tA* zLsXQnml5;RlseBLP{TA|mBk&RYy12%qOn2!UcS%X@#iZNrOP*Rb3uHIC3af&q3zo7 zex%3LilkI&8;33}`{bV7tY1bQY2(p0e}b8;PbU$?$+V3tHw6m^WNCl7Tvaj+HG{6wkbW2hwJ<%d802bdq*=15g_n)FwSn^hG4M zzLdRSYfhi7AcuZrti$#Nx8V9sQ4+h4!S@c?E*WpyBpOGMqn>CQ!_((EDJ$v1N;%Fd+J^i^3e?DsuvaGc zL{5|^O^{m_pfLdc9C?QoJ|J3Q?Fyc_Nk^Z=<30;ygw~UK(=zqn@?S9~R|Gb{0H0}I zke)Eyn*c=y*+DgGe@IlwF{ybj-Tges3Hy})(gcbdZ}WYte;1Onu5(8`DS&4-At8H=Ci#lu|9IME5T*>`74(ZWi*XrYykx1aH)ugL(GGHvOcnTR(#sS=o49PLUbq3 zbzR)ozLFp0YW&=fDN2_S5zYsJGevN^J1;@)Z-q}kJx=-_3&WAvZ7Zq!^ELB1m#jiI zWCI$ul*~pZ+QXJg0=Ekom`w8}R;6p-jxG>pJidtQ?L>9m{^UnJ%Z`HwZ z=!#9zj9|T4@=puKIvZ>j&nMhl^rQp3XedT%Y1z&>j9 zg>xQhq%JknIlQR>+sbOA!KMEjvkUSpSk@hg`UXRIS2|<)B5yn)6{OSWuUjAWB6mNr zfWR_;iue8dhp%5>8lhi$EqVAF{*?)s0RCO?3ZXkptcc;yciiMtuXN6`op<_WH&>98 z43a!uUTWPdPUdTzSWoxIkt;pANgI4}iYIH8Lg@#cZL{1}KQ=l#+`3C0Clsjw3q2PW zxu61LOk;{Y0dV7?^>MY)9bK}cm(M1!0z#_1$=L5P2+0( z0h@{S@}7CUpx1uc=&YBn`3n2~=Uq8t@~_nyM|X>}cM^Odn_K^6KF(UXdWHZZn%XA) z)V2^#kt20XTRpks^V9&zta{ z7i=(E7HeB_n;gxzZDkInV(;qtO?Au#}4Fx#WdE zF0a@%66h_UvMW}BMUCQWp5{7{`>h5!)ZWn z182@|aO>qLeRxTpWV*1M8^f|@M|Ljw%@Qdbjq$t}FqGQRLz&}mBL42pEI5VcaZm4= zRc?`yxMM*NTBWjQrx2Bjg0)T@y7T@TSiyGcoYm$~-7-IcqcUKeILfIix*`ANOMn99 zSA$cdw%JofPeAfif_*F857zXN3tg?JmnZO9cdO39x1;+L+TG}0m!Ph5;#BX?ynbyC z;)_inssy6Ce_TMj<)z_D2uACfXKLjj)HQ9hX}@0LvBcz^m{OH@hhHKECI=XF$!$de zsk5HOTVCBZHxCKB5jEJl0|z(!ptpb$YV#j(2B`1H z$H)J{W^5wK&4AJhu&k|M*n$Y!*Sy;W?l>d>6gxBN$bUFpX4;t4NuTyc+tn33?EOAQ zy;{K4d*s{_EvE9l&dbeTk*GzT(;!sqV^7cDeQ|{;EuR0IP1t{EfICIR)@8FK0X3`@ zyc6&iK<#T(*uVY#SA>xs6(!d4i4FP0wQg(AM<-9x-Q@q2dnUZV#L&;ox~%x_Fry1pfi2@4Eid zrTk}9pKrsU5ysK}@wnFYedrVX9N}Hr?neE+_XYW2{5Q?WbNN6konDH|U8MlPg_lnP zPPPvMoe`-neJy&rN^$b=$7j#eK7O=L&gc|pc>?B;Y6Pb|zq1inh;7O4@r^sZD#>eH zPW_R#squrh7)vH);`W_-!@=$C= zQd!bwyj>dmz{bYv_@j==zY8Tvul~hS9G=aC@dDL0=VeWPD_--->3y8Rf$?cPG}5J` z_U=ZD4E1MbXu+b_E4WIh>mM3DI*H(J2CYussY#44jp5&_=L$FQV(dH}l+LOiisl2{ zH{#EC#=(TVDQ&fxqyQNoT!ZpTceeY5Bir@f+Zb(=CJ*Q#DY4#~De5UGR;_Ch!#3}f z9C?rFWH%I2hD={1yAi5o!(^T^_aKpJ7rC}D9&43MQE?@5)xdgpeQ_NY^@;mrbPM+{>GYH85M7~X*mhg4 zA5eRqP4|pCa6!T2sCQr;)4bE*syOqB?b>DHRj=%^((Y+ z-jf?6^eV3J_L;GZz{f^zI;!p>r|YS#Na@^h;T zdSDsu5{Qfat9(ES_Kb5v#HNH0k$M6jT!#CUpu188DM|GFuh@LOZBeCGGia70hmHH) zV{=*#VLa&Cl`FJRRci@S_V=fS(1bhxjq(#ZPsZkmS@7GJf95)6_i^OWBkJo4vzO_) zHR*ny)tZlo{h}cj-?d5U#MI6-JuYsH zl$(XkD)JIevfGU z*8#v}`Zqg`c{P7D1OSn%3ESS7^O1I@NErTu^dSWQ)v&!u_dr{rFROUF zCM<2zKU@)iDKs4_x7q~p9xj&u9#E=bXqu1E$; zw4S}T_oD^xB-ATKie}o3f8qb}<2HT5FRrZX$0Y3D(FYdp_#&LONo|*vnY~=TSOaTEA z-2O?f9z@GT#zO{UXSV8u{GPpXC6*9?;CjvG9lv`ykuM?j;_2cU!5^J1^}f335=D0f z{Bmb-L0P}CSBuXCBGB|EtsL95*GEPY4tAfZBt_41{ElVUKTc_tfYVTMM>8KJ}eEjQqLdbz_wtRYrSe;iOM<6E^G&(Q4FqXmV0S<xMSu*7>M9hzbXCIVzmwE$B&0)!iz_~WdUANpx z{3y*lReVW$^1v8*+-U|Avt~WuBjDI9ig)kpkuSIq5iM95k9wu)bCEUI;{{J|pqU*T zUDX=L=Hk~P0n3S+y4XSoH$`t^tWo8O$IVaq>`|`nji0~87XsQ-giOA)j3{(ez9`M$ z{g3O#x5mv={@)2ib%U zF#lu5W0BD0ILp3AMl9SrNlNOK*TFShX3vXpJ9%MzbIIDo(#8r3d~>$@%1R^I6Z8zS zL>-xjn&>rtLcB@SB&%d?^M-(V9n#z`I>EeG!AFMPcdv~p7YxlAn)ocQ2*dwLxvHfI zU4HWXCg7)j`0VFX{-zS%KM8IJ%jwOR!Ji2jz8^FktX_YcD6d`tK|f}Vez>ueqWHGL z<0M6+i&|n!tHJxSCp>glV$M%vf#wqYl1yZ+6J&Q>Cnqa@6g5Vj(9g;ocM@OtOcpzq zT+ha9QzH2s4-i)qmY`x(!30r~4#%9Td(Fm&OLxu_`xqK}p zTHtzhAlS(`DM4$6nz+n8*~|Nr&_*BbxPY=3{|-b@hmbO>`vfSdWCPMVVbx6f(B)Rk zSf-X*r8u&zac|Yyngwn)_XmJ9<3few^)m(#0rQ@|hO2X6b6q=lGPWOe95{2HcCZnE zI+3zi+rBQg;`iHX*ZOoi6d7oL-?|xE9WIeKk|LB4-LIz&D zVGil?Ve(1xNc0L1RXei5zsS6H*E{HF8yuu+=BjRkx)!yME%-&=nGA@Ws`#ed4mwiH z#U4V)rM!TCO(&__4O4HVGm7fZ)N&yX@E_HUnYDf_@rADGfYE18R}vJmJa2nqWxf}8 z1Yj9p-6{$LyrD0MHM&!ES1*!J!oS3wSeh?$b>bH7f?;buQ8n33MeVT?3cC{kH!*5E zHj<1`Ru~uC0&5jHqh8i`TZGaR_2(m(2&>Factw;E7`JmZ0)YqEeeZ3r%)>9e?PDb& zGj=)20YgtabqMBD-G757aus8~fpi^m;OA{#+Y$=UK#t^>47|jr5Had`RXRq}FzVJQ z$vg7j^;KEBQJTrELhfcHm0r4E!`PAM$9N#9ZDUTc~wQ$$ocrPUE zqKW+||D2&y8P|Z!+FIuD3zF}Fd$$kmY?_qV$t!!IdDPuJadYV`?r@U#SPJn|JvFtJ zzra_5MOO*+4#Yp=mGS_z;CM)_(r(~5M#5!$J^c2@1p1q94$ zr}EzL3V4URkA7CoO8Wa1qkl!twjTK~yZ#>6Bn;~gHXi0e=UX$rg-X0S5s>`rc6a-p zzGZSregN7`VVE-BW8L1@xpOVK$gx>1CxzuJl<%rfd`P%kZVQhM*!~BRS_2=s+(=kk z*~@w*_`*>O)ATwO^z#pNER&=r~Y7lUN32tD&% z|9495t|lXKKOdbHkG|JLs% z?96Gq@(mfE{o`7UUD>Rx??=Hv@T(lCjuryay(j@3>VVQ(aVpq$=I>!oUR?OU+NXT- zKH7j3bxtl4-TL{0gX_-%)y%Z@>Ia9~S8j_@|7z#^KB>!uvZ>k6O;}78(GrV*SVg~@ zl6Wuw`eq_yP>l+Vh4&kohKwV|x*#7r`G=$36H4YFC+}b)Zt?ar)+L%bV!lkOia2)- zBw#)@&zTcCEryz9Mwb1v~lq7CWD73II}T`=`NOMO;&x zP-FO?obl)jb#2q025R}qz-^@b{clfklOW&^NT%+i9LPB}`0st~hBGKB@9plK zB>Bz0h_8!|P%6GS>EdR~PJyMISH#2~L-{HnVAuTyIrVH0hO!yK<);Pz$~mBSm?;L7 z1`;5d5#?N-$&78IYiYaq5<8R7e|*lvigYiIo;v7$nC;5|E3&$%e^R4=o3079RE6MUOf03Q9vZ|VkaSW&m z;rRd9`pU2>w60r4x};lT1Ja;`ba!{Rq=0lvcbBwucZW1c3rK^2bV`SG-o<;)`R=*j zd;P%=fADPfnrp5(#~gEvl9oUfWAcEkpll6Y%9%o@D==#$p`rwa5^UBd6%8E}yh|C8 zVB<`AVDgnP?OP-3+#oBT*sMbCoUXEwGkti=RXKR#Gh?_ZoO46@72{U5 zK`E2{W~tpJD)OW`c`3(KK#mgEz-Cw0U8XKra|@jQHky-E+`t|Yxuz9t#*9A5JzU}7 zit_GQx+qdyf`Rez#M%=lLOK9vxGdzn&+_&sb1eZ5bA@lvQ#$#@iCk#54l;nZ#cXOO#5GI#Jhb73ceMCHuLR!6jGg5`9*X;DOlxT$ zMlbEC@%>7x*91OpodQwtexQ!k7jgKG`6>r}$GP=O6_qsIIUdcI?YnvfT*RyAi(8k@ zS}apX7IA zWE|YS^&|CiXA0bpaY6le61OJQt#9_IdvfW<4p(`7JJUG;}3 zEeaE4U`2)o5}~h7Y{ubMrZ>iWes%#)>QH$rydKZHv9QqxK}ygk&N6(!t2$6Wp9rhL*R+5W9HWjCq;t z)0i^4eB9jXpulMF9lmzqxJHZEx)niW?MK#zElc6~*0KJU0L4WHL-6Q%g6?GM6aId{#exRe7q6pqZUhZ9u!u%m5U=|PU-k%PU~fw;X*r? ztn~;Ir8TTJ+!<*E{_M>xI`JTul1fW=5&4)I!qp!8=$QQLFsTOxZj{P6?F?n<*rrgR zpy?{$Pq6Vxv4RfdN)-Zyi})}$0=1T-A{~c)wa!|KuqQE)2Yo?3qDJfJtcIzl9Uo@k zbius3n#P;yo@%8bPgEXs*8)9@lelutFQdWhFwMs*G&+Vtf~p-5?55_{P+f$4>kz0O zW$k<2Is5U~2NTZVqUi(oDZK{^XlQNe`@Wp{t z>ox^d@bPvs?JHc*<-3m$)@voN?{WAjmxg=wx@kiH#Cmf?KlZG*3cOAqr$C?S;q02Y zJKN6xEiaWO%Ryn)cE!=q>`>^s?n0l<#yf{LU4NAjytxj&AsBWa$!Jj4C6g+wrDJBr zJC_PqrIoQ--!@yi%;q`Un*Y=}WonJEk$1j=%zF$!UW-6+_4p4U#xQlXuqXGqR(Ko$5Gn;%x!2_OzLI(FzU1!Njh8+J) z5%z~?!&r5;+?gT$zeaCA?S~bei<`babjWDG0MHsw0rPc4xaDvU9IM+G>8& zNN_L_umfu5X5B7`~Cw!OZm5g0_tYSle#c3-j=OEOkNt5ix2kc&wE+ecZB@-0oU6x>&drQ zCbbRaOvF#Q-zVGIH_#u3J?HUEKiuK*a_#$Ny&wa{u7q$=|EbV|bym{RRx6 zmTvZIN1yUI*g^klKJMp1KLLt7U>dXo!_2FZBqKpT@@4aG$-t@RH2zy5Wln(V{fh>P z|BpFkoY-ahn_7=O8L?dc(jSR@5h)#_Ig4XMY(OsbUbf}h^d;V#i!er0-kccamZ5;{ zPv>4A$IQ-y8$67RyV=FsF8Yetm+|H{629rT{ocONxkTT`Hj0KP6zODWzq(u+{=L=G z$@>)q9QJxNa3E6~JvO~x=Yq>0kz622ai%ae+M2?4cTai8wo4fPqUDRW#7FrH&$p&I zEI_wle|AJ3tN4&C7@DsgUjB4x6`LCxtd<+!<)jPaSlwH9Ndcc`e@{%($FoZVULB1i zp_J~-3q!0hLTx1WPo1XujU&`~&$AE5v4c$A1YAEi_ecCVE%{Xa)?06%>oHDo2uSeG z+h29XW4GuZpc{32{`R-_$gSIU(@U#N?~O-bAl<9X(=I6+E^Bt5<@U#MLRtcy-wc@f z0hYyi`0NA;PR1c_>=F~C&D$`1fp+pm<9AIEU0$)Nz()2G97B+r@Z^+6jf!o z%gLSe{dX&-8OksJ`IOI(xuHacYsOgD8~R-9=o)^H>;k1@P+^RH*C*j@ZG?29=Ra+P zWFIEpc0~NHVCgD?PsL$vj<4o_GfUT;v5K;=-QuJ%-cK{P{Fb59?jEoIJU6)-)ial9 z^6uBiW1D`{7EVe|M~#OP?iSACzGZ7Mv~jh@Y$dSd75dMT*Y(v^1U?HaI+)l`0;@wH zy2;Pq0gQ#3o0~uHivQ&j3go1L;^xz+eseGZ5Koo3tnJ^p@69ks;mVtnJSmW$8Q~KZI+F69}ky1+%Fj|?6*f=5gSHlu&2! zzNlfhMq52p*8Mn3b^UF|GPV0~(3?i*7K< zA#SrbZ)f1byxuA=k(tXhoYxc+Czm^@(z+W`n_iH`P8X(i_Niv-=UpYz0KK9U`vpEt zg~bPC?M!uUi$|Xw6m&1+;{lu?@$X|9dRGlgudOmnMio&!GHN4 zjodlAn_OE{^R~_mI;w8h<7|T6oymOdYn3Ly20cp$M_y`}W}YDrzqgu=z2aL_wVtuz zFpZCcB>QVpDEeZR2%dTD#e>ZOp&(6E^3^x-&C*OK=yxlHs`JE`ZkmdE|H_Ue(c`m%%BnVygFV5 zZWo3)Y(3Q=9Gxjv{O1b_3(4V>r4()e;dz!-@#iv0@!?{llg(r{63`IjbYZ&%_MgCx zasl{}0+8(TXgQkZo$+$J=Pb?!`8MF7^mDR?{}5jrh$SE3bl%6qIPN){*c`>_7) zq`Gwu<%2S3`+qjOS7vb#7mh+3ooOHDR}8Wy8+fuiMB`o`p$1|*m1^y3&w5PukB&Zi zPPg5O&X+s}1RE~CMq=>U7CDylh`poJk{QV5`?OD}M;zNg9J{Z$JOnah3UI-zGOJ*=C?W zj^Q>QJ9RpfyVcdpLOX{vusB5<6M)+`!0h3euBL<0GLSf2xXnmE= zB8iiKg&5-n#O68cEs`!|?<%17#Dd3MfY7a%+Q76h$WZP%oojni&lwec<%`mwzHwv<5-D#DRe);S?3V5b!;x;_8HlGhnD zLP+_LSQS!PX#w8te>OHYwi+a(yu7^WQuV@u0uV7r^YwdR?`dGU%J9iNLP<#} zMgzD`yhp{@`&lWDdOA5Vq3{SAp*x!0C$9*wAg&p2$769Hn`>4pm%$bI!_b~Qcqm%N zdjXhEZ0;|2@B^n9;O9EaNEH$F$SY&N@&cUq0n1s{&{^kb;%8KRx3Z!K8 z{|Y1<|7vY^mPxQ`BR}`$P%S~)z4@nU_}g02ATe(?hd5rHjb@E@&EXswq|>q24N>0P zNarUQMoV^_FGCe>7TU|r0?Kh&2oqy+i2oR)2Y8Tn4}P3VU62VkRZ~b|rW@YR@(UGh zjthy>=8E`Wi-0-V;L&w`oNE=2VCOerW<|kcTSKahBovPL+hv~MPv&s1RvqN-%#h?4 z2Jn!=Ui}GYxZ7@XHc?FL+tQ|B6(^*MiO`*K zV~?Kcn39TY)g~U4(yg#zsJwzE_0;(C)#n+@&r9x!n%OXyP7o zGrb9O({Xij{H7c=65*SNg))G_Z; z1Nq;@ELGQ^AeZjrEA`Tq5j_6t?i(^*|5$QpQW7RJ8e`TrOG0+{Ui4?moyBpLRifud z0VGt+|2OXb)}mNgT!cdCw%V?brC729i`Is$*G2CNpeKrm zvk>*SD~Y#(Ei1ZdHP){vnc>fb0yi_@V;ycSHF_TD9loe$wnYCQM_W7H3akISJKd&5 zOjh+}Vj*&vyw04i!2m%PNogoOC5>SO_y^UE-PKWt5LufhFfAF!1hZ<JK3_{LlzZ}zo@4|p5)*6~r>8H{GXnTKa_?yh*X3(iS zH5I-ZiU6`zLh6Vgm>Y_sUhWlkGpE>@8QaTepnWKZzpfSeXifh^{W8tP_+z_RgB~s9 zy#+e8I32`6L5iSK$uQ22HJ22Em4c%%RBbf9-g`|yPr?6%x+vd70LOQ9i<_kzr@DYT zrdumihE8L^@gX`bg-ukk;7{2iC)DeC<+_h~GXt?s+zv*Z&Cm?_qBycxG&93tJW^_K zVhqumtT6mYW398|&U}XR873$r3w3RMraSTIr~_C#ccNC}xYP+pI;{xaVfs~#62~5% zu{knRBHN>o0V3-OagtU6)Q?yR*qn_6vv&S06~WGq`J#N%S(2iqrwVt?zWzFv7R1m= zuYU;A4H2eL=7s*tD2ISwWVsErmLnjrz*7m#m`A)H{$w(B+@0=Kc06fL@%=OhoA_=x z(Up}<@A&|BdU5azRA5hGZ17pB!Z;P2|qR7_Tnz7j3&CRXpl4QZi=vYatIF|B< zkOpD2q2f>SzibJ{PZa*qAbpaYlC2DRUl!CPIx~g5BP1}%df($byCL4_AJ0cyM{bx>S~=#??~T5K z1tA(m80D`D$y>$euJ1i_V{H63;l^d8hYl4Xgd5?4sjVUrZnQ(u{wja zqcS5~gxa`Fs-)TM367ztPDR)>me$Xo?13HGN*4@npDKR@?@7uaef7G zHijE1{nF2#UQDiT*bK&JNgR#Rc$aUQ6i!cYjca2nI+$?cOgG|M8&_zK*0k<7=hh>i z?{{sLcypup8av*-O2JP`avKA$rK}o$LF6?IP2|p=Pw_xumC9S;SsK4s7`56 zugT-?Xt2sruYJNuztP&=uwE-ua~KWIIPT8^K+gs&MsR5nd-JQ;?d!wN?ZsT^Di*c7 z&-fN#4(e!<`VnLUck4Wz5_dK(Ci*2SZl)NuVTkrSZ4BXoO_2-&`})zr-Eer=Rx znBfg8!6BD8&i3S*i`5jK)!G=Do8Pinm%18@?hmzx=#S26+EA&5GIK`;ronRyR76|6 zQFj;bFYJCiEM{!hihi+UH;v|ozWs%>=OLkfxR-bvxVS^TbgDXm{0)4^6w<)S& zf@qcWu5?g%^JP|_x@K|SZ)QJsKbfCC$dJ1@aNpW!w zI}`bT(!z--fYJu(?HD@n={X}{5aq*T=!^2JFiNL+r(G&3vOt_Ez5Cn94czIaA$=zr z-|NKCwllV}WFLDc%D1&Oy>rqFh{iQv6bdvogy}RcR`;>%I)9cy(KAces5i!_XrQ`KYv7}ckHfLe zH<-@@YZ=>ZP2b_9(8nJ6r&SN&qH^~$&G#bhhOy-4+nUzC*M&qm&d3DJS5Th*WR&?s zRGG<8B~cbXt)>lawpyv`W!2?;C{SC(dAZ721Tdjr!J7`5cNW|I<66w#qKT2BUMfGz zXa<0tTK2u>dabbNpYbTA2FsodhWTWc1GaFrqB7qU?CK>%(Fcdf`f^Q_$Ov|BmUbqM z?y#D`FcuQieVL!z%CB_=&cp=IK5%N6g<8Vbc7-bS#1i&eQX}p%nGfgHZgu|bjTWo^ z5Xdv98oODwM}`sZ5~V9+J*?dDLaSy>anQrnST8u>pb-+g<1hW6+Tw2#{a?bZ8R6m5 zKqe6QOQwmTV>h~s$CWtoyaJf<1W3oJH)Y9fQ%CF*8Ov7c*~*9A1; zpNk&8049=9$p;XnTC|t}e7eY@P54{2*yi;)L>3$WZC(0gM!9sgviEsTeOSvbw+?$| zxAdnrHgd8Jb4P%wS}TWpn*!=b_)&Hw?RaeZ2egaVT0Zy_@o1&4_x?6@np2UKV`^nh zt|NQbY^$il!KsN}m=|Q>$AjFN9hZ@{4$+2t7wK$OZ41N92{i81-0B3FqDqLvVMH0< zC%%M=!kFdbn|2u!z11Fw`vDr=@UR+)rxN0(dEd;) z+Xe>*MM`&5zlO9a#E)0dgr;D#verV>QZ;8g{8FZ?T#ZB#iT~W>U{PDcAD@MWe+!D#Hit()DF+uf%$Un0nyE2#5P4E%uP z9p3l#7c{#4*#gOOG=n#M2N+|G0N;Tp8$}0u`$IcWrwJq2Ci#n0pr*Xsp#L+oKn;gr z#kVO9hp+QVi9q>kAisv=@;%9792Wsb@1D7>0CYTrecpmrRPap#X`FyoM~M9yY4Dn~ zE9ctgq*@o^CHHW5{?VhAGmcoaWW05;YcLpinlo+5fAeCRMSF9esDW^fb@aX@c+WK8k867%qlVxCI{3CexD!%fP>x}LPCNhn z!zVkA;JEa36cYPfnUojo!|&C@oPG;<04*PZjeqv-+V=)w|1oD#TC|*~OA)mkjx0>A zoqL`C246%I|4RcmqQ>Ob4?^~jH}iXy-Zyh*ZMPSIZ$?-PSH%-Ma?6mEns)!Ve}9>( z(z|pRo$0-*vt3A)cH}hTHBu{^w<;|6*j^f2+@0#iQe_U5Qfw=7{dtCy=@s<;g4;Gcb1w4u$4XOrIO zil)?%&hITRj0k~n;hJm~OH|)TPMiB7yiPU%KXgz8d1V{0Bbv>^6)(RO>>bUv0Fa{! zMA!N6aU*cU!Q0-pnW)_t^(r+Xp?6{HjZt5O^2AHmdxzZGByU`0dpw!?D zbd;5a-F@hZgtO5^S;rcigLUw7Lne13df!(e2Y0I=JSQ(gg0;eqx??c#nb%|@@DWL~ zCyM!P-}L5F2`bWYG{HD+_CX5Z8Nnf^D{X1L*qlPmJ;Y}{P+JtP8kEGk{etgEgQ@j) z7PU-tk^`1!Q0lG_WxZvv&S0(5ZA1^^kD^~@1Qh47=IZZueiE%Q9((j~U zS(Lc`)(FD8bs3R=e_P46FmUIrb82sPGZ@4cEeR+$@){|eY!({rO4Tb5Uu)KxkDu*K znhhu0fn9h|9obD~4wsjfA_aG|v9V!eW1F0oUQ!n&3@tinDd+BQ+BaEPTE>bRWPMbS z8Z;65l#2*kwD8ui=FXMAlk|8XM9c%4-9*^jC~(L8ooL)K=>7Zh zn0d%g5CD#NBDso{cL%zIe)~)})W*_HOwsmvD)hZ@G5CUoF@ef-ztevm^o1AE4hXQz zuvQmWfa7O)AuMiKp{gKv0M16xXsV4>YtIsbTrNbuo6(MsuqhYj5{iUt%M?MSqL7&= zJJTE2L5YDYBH?+5!#=B0wSTVcn|~&5=@cd-qgNzMQ%^2m|GY{P{J~Fuw>p;CVr_4c zyKHVi8rBb$%LmWz;qZ^Q4M|*OUN2(3wNKZ)={-Y3AFI!L9|fSrQ%-H9^#mAelS`xF zA8E*I8$2byy3Q9oV50_uD35|ZF?cf&FG0~IB7!I0ELQlUFYtpWAzEB!m`Q#INuxzU zGj4SM^^Q^H&v4UDVy5TKTbH+X#w3P5I`@(8cc^?K$uQD>jy|Y4Vyc3$&4wY*66T+o z9_bBrjv;7PB>d|eh-h{Z9nWiqv(;V;wgtA*8a0dr;u3vp-(6*hj1bZuaKiONdPNz9 zcwh+9k;ynBx{D;y)d{!5bZXJf~5d+(S0mp^L-& z+j1tz!uegaemdjhB_)$%%k}}jyf@#Uqs-;AOD3GdJJb1PzRath>?S}WJ6nPCC%Loj z^(CR=JK4E2YZvplxL~5P;;mbmvw1j}!R4y(GTO;FdKf)m8olXH+NJpgWw9EI{tK&9 z*?_mckL3eJsYz$H$_2E_B>@!d$&{Jb+ba}&^2IOHF`5nrrFiN;K0d2;sWdV89nbue zfV$8beAKMByBSw}@HAu}n3a*eaXiQf6fbR+r74(t;)F87`{H68JBZ)GFoVmUd5+Opz?F$Ja8;$7qum>D>p0e9!YA}mwhN2aF&QH7Pn+O9E=v`=BFr69i;5dv5G|1y4uKu zaVd`BYu-f?c})&~BEWH&^vw((IEoTtSDzqny@nZ*N^TwP zJ@&`%KlcV!81r8tqs#u@ns&Gr+A@bty|9q7q^$Rn7eBfmI6puBU|+tw*{d|~1NtEV zUQbF-k2I2#L-oGFDU>mUL=^&(hr`w|aFw<*h9*UC;>)a*Ha4{mtthzU;YP-fU`rcC_;W0YYpj_`y&lIT6UgD%oLp4^*ti8;qBsvL0(J zt)Uw*4~xj<7%!2Ew_$Qm|GFDj4j|V4c@fMDn)|6-c^a8CYw|#&><^3bh1=z+iF#^} zJ#Ws&bH(M8-(&-h8>{7Kz)|UcUkzGn0N0(x$@5*yoC1EWCz;>|cs{`2{jeHL(*AI> zH_HD=)Nj*%y_NZRx6KWJmvM0t&+E-3j(px)Ti!+;#_P@p@ho+Ejn@H2-@%c{Q=sRB zipYrBM)dTCK{Dn8f?cUUy~XVhxY8p-$JOWQSz9v_fxH^n6dzJV`H1yjcjv?Qt{$lO zTk;hogXj?28BvPe8w*b|@WQBGydO?a+xY>#P2~ca6owQYH)f0vGZaHf zO#PT0%SV+(Mby;_^fU|%<;BHzTAk^C2%!LuE zFblD2;EH_%Q{;d|n>$WVCxMHYb_L09rj>83d$)ohM#r0-L*Ol0-Z6zw?Eoun0mac9 z7T5w?!jt_6HM5(r;#_o4=NqCrnjMj}r6Tmj^B#1X3Iu~}zrdK19sBnehxN$+yBf*O z`6>E2Awe`nepAvltO@B&;DCMDuu{-WV7IiB&5ti^t?p1K+)cQ<7*5|^{YVC6ul(%f zNq0}hOL${x*{%Ju?b(H@hF{TNLeueNOUXA55<0t*qv~U!2T6T}$F2(C^-~T+gm!_K zvwczS7#M&u_$k048v!%nJArlhUC z=iGvxjRJ}2M(Ajb?noTc@#8>&VBi%+7$`h6R@{8o{p3SQ1QDX*=-ce3ypzHc|3NxOh=ceJWFM`C9f6dg+5)D;BPrbuHevB~cZUD*Y; z%I%+5?LxsX3t>?8^SQA?AJLb|%>VNhzY1(p6XdM#E^>#Jy;Zq%?GO+da^Mm*N{tfn zi7zWFW7KUfno1PnS9=U%y`r5haSv^7c2&9yMfxg~eHggbs5`T!_8WadFNH;87cr6R z1?7l9vGfAYkgg!vtXo$?hD0D-tU@5S4kLZOT{%1@8*TgybS(8`FUfR3BvpXBd4jeT zY+3B>RqMB8exjFR>+f%g59iOPc@04J`A-7$X8ikA@TUyJu%}1@%D2DA*Aum^eS;tF zZ=(s>tvh|5KN)}nWIjvK-}cGc9^Cue^S$6Rz;UgSAgB^K0V$%}jEDI0Q(Jv~eQ$3s z3=GUCapJG*c9)6>fK?0OnT`<5YhBdgZ?pkr)Ce4Wr~D@X~^| zEC-Fz4>11)vyTv&UOT*hJJ~#9=t?r`xy@wZ|Um`0E({^}J6KPw|!~kqIr9 zgEzBry-e2b62LP6nCT9F*)JOa+kioc(c-u>QLJ1Du-PZAE|5`Qz@Y-6ax>69$C@zs zaopuKP5e4b_EVmMSHHi#6i1Zv9ig0Yy$v9bxoC5L9|?J=aUzRtCA~Q8?WJ;P%Wh;r zE58r}UoCUe*io3JzbKn;7Xg11)>Vwsng~2LcfNsoBz^WC_IKGs7}Vu!T4?Wff2mCN z2T|JcOJ9k`5-M66~T+ot`ETb@EU|gJu{w`aC&L-;l(3r@C)%CMYeO)45%5QV2P>Q ztDZ1Xh;dsf&VRp-FLyJ7AX;Ed_FDE!-KX*Kaz9!mZQ9Oow{G4k0J@fc{xmdP z62u>XZx*;7CDCivSk2XNA2u2RKXar0DAAl&f8AD9&Gip&ke-Sj`4nc8o3kC^AY?(O zg>Qu@$N@$Zos||V&YJRz4%fMC?IBlvyfnvlM;T~aQ(N5pQ4&}!7imgIr58vC@o#ryx&&J(R_@jd}bE zt*a(#n~V7zJ>?V4m_MS^jPkTv;MmJZpV@|gRWzW-t*js0%~(EiY0@z{RsPCh&#jlg zP#-*rh>*Z0LjC94DWKd31_n+&j}6g@??Siz^J)ORd`0O)!NZl|IQmqp&Z;P^S(b{?~m^IGs3O!c|J{* z>0y7qI}PsXA%KKzns;8uKdlVVE8<>Wf~|u>F!Q9I*7Q3A{4_H3kq?vE!f+~J#GzCN zXDV?7hUztSBtCw1N#}IN;qyrQHd|B<&#mLX=Uwqwi9Fc0GU5HXGGf#pUPVBcvNk1!33-JvlM1wOhX|aBNpi-;A#f$RREkxsl=dxa1CRMKvo>m$yFd8xkRj1c0wK& z8e!{4no?K=u_Qm*xo3mFl@urm#eiw>Klh3b4cw~=Xs61$x;harB)$4O3mzZ%&38T$ zfeQk`@IG%lLSNEQE4}8QkPbvO4SBX<&qAuS@?*y_2WK9wN3pfB5f65tyu5rGdq?RQ zdBK{UKMv{4l$VH;Nq;&HG$j8Ui-2>AR-h;3aXkh{O8n_}w(kqLi@l#u2c_Ni=^QX- zxSe(#`(L>%ct75Qbo69kp1AmRhYbCl`^A0=5CI3oi51)F5>;T&e9SV+<9`OY7UU-1 zKU02P`m_fEvzN;2XGP#2FtGf_Kl~0*c(623@!lBx9?K3{IRj6WkYK!4ll|t+`JPS7 z!8<&E1kBemX&fit;7CL)#Ut>l-}fRCjZ4%q)Ea)ob8hejDNxgYGwO>sotfZI802-YZRD~xdZqFa`#G1G@4pCJa@32P%n#Qj3Ca563HClG`n(%_yirdI zp;|vNW=#wc#T=L5!HNnLf>$K+hvz^EH+n;aOBRqT(S#R(A{FX4D3%;rb3Uv@W)=Fo zQ40MW0k1)|&nj-T%cmINIzdrv7~t0Sr_PU}XTsF3% zq!Ryhqum~$nu5^i4no-jtrZ|Nu%tU4E!}6hAG)navfo@Dd3U3*-)(z8Y=btl z6+{8(ubjX$E}ck^&ulypghCht#V;?>U^NG|4JbFuUu{SxN!<6VL%}{#Cg1&27_fjx zvetY&Cm0A@e5c9`c*{?Z>`uX`*Lnq*J1&b(xE8)AputltR=f;pSMTd(k_yd?Llj$U zS6IM|Xt|3e&>vVu;o`}reY)kZVq$Icxm9)$)ZFe=D+KcC6v+IpvLo!xvbt!T1kllU z5`<9Vxz9mPcqtWF!sBaUQ`Cp+EcIa&v$g23*9f6nLh2yf+-B$rc`(->;MDUNRNeQ$ zao_ba$Zol7iXgOZG~A!92D6S1 zkP`wLe%9|9Me{ZQUdz*?yZmslj6<(c1=2Q9COzMuW076VwF5cA@E8CJB-ixar5ci}YP#0}APg zs>EbSGhrlsC^==yu4vgaxb`=z@Agr}cr?C-Vk^;Og$C!^Rjc}2=GKw)GBamBJqe;5 z-Be5z>rSEOkk<`EqW-=i%Y>(m!gA_G4X;;at*N|#f; zU%tSXRrSd@GLrl3bdYRT%%K_WeE?(gwB25gSBPD@D1-r%Iq(6fD zPt0MvqU*9)5B@WOP8}rhXZ=8Frn2R(uWfiO3*-o}RqAoGQwStzmOzz`Lc(`fT$u6c z_#52MGEEkMy8yuCEY+s{38XJkEj6eGsx?5#b^(mF@2*kv9Kmo1P!FhYN4Ssn=j$zd zLeN9_FJ_IvJhKl8z*49S9a|&mNTcR`02Rsfez?Y_QzHT&2_zo^PILmE0KT-;{F)Aa38?mr{y+Z(Fe z8(cLG79*P~zHH#*`9;VSk{n9-5aPIw7TfsMb2?Wm1 z{L+iv*o2`XLfHx`*2PG${$3sYXz;enIvhk%l4xcWC|`CszOH{Ov^X>oTVSA2KaVi_ zZ=^+hksLH7-X#LMscZN@h`<2IOqzy)~U5RNbbglN;8EOxw8*sdjk9=bISF%Mr`QY?h9 zgR8e>2MA6~IMO@rGbS$-ez1Y^UziYT(p^{g^MoD;&Kb;Ny)QvzzS4_ejpIQMH!^P;wNZExD zz>Gg=qVR5_9ZNhfgdlpnasT)CQ}V*W=yXPYuZB~Zigg_?C+FDGtYKZPopQ&U^bAsK zPvUBP-G^Q&4+V8ZkCc^ng^H3mdDf=>gNa35D7pJe)VSxHLJ3Ji3GoIe74K={V?`3! z!EEO#UKEAo!k(ffP*+Rq(^^j`;8O!jLh{ogrj92FrEX(5g+)|U^l4;#2&UtQm7CDsM$n=0>m@_&X$h4D=@0)InEsVbLK_gQ?48^F0CnC7)i z^6{APOWx~^I6A;n1O5a+@Zb#=n7O~=ur&aHhxxG52V+TVV9V=%*t89B*>q5;fST00 zaTRtpnwa;~$yzTUdmn=01dQuJ1il!3ibO!U1VdGBlR+$tC{WgB^15Gae2-H^)C6V6 z{?AGhdt3&sGw?`((LN?B95SAd<7_8(6krAm2~PVt1Ajn0M4nAp}BJtLEDaA0Z*815DJouDWajrQaY$MQz!hv_mc?r zeRCV%r@!Gb>;vl&ciHQ*-EmjE@~c~v{}mmlN5QGF^?8%ud@G{7X8q{uDYyTcGcK~I zaJ2>nj-?eGvcfh_d}5-~q^mwGt?I6|NK;i-M>8UIE*8DCdH@ZI7{Na=x0`@ed(w+5A+iB(y*Ged46o~Y#T*NMXd|0p>bj&W%U@!DdTx%{cFV;9F@LJ!Rc|O_@o)(>yPMzy_@3GW`ZUl5pml_Qed2D@DN16 z@RG@Y%xYLr{-U4i-mp8h`dPny=y7*wK{zwb^RavKsMTfn$Jgk#o0;mQC60?V!hXF^ z%7M7cJhV_4=-$$O_e#po|00I_p_g?wv9R!^YdE9-!rQjd<7L1$3b?ABH_=- z%p4`@-n3cig7xAde)*}8@!m9xYX+i_<`Bu%!S&YtQVTXnj>e(f_wP2zIseetT4`ku zAQ@}-H|MEbPP-t903a`Xk`V*Z1M4~A8mNFfKvi1Nb}%fhyKh>!q;k z_)R6|i|&}vz)SzEv0LL9?puYh#8q2TBEhT*sxnFq+BX>rc&j*UW|@t;+b4gmU>^5Teg>bsztcD2=xnDg=Dvz z-h@^$O6%q3S5a!*Bz#p(PnC>s230S9NUQU12+^?47{-@QxC^-D^hQ?`UA`psbv(_48 z>zy3vlH4WG#zoOqX_U>M#T5Opt;^WuAZP6>mdi$&K>v_wKy6#6dI@ix)VTd#Yx3p& zsTjiw?>x>zqRrEqu3AxQk-@i zF=CX4_w40_HoG#@KtT{T!pMolFq~qGSdAofLMWMf)(2l_lUGIm>|KFdGRH3sFR(YF zri5BE@3c7$p?ZD2;ER(h*(xrPpwxMYmIje_K`DyLAFGTSwAO%7uv(*@)>K?hSiYQR zAh+tkc7`sp))2^Hmdd`DxJ(-BV$~oTBUHf7Qz(|rZeV1&~+=x;`%zM zt+`iva<#Y{l+>*F{^L+SqXJUI)O<>*(K90_?s!Y%B^3PCHoQE}Jj_p%q=8H3p&_j) z`dC}PF~O|8E&9SA70O-^)#=5ue?XBo*K>?Z9Tq%4>`xQiJMgN zuf?3pahXi5^$4_I^sgI)XD@@Mc$XO87OoallH6}e^$S=m``#*pxTR}vw5 zi%EyQlZoCb)npZNf^w>(C~F2fA)>!>dQT%rYXt! zkUWA#?o#SLzM5JQlL1^&3G;KooFG&B{PYm?+D;LnTh{o>h-k~_th4jz=SrGc&lO;% zwxk0~NCPcIU_WTG&WvH-R_scA>*+JJGdNEStw~&o@3V>~5D%3zr1+6d%cLlY(fpZl zGMj{pYIl&8AT#^Ge)TKTcO<83V|t>O?p=pcHkyhD*UFpX-ouYue;gh??gxC^_z!1K z4&t==yjQ--AI@EkPVezGIvluvt#osl`{H7w|7Yp6{)nk#yN&y2n@ceK(Q?zpJ@-ue zSC1dJ(mz{Wek~p`YM&n}1+^?=7g{dG=8I?qDW|yp+I2~UEJTv8NyMJ8<-kKYuzfYD z<&0Pj?%`alugo{eGnX!Vl3v=}I`4&d9C~hFm1d^huO#J=$S1xUDj#HYN#Nu`O&a}9 zNV1ZSj%1;ZXolFcXw6=8*7o_U#9nI&m0sQ-Vni0aTr7bT)|EI^lT9eBSmpZ0?)M{g zH_-Ei)`j-QzM78tsr@@iaj8ygN=&x@H;+0#6Yo9IA9z#Di~_Rq z9xVUwFyeVS)3p(Q;o7Y)>k$WwUx_WUn9tWX!__%EOYZ6sM8@YkK-DfQOWy{(m>r;U zaC^~vkP!XgakHJFyMzTe=(R2I;AUQx7zZfDOE?(TWNs_k_ouQ) zN@0_d4Z9VgwQG4Fs@+6qOyZi!R}X_&m)qsAxyOP`&0eF zV_fk~0_M+jjAdP1m2DPwlJQ|&O|dM|w#BFpbBj&=nat zb(hID_9D+WmmX{n4@=QDS*{yHA>5A+M?z#vjd#lhE-g+&=R7;BPrWURt10adBYMZK zpVu>NSihRAli08{ZH@%VwmgpT4Xva!A6~i18)l8zE*>}}w{o9c&+V{yczH9Dze;PY zZ!PSaoZEfN8CMK*Xx8xVL(Yxo*2?t)vAWls9*S1$_pKE)En!EC$4w)_>ifQ*>skZ*d`S!4NIjY@1c`t2%AV}`6_bRmXYl5*x64_B|FXj_sRV$ z&luBy*wUD;FeD3HiQ3t{-bjforA|CgyYlT`U$YE)fsx)-o1g!ps9!34_6nbkg{3F1 zL%JbeDt3s)PgYVY-7F9{#Xl*OJQ<5%M~2vh!JHe9mSmJ;?SF3B?u@D*|CWeNjn1?x ze52~ndDFbAbm0Eklq>&uo%O94w6S8hY17q&5hM5hMAq14V3GbyTOnUPc2XR6qciRi zClt|eLn34T?FG@ir2uXAkWst{PP8ByeUI=Y>^_hmB`|N>SeFo4<;tZH28E|QK-_`F}#foHZs$y z<6Z559E{VIXzDJI)Dqa@Hiz4njy>sKcISL2YjJwm&R7*`-M+X#dEVW}v0>4_~QTPY*Z0@B79)yt`P~6m%ZWBL!Ak%#QAdc)UF!YDOYWyG0~bq;5|`=@RYOPqwv( z+IH_u+^kc(w>!$m!pP#OzeH%S*bhWXv1;}~VWit{4~40((qB#I?1WB3G@RwdkIDAuAdC=`(>9OBWAtQo+B&evkQegOi z?}X+Mo?@&zj)}4LzEX^}kaRSR7cRwans{nwTBwERhW0fVOz{;=DT02oH5W+sq zLr(W4GHI%PQdwPR3LQ8UUm2ecsUUbXc&I5Vo8}gj&BEa{fh=gmFSG8}P^PVuP^S{R zgsk|!xB?AUPy)t!r@H9fkdJAEw5t)b};Sr$_u$Q)vzi`!_;Rb8HwZMWa>)! zb)%H2{JSxn)n!VJm5H3l$qh+LuqkxImKH4D_;cz8_#%e)`}bG)XAR1_N#&PQs_J5} zR=rHt3L08Ba*a@L&Q**VzghB2L8HKrZzp2*;m2>4P`N~Epoo!KVFY_K~pgqt7h;B$-}NKH-Tq{ zM1M&6hCF4KQe%VNr9gl#hAgP?o6~bYbDa|so&LjTX(=E+sfGWbvL3I><2jloOQiau zxxMw~AaiW&@uKg+CMKDb!FDTo8e3~tbC&-#LHI2?L`>nU_98C$Av-F6 z8zxHOVrS9beWA!Z`#bpJr47^jx9QMD@7*`+Btk9=C%%}#%Fh?QyMnUIw|zgivWFa> z*!HeIeqiw5wH&y~b5r-ho>h~71Z>Ab6+!=$@`ONGEv^;DUt>JoDiYZ{Bjk&OI<{xI zPnx-ggbSrv{`sZgnd!GKdzc|#jz%VE<;$GO5avqMx_K~h^G<+ZyVC@~=L4?6HTo9b zQBc=_FWa$QU;2-UPcn6r7+5)ss=7F=B`5MO=rj~g7c)iJ{_7>t9X+g`7oRJMCtT+FMl9VuH~%%!a!t-D62 zuR`T=(P;W+C1nxs>W0$LXFOyLH7_wiWkPW%bo%~l=+xSTU{m>O-A&!-A?{2V zgLG4rVqBedUn&%CC{)bw6@nJbTZlV9C$lCtkkHb`Ox7 zO!^JlWP4GG`@Q{gffD`=hcZHrQm05`r(-0RzmCf zl{J*pTnaaS#kd)@yKF?^c`x6CRQ1b)?e>1Xjlt!4`@m zMG))fj|YBP&R*_2-6vx{UUgfix1}wVGAeHG+}@$m;=Zmo*8H^A=YIXpZ(bacB* zjSj$s8LGV5?HE3Qbpc<9sDPM`%DZ@K_>wpNfDa+b{W{>8D>lge^{#di9`6=OQU{%C zot}0Vom>txVRss@aW{J!1NNw9Y0N9PCY zwoA*(u+I6pZx;%o*eT|==p_jBP8hec_T*yAtJ#7D^i!CUqrkX_J)a%3M~>2!^Civ6 zOLkm#nSE>j4P#Vlt_g074iVBkcXW|lt*>O^&?v*a855&KZXXt^X!p1{7fyFS4u{F+ zggy7y%`kuZQMuow25(A5S^Zv%VQ9WUD@PGl!Faf^@6hNl<78DbtVmBn4gLweGC9!X z%8q*)xQx>l-tsM7ZM&~+I(FH$pt(gLR=SRg!g9VIF1x#1u|dq~W6{rkx@^AFD_k1UKuk5{WJ4tv*z zR6zN5t8g+Qa3AURa}___O8|jV!S%ZLtQkIf)oGJA&OQ$@^n^H+-DEC1Yz$R8<#dVM zk_tws8`i$)kd%A3Bd~{UweBGb4)W}9rDh~tdmmy=mf?Pqmd^GH?u7R$G zhMzAAaXi${3x&)S7BIzg1Jj^QOvzaP0W38pD|QNF#x+6TwDLC2jm%K0%Y2m;I0$4)|8jb)H?V?DVK7k?<5&+w#q{ZBBzqC;nP4DK|yWfBoLUr zlK(A~?ke^;`nMv`_QaCq-||-=ijd<8<8K^(h;uS%wGI82cf4*w5_71pc>2dEzznMM zSISS)4w!7&r&4c28fi| ztspMq$%f;&%^hIPYah)=Zxl1mGWm~$+!j1GB2RwltPT)A6MXWd$?@l?iK%L#-77|# zoreFMv9h46WF1u|E$3m@(<6nC(5eHg34=9@&iw`AZK{ zFO#xynOC$A)zZgs} z8^Hd0)wV2AbfmGrvL)0_C(QHVq0$c=ZGlfRe~&im>a6MfPg04W5aPDHxlnWW7@;MAp%`U0f-00qME7wE z4^0H}xGExeJ37agMZ$W+P$bx#&C&i#MO8<`kmA>~z5ZbeGP}_G(qDmYTm2Y5HlVEGD>Vfckq*A$`?>d>6Y_aDmdW%B>|%!i65=dPbx3t@hnjFbn~6|IVh3;{ zGkk*DCrse1p7%wi!Aua>spMLdYfQ?P&N+IMeJq6)Cre4JaN}uLC2(vf$;i}IP_Ulc zrEKU;5Ameup>t&wu%%seVO)%{)wQq{pAbkR5_A}K;a_y&r?aKyamDRR@A#wtYuhq& z`sO^4BgH|OJg|Mqx7siMyEnydh9jBCA7ST7hr_^K`mVPp6W`m^_}Zr2o;Zt}sMWPe zSu0*?Y9J8L_5tgMt+08{x}n zqC4gAg(O27RSsAy{IqapE>dpQCsoFx@mAFiU+(@9D?Y~BF3GP+ly~uj)~Hy}O6xi? zbO>1QdeVqb3`GrMSY(XG8M$!0^2yZw_QzeiO8=x3QjQr38{&j{ETg8Ke1&&Fhd?%guKgH1b9nZ@gBE!7WRAZ}l8E zc1d`pU=vs)049LwH-(1;uPq_tf3Icl!m)mm))1Q$zC*I*kS_($5bc5}LGFxrviaggdEy z!{VAqcZQ9q(*k8QnA&Ovlt>xSz9X+zC!Om05ZOxV)GDEjOCp)e1F1_$>i3s9z@ooMu$iohUw54qSuz`|H>DHdL) zHZ^OQ#?^Ta19QZWyQMQW;II-ON|mmG zoZUZynjW`!Il6r_wsoVl`(pIt{a7gF%4SiEjFNi{vCFgjFin@rSXJNBGyk!$`+|qU zmkj|Y;aD~7el}EWE%>1_7@Su=8b9ir7Br5E?Gh4b$Va z?+}e}*Z%f&1HkM+`vL~uF;pAA2O9W))0x9Re&@J}%v@pC65Y1pZ&=_2UM9eMt*0UA zP=7~xudiAGQyz`c#T)WXN77lbQ*0cgqf?S--k9ragkH-4!@kM(u*!BgNfNOVZ`=&B zGQ-5ogd3rSNFPFm)QL9Ur%o@jIYd@;eUt`tTb#OElGnk`h%1xokQNM^peo9G{(INo zaaHyrZjXDN%OYPqPUEl2Rt#$|XVT0M$%O16Yc&E0kxLWi)0|#1B2z984gs`B1l&$1 z{W@bx4LT2*y{_JWRswf}LDE8IC4IQZ>FB`|NU_)yHNT>V?fG+cKI5_P2wQyRmq9>K z9b{<@spMoKp#H5#u+oaa`|ulR)H4C1hwUiKdl{ug9{c?j3{a}3oi1hDotw7&tqYtW z)oG9@gUiXwMWd|x^?(^A&$IDSvZw3yf%^8*r^7k_tlA-^jH+Q4XY6FHq~yd10$42` zTI6Ba6r!5)&EWw{EC4{zuqEvj?9?GplnWI51x(mmhmw{`Dm?u{%SxY_$et)XWo4&)NCftM{!L<4Ry3j*F%=(_j}3O=p+?+U-T>Qj4f_^z$&^a|!2Dytx_guDqoi z_|QT(>aLW2!Dy*e;;nk~z0~9P)08+RHaDHpeRS3(sld9BxTVqyp04%HOrMN%VystQ zbQiF{rTiXhMODnIBlk1A4{RHVqra7IOy>HFpQ*fi2_p>~!L!u)TK<7C=cxdj9LeS^ zkP@t&$~U33a>SrkrJIC}mgC#e&!mWUqB11hSFZkG>gz0(lAEK)m06&S5jEjjF54*m z_ym-y_s0Uro@+%}-r`Lw@h~2|Vs_k-?gYA0ARlEu5J0GA!@ki*{|Lpp7IxHB8g(TXAUJnpkb^Yk1m1$FJ+ z{>YTt{t9BL$JjL%5#;)1+E16Qk^8#;+j7qAXKF-B{3<;*v4r}LTkO%WJ4q4CV@TwLCVY$Va@e~i#v%lq zx8v!LCz;TH^YtyNKB@mLR2BQ}D+295A$)WzX*V#OUb1Yc?M(Aaw$}6SQr>h-EXFE1 zMg^KqU<^ozC!CxJyawdrK5Q=dWwmjZy*Tkjs9z@C*we*o9}4YXDeD)p!|Z8h)DiK* z0COx9);ILY{HBm1XTiJ8&gCYkYJVx1%o8G2h%c^1u?{)j5NyS<2@5oPa~ICz(2w8_ z!{vywm~BIK2<9kq&T(SWi=LQ|TSn>-MR})_7hQa-16Dc58G@T4cD)|y`ztznPHe7# zxv`;xeU>3uFx{Fb!?M3(7lQ~Ms`so5B`9KvdD&)KCrd>EnWdDtl2PWJhKi+$*o2hR z32+pu`xHm4%U<;%+rQBbQRP=g&L@wk#Lq!}P@@)i(tfMDmgm_!Cv~7)9oSkKgfUy$ zih<7~vwRO0Y}irDPQZ{28%L@-ikG~y?oRWow$^nEL}fKI=9yq z@`kMgrN>d8KTnD?9%+SnT*H+i(o1zdOJIe`(&d8%c#0Vf@(-oG;8Pgd?w6C-j(RZ| zAn|F;gY1!rFB3JFJvZ#aD=&lIOaIn#H|+@lx7kT`iHD5BvVf{*ze^P&=XF#jSZDoi zgZIC3*OPSgtFerH0?bDQa z?8AMDSnE+mdxS^%%NAi4yh#^h#{j3;>))D(vwGpLMD2%vu)Z`G{R|K>11XRdP#;7uS~G>NdwF0Iex z3m+}P37S1J&VmiFtx)9J@aPJW`lf3-SqIR}jMXpu=x0SSIZ!n$ z(T|jlYt&8GWm!o6m8#9F1<4O*v#=#&Ckp<^6-qIyXv1&73+^h>9!D-s=P_Y9=O{fSr6PZ{G zFRF=@sGM^6T?@3PJQ-M9YNQRxj3R6WUCP|J4BQSDLSJ2Nwz+zJPPK(@2FwY3F0>>I z*gmY$-w-Zs0o2fP{h8?6VvJ?6sMFMv<8|E*jR7;xf4Z9YO0}%C-WpVgC8ruYyrU#c zk8{a(zpfVYxIvTy z8P2iVO4#3ji@ivwbNL>ru*&nP^jzeF{|$Q;y|5YNR0n~U+0(7Jc5e5}jq5g+5u(#c zfSOH7s|Swx1=EEbaSu+k{n`3bEypl^ijr;W=GVTLzI8tI-$wK4r4Z4bTy)1aEQ7`%m~%_@i;!21k|6@oh(a;trYqJKhfWSa_egk zRe>z9{NtHjC!N*(SGkLKzGx;rk`c^A)I#9;`zH^ns%Y z7!80+@rQAzKVUXE0Aw@>u^=4)DwmEXZUlxR;0@h$1w!-Ol~hi1pe?NfJ_oQCmkhY! ze4$~D;Y~G+nnS9@!G4v@iM$DV(%GqLq1KmB+DK3ek*;mK?!GWaB@c;0%<$)`#uffF zsH(Bi`sJt%G|&arNup;8mT1*0cYo_V)vRGuiWgYkK3xZqbLui>`5juigp906VKI9< z2-|F1@S|ZyJ={ro+f*qD)dHyr?>v-K73ja#;pD~)~L^^ zR%9Z@Ozr(+KIi31f%>;;jk~aXH0xcpwsvO4<^0s%oO1+@{Eym6VPvx%m?im=FJ+zg z%YGL_Bb5xm?4VL_Ai73`5Olbo1TIM?Ax-+J=f2>|BbVZ1=DE^C6^(e`KZ#5dUX5#9 zfo)+kou-VuqMY73UQ4(y#ZZ?DlZ1OUkC9_g@Ij_QoZ(K)^wJ*VKxy!UtYp%)lA{dN zsyw}{>9rIO{8L4qpIn8I_zM;jWHHJSe2S(yUlQ}9rcMi%m2NPKq>N+nqdDZuv>lDc zI#7n%sfBJLDA%1s%)-Z-7RMmQL#%|;M{GcDu-d7!Vy{CDZ0cJbM)hEPe1EbMR!e2H z>vgyD8vM_*mOUUI^~+!^n}!zox0@em0DD{DVVZfw<2@&ua|{X$uM=5sZ|A?W0cSM7 z5&WwGeTq|5oJELxxYCaBlzE*dBom}y`9cysy{$ss3`YYe3q*Wgt9u0ZG7*oyCB9RZ z_tJ{L1*|r{P@KM7Vi8Ufa2g8*^D!3h?ZRyv=K0HkZ$)jMA0UuLVZjP-PM&&>=4{6H zx~BZvrj}f}2Y>X+&%>rE4ZJ#bm{9KU9Uowb6xb3=R)>4uB|&6X2%u+#R@@q0(0a|z zL*7h^=B_j&X!(967VMy~sl5zSo6hyx(2Q2KVAu86(H)!lrOzHnurbW?i@bUl6v}l*NLJR>B#dGA%+#2H3-CR2mq(Z=5*&DD76slhUPx}H6jug zzcizU0YurK>5?hn$OH21#t#FS)3xt=!s}PPiLLRnQ#J90av6` zN%-RHF;!>$hcj|IFz4q_>JIR?3+O|5vE zkngE4Hopn%yuEW^HD2H=lSoSXG@Dywx=N8ocS*|hJW77LYV#TK9EC?&*>5#pfCsWy zoU*w;!Cxsk{y9Pfm|oF@mj6sC-!JPxj1zB_BtD7hTJeCtaIkj8T2Pj5n>8oCoK1^tYO< z{gwID`#y@L79VECq7yPcr<2pS9)TSp{`7CGSNq-A6b#Sz51Uu?FW2ZGf{!z%9^Ok& z6MtOV2W~fPJK1)b93o1Q2TSEkOPNZEH|mG%3^w&h`^&eF@TuUE7 z=0o`tlqwbJ08URWhP4ZRx$K)Nz)?)k? zO!|?fasd(LC9ppK^|}F11297cgHZFjb7a;(Lu@eV4hG)qr>iQTclU*YlLq!6KqJXS zo`6N#U9e}PCjxlnAAuF7!l>PQrNs?^jTTzmI48lH&nEB_IQ4|U{ukhWng`YvFa!AO zp>2OWvgr>x3qTXTdAJz+3lRrCZC4z?k^KoE6ab`=YYp%x-20h@7)~+9;@zT(uW#CY$__oIS`JikN zm1>wWi5(DVfIW>fZ+NB4KE2nV*TbnO$Ig)>4hpF~m$h_j$Y)kp#bsvbd9AKW%2Zg#U(?^^Xt2c6`?@sOy*ZyGXFIhg+hZ-6y*umP* zKq5}@()g{G6()S34NjZhyf`bB6V-2&&okA(nh`q;FIlcM)S6x&Vi1kdV$@0IeN{!J zde2O~_saP56?^TcpSU*09W!icIg61SvvPi=s+y(m861%*t->nfW^#}#v+SJy)lN3! ztkP5*f|po?vaxKbr>cn+*>JjHLP>WsFIDtTexC6tTJbzPT`6kwcI_6?s&F?S*wFg& z&BHb~;S}_}Sh~1s%xs21={2$<;ta$ZUxeAA&;Hy?D=iDyZ;+mGHh{(#2Y3_SUNi*I zBD2`+f!PX}@v*w>N1+>4*4s>9KIWMplSTOdOO$kR%IQ4nSMxoKOyvF+$>Ehkii<5} z7l`(cB%=5}Qx~S@gI=EWP8WW54zCnjt`gHuJRK&!L6U54J*T2iGMAnYDkXjc)Z9~< zsZ{$;MAkHYc`-|sou*cVh_}XOQ}0aFXX5ymg(!-`zMN z(W2=u!0#gn!@`c6%7^-+Ev!5@mA1VeyAs;g^Es=Sq(E6yX_VLgm85~Atd>=Z#&WlT z?n6d(g^xtB3d9OT;gs>4+(6>6|4lQ`aOeL{Rls;K+mdddv{P~#yug5~@DHfJJON7g z`3cev@Dk6UGJD#~i=kCa4=o4IM5p@2A0gQJM!+Zrz-KwK5KzbE-N2#=R+|msO5(EW z^L`vo0k2Jfo;(BHB@mF0EcHvZz}5)7NtkxjARe6nvpLik?8WJVM@<13t-t1XKq>() zSnQ^L4p?UoK=yrj!i7!L7<|IFVGJP|eg8f3uw#oFzv1^5VLWPv( zk7_YnL^yUvY7y{yV`LVmp;RTt{*-;He-xfqK1Ae#klQ9Y4O*T780A?HPrhSE&U_ho z?Kk>W2jv{-8`CZg!?19eED+^x81eD1#SXW($|*W5HJDQoucHNxUa>Mmhj)LiW*&b7 z(=fSWtRV7!fIf#Qw$M7K0ljx$B8xqn2|I_0)u=IeT3)Tm3O>CFD5j?7-L^gTR}bKeVV5K(rvFZl$1vxD??>H26B zjYQXH48djj>Fz;_Z45~Lw$if5=v-!^Qm-C>E{b+kh}ZI|bKt@-g#*&V00QBglWo@s zLT}iJ%f0l-yuhc0OpK}PXmqll+f^R~MWmmajvLZm$?~0a1cIzFcRD>FewQ>IX7|D< zrDaWuxQLwD)ozf5O;IA{c{0I`t?PNKk*&ji;}Aq0S$b%Ko?&L&!_{rsYU>e@!V2AP z?-+s6Kn1k?B$yzfOjSO<>X!0z!7C+M`gEv3y7uJ3S4e2YTwOm81vcs;O@2X2! zqCsRvq4u5WYgXL;YNQ-AUxe=QiV|Pxo;1=&-xZh6<9hAS`(mj6LQ>B1`8}m70%`%z_<5h zq3#cx&#gT0Yr0?ViE(zR`WF3Vp8~ANSr-bM)oNSDYI8j>fd6&b0beI*q_E$NJwJ>A zzDT+5kNsIa8{qLh1VMHV#vWte-h2jql)uvtU={!SDg|!va>Ld;04?!2AE4`tA@c#| z-e|%%`vu8{cfiFN8#)C-e8u_M_&#uR{D#iqEb`T9^-63u(t00=_7MqLyzz z3(@;u;jCk#6gx1mSXzYXw^qWsvRpECad*Hcz0jz}B~c;3HB%Po94az061QpMO+$4g z#+cxUC=O9|3<74`HIP9^L?yhLI|%i@K>y5H{s?2i_c?*3R;E5`oOI6+miGg!a!@5n zMNe5t+6Z^Gv#+WxOvt5;6ml?((-*ONzrQlVmoV4E}%yFJvL-3YV|9PiMsLag~{pU zv>V&Ipe#MZZ*6o6LF0)aYDv%c;|`c{}c-W9fsW zij#?sbxF6z_BpQs>1z+$wk|W)-Lwb??2U9!+gnr3&Lw|0=~d#Z<=FboVSy?qVM)n8 z=neOc4I!-+Q#i*mF=U~OV5uw%7CLR>A3Pm9HP$Wf^mvZfXI@x)02RPL%*yXBW1|0P z0J=xY|3?JAGA%SL^>@nysH83ceiC#A0eD3Q&=>#A*HG1la{Tc9#XJCHcE=5y(SU`~ z1uHs86(d*+04p9Rt$+F20G(h6{ygAq%vKqp?E=U~!0Qd*gw6yp1%g4?`{CxbX>Z5J z^{yaZ(5<{a>mxJz{t@*PScr8G@OX`ORlsEZbHpOcmL9yDI_T^bEW{V%7a{bgXA@*= zDx|h1*(Q|Ll{`?HPgA0l_RuUEHFvKx-jyUqI*mZpHHm$78jv)|Jr<`l#EY1g%5&NX zXxc#F!CY77z%E4z{@STb>5Hy#6Y$ojffc{}f{Gkd4)MDMCGp!pj5uh99N7%sa~?OT zvk&CO{$z?U9HDCKYH%qzh6I$rSCbh@yPsR5{URWlu!9^Po=WsBVm#lRyk);xg02|! z;9Fl5&R52S3L$>IpL!?Y@jpCH=Hr;)q>jI|(DJOgS%Cg?lUo`=X;ID6@9%fry=Usiej?ORV73EqwOL6#t$r9V!VYc?|UPTW1tNNm`eE|#U3Rt#It zk9vRzvG&|LP*1DnN6LC-J?`r5Y_7mc)AlHjP2=VWTzxy=b2RvPQ4u8DelXI*w9?|# zvsmBdy)95*=?a-mv3ReiktyPp&0I97BU5sW17GZcQu%kSu3+<{J-HFx zGv6ig@?_Nq>^ecgWzKFw0BjHs(4QDfd2I@I5Jup#d;?b8VwJoblSPKFptsj`5sE>j zS+4!scCCZRrp2x+5D6eldN2xVA{B=59MAm)yxomsn{EDwbhp2y~eD{^CEUfn5phUiQU)uUMMCv|UtR6{FJ@ zYb;r5hgTcsenx0=Ze#fkm48qQ9nKVkdjk%0t=is#4ntX9T?h~6>I0CK|En?)RoHQI zs*&WvMsw@RlrwURD_e8iJ|jbEf24$r>-8D&-3&R5c|FIpd)@Y%W_|J8i@zcg*7aHq zVfuT!wvttdZndFletEFC3P!`wT)y{HcsB02Lpv64!0UsYw8#Vss4_4ed--g8A(E8` zJ_g5p5ZwyUfV@RhSh~r1Nmj9PGqFr0(n2)K6HacgqCD#g2_UQT*cxvI^ZV1EHb0N= zo=&PB4>}O&R)JMXBnJD@zUff%i-vPSbMAuL(Rt$obe0G?tF@3k7zGw&m&8xkjk$>` z*e2=a1jnPTJ;0js1?4NfQFvkhsnOLaTj?mtPBdhJEWfG7IDXO_;!x+35|=&Xukr+9M88NM?!XTc*NWci-*DrJS2T|(?&g+CLN z=QYWJ0w=Lxzo89(2=oZRR0IQ(K>k{&nkY^cphi+jM{0uu30ONbz?J^-XZ~ZygoW%f ztSi@UT_K#X@Eul7esyeW|2Fh^5r3{pcm)s1dKZ=T2$Uq2Pg(QnV$VCz_I0iwC+rOE ziENp7a&3D-vWMc-hIsFgd@zXZzM(H31i~j{%cVc0zEYtMk1Y=HQkXXqJ);+Y;hk?m z|B^Knsy?pCf;tR)`mZ39|1Iri*azYwD{B}hZAsNjk_gJiX;lt%EjfktuVH(Bn43)N zzSpgQ5QBS(0t`Zpga%Z`PQ@@Mo{u}b zpHgjgx$zg^UFA2ANaTCF&Z>E~Dy}sWJ;J}2jXjiICZ8a;J>497*pPbM7IfcVKQtVr z+GO3_&&7OseCX^GS*+Whii+`aeoj)t_)V=wI)DBfHpbhz{Us5PkMn9?mi7GkpT`*Q zCNa3wr+ITCQUOO1m|Ei)RXvf_z&z%*u=ScTGk#37d_(k^ODze4f zqgBXb-9?bkk=OHdT2{vWu1lj4DVxwY1GmCz{;Gvd+q+M#&}fz31lXUDWA_HK$b-0N z8Dtd&@g^Kz(Gg>diQUzRhltMREm3yWzTYWDBl(mCWp?EiuH8C;5BHmKR6RRmSpC0z zzyEvo`UKSe=f1Qq^Dv;9Ma=p53;Wkq$xI=Ig@U6#-gM<{^4)jF3NqT~5rvu03)505$3Ck8rUDcqn%Q@?<1D6HUUOVWNeG$f&DRbrJLIuUGV*){;iYf`&`PiZE~F6WgL@ zqyE~Cw5cG;#IkCNI8NoPd^PKDT?M@fWfu))tVy`Q%<{^EI{+><5uSx8gmhBb4K@B_ zw<>B*q-yc>$86;J9QS!ab%HSa4ExGHWtsAEczT(3SY8!HwQz3blL_ewyjrjlVIsYr zhIZJMk~B;PMx~u;tNdCEr}<(`BZE)H`LfU7rhWMKa{M>is=#e8xU9S%_fV=HKCcdi zK-w-3GJ($^>U3jWh>c_gGFc`2`<_zKXZd2oL{jp&)5wMF#tE(KqWxIx0qz45QCx)T z27Nb5`>~lZYfDLaH@|^St}1cd`Q&8F&}*tRV$HG?>_b-L+apT##O(qu#G1KS5zkI@3a3iYRb4hdr70{pbsq zNQETC*=iTUpYidMYPTW+3vY*M1$st4%^yoW4XEn=0j1CaOD(vM{v(L~FZjOY#lE3# zV7{gGw;lS=v$gz{C>%ZRr6$NG$it!ligVLwoC#z0K{l$Wq6y(fGMb8X{PlO0irBGd z7~#jyH?}r3Q-yCYDaE>*d<{82uo9KKBdDQId|Q@6RYYLu(NSXt?bF&hyaWx#X@R%` zR(C}T?pAb_49@59TZV8O{|Y}(J1m~KiZg;IpW8RlQx^r^g#;bpMaaK!Z&ZvYthnvtWU*@Ti>AQ$`3Eu_1wCDPHQ>Zfa z^f((xoibz-GFqbK){k=o=}yWhM-j)9N~?QvqQ~K@Lub$?!nmf){G5(AP)ZG#u{|d( zIR8!c`^$L*P38Y+CI4%qinZSI=NAlBGipm*KGnZ^_e144^8daTJYVcO@O5zV)A9(` zmI1nr8G{q0l190kZ4lJ7Td%tW8@{hPUtn?3f|k!&_SZuTYORkdZOtvV>|wFCAKD!y zyMiod0@3!{2rHMYN}U9LY~R;&rfd4 zYT3^@>9ZlGaFdFQP=^zVz_U@{w%_uDs63tfUo3~_p9VF>!3z{^q!bKo?ri91x8j+) zKJS8x%I9@b)SPzIZzoI(+MiS}AJKwVJ+)3}cy>je`IQ3y`i;Z`mX{3<9Dyrg7CxjA^#oIchzBDRI{D~_^d+w=Ne^eMau;wq)T8t&NrA(PG( zWVii};yEn~+57L~n)upn&ZxM}Ke|1)rQtqU_V~(t{12KNtcedh=ClisG?b0)em=Bo zKz0F3wTa}i3=0gUL+V%f2&f|?nS`M2*(LNr)*0E{BF(GtSs#hg-N>K*|7kXw{lCq| z|K>mk&$I^rY7UM)|28pK$xH~uD5n)Ud{1)MssMrjpJ<3=H?l*V=dYrZY)(Z zXHv?n_@vrs-i6O^ngN6JP=s|Hx?aFZJ4n1pafeTPWSU8z=-nbD(z za%&>|btNQOa?^r&#PkxRB9vJVm2pR;apF(8QC)w)Tul}##}Hb>{hPZ3=wQfs$3OJ` z4^|S82{pk|l!A%SCK-b<;7l5}*MP%PLE% z7P6WzKac+QTEUheS(FUbnJqo;d5G6>_9B5TpwHl})N&}yRJ4-Nm-A$lzHhnY9NBc$CBnyaZV0pvY0Y=L5>>%6Y-09k#Yg&=Nt@B>CW+u>QD{;09F zb#`IzLGg8%@}J6L+vJF~w{UFHW*qA5>P<`-lEgZccod1prJ}`M7)5|rX(W|cMV!O2 zo&R-oc{{O^17pdIz0CMDfvO(4Q*GT=i+@RDW@TU3C~C@R^HoC&MU2tDd#45ZQOqwY z6~_XC`4xoQSA8k$U&CsfCDqqos$bLOBFo<(>#9^$N(!0R{b$|PU$XnRl4I-NwcDUK zh(fxG0Ui1<_IxWsKn9pun~}tP_AmOL&qSUO6ftBNtdW2mFvM~DQYkk(8|s}n=Quu> z4d8Pf;zbW`jKQOt#;>?;qI&&`-3X=VnLt(@$CKn8rSDIMT2?h$-wJOQahNtOn-t8g84~#C z=iaSMYGJ=ZW`0 z(7B<5^Rfy31BQwm?q!1x-UEvKx+a7B`TbQ_jV(29SZ`O2HujN{KCv$oUi9sWADcd5 zDqg7js0Gu%-#_o>aF3Q3DQ61wY+9YbmmB#E9!*YQkrD$t33wVs!(E%go9Y>{Lu%kT zh}Wb4btXH#PG^h|A$rN7D>csO^}>oyt$#PmCtC9CICvZ$ zp9A$9^Lq;x-f1w1Rqo1^tRf2gcBmU8Z!f<&3@5QD?bP<9{W=rLAx!QQ_bjC*+N|p) z*HkS=+77nOVn0PW58@r_7<0#z2&Mr8m4&KqI7|O0YAx8b;fQZ$*01+TCjw%xUzrGE z?R-+-r}?Tm>psZ4Rw7-%ohNNAai7qE7u8D@r_GBQ6_~fK%!M8~jp7$7!a{?67V_&g zI&uV}>Muopc}d#b1QGg6-c+1d;pir@3>ZG-!)wiZ=oG}KLymuB@R_nEjCmP>6+H?? zMd?@=Tie62XOfZSgHpu@L-Ku!yb7?3;$Q2!;R(q?@%^X zTq?{i|Ffwy6xN>$rNEJH47+8SH^YZ?+A*)xET!W_$C0j1VeG z= z+xIN9t_PE$=D%O0=@-H}Jt5>C{CI`2YRMr&vH;~ZD9dT06QwT8nyY${Cuhh_Sdwdo zYN5!m0OgeF|Gj4LyThb%E>7Ztm3oc3*xw{Yp-Z2MF|Up0yVV4IBvfHpG8uJljVm>6 z+W;%2a0^pD7ja?&ZTpTG;V-J{$ZlHaGqswMn6?cOGpffxGi6~m_&B0Oit z%R-g#%ug<##z+^(Tv3eeVx3D(?y{tGi6%Evi|PLBogJ4KNc@&_Mo40@`~Thv`Asq= z#TZRs|4#qXg_}bhhG?Hmll9 z)cy1c^6W~w3nB~n%3^i&o7zL=-po&o7eAd<)2w|p(%s#i3W}7(qLBsxX$9#+%Up_GJxE)fYyQNOXy+55cveDA&2pMOfY=A2`WIiAv5z5iQ7j>Ay$B8j>) z@9)-6iOgyhk@zGWzS&QuRYl6mj457_<#`VBR=1=}S*!gCCq@zc*9Nmg3xxl-!Mlq8 z6Uad_XFztTl}_QT0|&uO+u5$cJ66~2z%{VkX5C>yg!!RkO)!Rbo#b?RM=$%0mDyIr z{Flm1^8x|J?0E$z>|YzTc+)}U6FTz7=KAx?CJj548CQ8z(lY4>;z$_Be-&DqZlz50 zX&E4;7+t?eEqms9wkP?U36rFh7KzUj{vE^OpY&g2lYdl%>%m6H;&kAGwgFywoku{T zZQo>M^-e^5x-9yXgU%6L6i>d|{7H-gB9gqJ8A2Uj4|Dxrvq1U%1o@hVeB$xq;B0AFAZ5N>5^OzU_8(A0cm{ znf3g}p9k%dMm$fHEsh5_*s=Y?@|>4?=a&7rA85aE8E(TA9eF>YJWZu`^Y51z7zz9X z1pDW^>jugi()@ydeD($e3Tw&CbB;{Y(LpV?JrQVU z(&B4uxWHy54BlBO_fgj-4AQyZ3IH?L6o6tdr6)#{euY&F4RZPfv<>D}aKu}ew1P`C z{mGEoWw?id9!}Kq`gvTlLqqyqd}Ez`6Z87jn5fCuShxz=g~~LY1-EDWu3XdK${GGH zpdEH+?{Wld(bqY*WeyqXXd?C7(fcMT)-*#XTUyoXQ|UDH`)PSrd|kUfnhX(8t7v{;*dE)HgJZBS&={RZ%>e-TX3BI&}{9lFzP@(0CS~XMB&j7FWA7I78ym zw1N8YKc5BEZ1j;*-6F1o3+g+iO1~|A_W$JDp$P@5&G5^SGF{$=^pU}GrlN0Ihn_EE zl{v-?AeAOAWm)u2_DtZtZ!L4nL0g4rmRyJbS5_eAfcx-W7*wMJG9XKD2!5L=#ZHAOwN;DD445gmKn?Cd4@9tbfl<4&c2z4yrP zrV}x8e)lx7c%&s!dNz=;$x^7?a!$SF{Z5AwZH@+bLN$dos?KC6S3aJa8QEaCzxhss zDc6Chv&5kK(C*<3*^-5#R;|CyjKNFV?Awv`VCd>fxc=soOZ$7NH=d2T!}H{SAAMW` ze`fT)ip~5X4E;b3VVuD~jWo-4(0<_0^x+J|k+Ho1j-ft(3{m8GQ{egFJz;Wuv^{*9 z!WqAtt)_t{S97<=640VL97Z30TWIx!>}#lSq2Lh>6sc}7eTF?&wgSll=!w6}G!oeK zKs?+-M_M%9CeY1z0bl37@Eq+aoF=zFj9!z#mB=@bu3Xz2pwdu3PnF%t1tLC>i6Ib! zqiyg@6fV&Y@Ec#j(t)YD#fy-uO^~w`Z)#BPc4Idd66dN6(zZmD+lRf%jB;ILzr3XS zR@K7HNE|ns_##?gW%VFCE+GcIzn;@wIU5=O{`{iXs0BV#58f3VcZ_YSkq*Rulr%3n zImOFK_OSaj>e)h5>mxEOP7kOF*`j+;dEP=g7s`gt*2y0rsS=n44Y0WcTMj2Y{1MSc z)3x)01}qwOg$>!ND3RW#*ZY}AbKZZ>T#=*HM&#SzDMC;0DI znow579XQ^d#^TBU3@BCc{|*5T1UOiMsKNERupw0e9U}lCL)KBt;0%Af{Q;W{tzv*A zfV<$T{SmN9J%!Ux0Lx!?pZ_sHrKbZN8sKdIi=PeV&3+IPfp+Z%_Vx+HzqCTuLo{fy z&cM`r89se*&ov!4`UCgIu!t-*?mD9eWnR)oFb*eWA zjeVIg@EW7*(|0LH%*u3Q+K3Yn)Es~#BH}r~1(VZkjIzuacr=6|FQv>`Y!?(ar4iim zjj|D!?=2eF#Hcdzy~(V4UUBt;h9;9{$r<}o-8n(oL*4Wg6aD}JVAoQgE~XNS@5BV_PBk7^gE7b4@x93Bfd~Ju9MfnTivQPPII7+`{S_uRkE-%w zHb6lg1aIL8lI?eXk^(!Rgn?ugVCDV>Rs%X?2l#tXJ@$ZOF(m%`$)CfQyn02+S-3>B z;K6+dh=!2Z622Nsw?eK8zS)>au@AG$4zzuqBJG7&I)?BC95cS^)O3d<}-E8m!>`N*fAFqJ?zwwV@Tvxep-Pa zk3it7QT1w2a!@B+@D@~-qpl}X6^pU=FKxqrdg8hF3Ae4OOz^=jwYovMan28YvsWDa zN-^?SK1k>^9Vi&@*uSCF<&iUqeRSah)we9M5_%m;Ra_NN~zpNo|Ka9 z?TPl}6?%LeM4mBDLd}chQtWNg)kiUJ@M@SgO=oET5x8^$e$vaK$4gKVK6<}m(I#=v zhuRaLSVZ$I;Jab(dF?;k%E3F@Ya1|nK;i*rPusHi`b?NL2ohP?LUwyKAMo1kOdTkQmmLtB&s&i)bouj_9He4Cd7JtyGt=y;2#P+p*fL8=Cz@5i?S!EleDZ3)Pn za6-uc{QUR_YWxw}5g!2iVXH=4OwMt+gE2_JXoqs9&KiW1050dM%(_s^FePc!r~QFH z>X-3ytCn%vV}%HYE>+gb1UdXZ5;w^nQ(4sXrA&p4#wmK6xDuXC^UFfEFin~0`dLnU zzMt?)X_6K#ewAdkBKu0ti3M5UyE9UM=INyQNxbJI*G)wJd~21#$$QwvUeRsF$&kvY ztUQ?XQ^lK2S$vZ~O+J!7>gIsS?rV0=(p+&OzH5E*; zwdLmz`%=0RUCW2N)?u_w_XdN~nK;Y;nZY1R))T)uB|728b=MGP9oISXIjeV1q&o55 zyDd4+q@Gn&zRPSZL~%Q8dSGn!C0FW;y?R4wB_;4m zO#=#h5FpEt{ppyymm}fyq*nkCJ0_3zjfW6#;Q|*fv@g~WQUu3~HSA;+7SRnV7~J5n zjz8J7_JBHgZGV`n*0dfShG7?-1>rdndjRc~od6FP3| zgQP4_uzce4eP=PlYMTR&_>IDoNkS1Di8Q=EhgkXT_e$^h`+RAXcEv#!lGt{rnKKc` z)spy=T&dad-q)mhhMd!X?EOoD|0{;bSN(UTJ@@Zj#Vq4-V#=?vXqcAg=;uL&CGns* z_il^R9^a2eZjlTu{zi_nRjckM=yRp%W>5|qAVT61R*^{Z-^$8gh!E@4Cu?g9XDjB( zWVK-WiXAmsGLbM__QC0;k>MjO?yX~|7n5`%uzT4&RE4XscjSKb zYtqXfQe^*rJ9~oLT*xf!N=3V<&8J7(C zsR`k3zI+fUXHo7g&1^!6z}JhE$q|rI4%DhK(*ICe7cB^``aS2-&r7S(Rd=N0Bjw0P z`vjs@RiWtpH>n3xYo&_O+EX9=OKn?+}}`_0jBjWnVE~ zCz?CsD$*xrjhYM;77e?r5>|Y(yPc@Y2~ROt{OW~hrI#Pm@X9xwuH7IpQy?GsV03#g zgK{|4lq+N1w#AdQ2@kjM-OD%u3~%H6ao%#F3Tzfhm&-Ro%&+EdvvX-6=Df-y8E`GB zKM|4K?`YW&cwZs;{xbW|oYadoNPX9O;`GX-XI#uzgw8^vt`IOLJTB{XK30EW9rrxu zuPJ=Rx1~$;lAtQ{?K#)}pA7PMaX{6VO|F;(#uF^+vF2o}r%i#OstYn6&jE_AfRqa6 zS_$aApw`|O`V?i|eXo}lSKZ_slPF zYzKpR;oSH=^H^MwfLHM>bk*ZL-uJOq1nG|W2OY+ECT|OTdM#k;&Wi9?Hq{CJNomJ~ zA=099_Z8zDk`xZA5P^T_!F<1KFC8Q42V3J5M{2G2+(NU@Ka?fWRSfGzN{71e zZR3A*jF86)DgGR`8mhdSX|?`KquVj=^55&p&+*E(QKeg(m?Zl2#=jNg|B567pLC9= zKp>r)s{+xiq=%)tiifGGDLfdwV&p#qCr%eFYJy~sUVW;x%d!SK0&S|iz z;=z4bxW-(ve zUIYH}A|b^-c}>VEsf|+0%K?Z=jul*7b+H+sNj~k{)7LqdR2Pn97*ktPxh2k9fGpJI zi^CFmrSDXa>f*lslyc2<$P3doW2lrTVnJs-=53xvWts*3{D`~9Y%jG~JC65@#o;yA zl!kUoQR)GqsO4Uc8kI^Ui^$06=&c8SIG>-7cvNyds!QC`@)5ob@h`E<%~W@BtQ6HT zWQTQ~Q_`^57?YW(tf`liCs+>i8UE)fNCQ(K;<&Sw?$Uo(Zz0n%v@gKFR{3(>4(LDe z)jgV?P3hp0IOaXnnAD9=<;pRS5KzpSq9}VKqs>D8j`#R@vM#i5=T1$qrBP(_;j>rk zy`Q2FMJ9-rn#nlrc(?-gtlr9w zF2>si6O&H2*dtj7Ez}|8iI;vrw)fg>&E9N zs2YblX;R@n!;}&h%J=U?ta|IS-e%oZBUjflFrdi4VPFvX2!GS7E8YUP-}dzlYf?wl zt@hj@JB&;8bF;Jiv2j$>eUHnIK-E{E5X$&X38zt0@km8Vr=$un09)E4LLidP+PcXQo#f471aNa$#=i89X`naW5RV8Tp3dcGH11oCmD5 z&ACC1kJsXGznbEPkx>vg?nLn%wkQ&!yfG3?ZPh*%xRCicj~KlUGHWXn72f5)*mPIm zYT~#G=JS|LHu*+O(~&e+ksp&C!VtiE1K$vv0^dXox4|?@DCbdoT_V{g=a>d07ENdJ zeXmy3q{OAyf#(-c!peF~e2D zhqHKz%)bw^mkS8TKlmJfFx<+c+#2EB8lj}?tEN0ou%An?-}*v%oOkiK-6z00yR~uN z#*zx@b-yN*;to4wGIzg0V1qVqSZDhDg&~6}?5H3z5rnLOUm0Ci1AiDMf`7!I!Tt%u zBzsb2oyO!g=MS~qC{AY&16hh&BCfqX_QsRql4Mt?$Ch)aCLPDd!4M;`z22(dc$}^S zurksQy3I-iK9oz`w;i4*iePp;YD82&;L|G_#z+{RYWRGC^@R6nUzqnzo67Ug5^!kA zEj*^XFDL)&f`!zNwl3S>gI3S~Lrqqg>3#^$i2%(Wy?h~ouTs4D&u>cO!w+2)jijNY zE#eEtWt^{)$|j;D6+)d^1sC*j zY2+ouUw!iG(8sYzg-htpflGL9Kwe3`{}t8=s>nxTlP=WyQ2hO}oF`EH2rMOwBye82sa zXcdw0zAd0^IH>8ph(f{5)sgz$f`C9Gmk{Np1GR$RPWs?Vh~*)1Yfl?j+7!tGA?DKT zqNm67sd#6~3`Fl*Opf|=JWM*tTUC+vlmhNE*kSnH6lP^vtcIk#EAO#L>sU>Q1%{}u zZ9n`%{--JSQLJmzO-*JbTV`zi5^03sEy@t!D9#tY3{jGc$>VJyC;ZU zg!2v;rW?JTOauwv)28I&H>&=|_NKjf1xb9NWWdy7)4Aw z6aR7OP5lqYoZz?F?c)#cy^UW{utF*D3@FSo>~#mP(OurJ4S_WHOpBNOR5gd{i@j#z z`SAl($cyI3H?3Sc*7yyU)+21gRAjF*ekQ`hJm7G2F1@8$M@gejkP#QbphO|$RR-a7 z#m*{;MvuL0uQJ^-mZ-46S`S=1q!H^FcP0>lArJip4m76%@?LOllE{^A29B(J|Y&a3I(h82ec%yNM$p^O#SU~jG z)qr_71+GcvVP+3~_|&6isJHB*1Tvm+n$!$Ml4M*uQ~ex+tjJOk_*|XAcSem(B;81Q zy3pk0K5r~+eUjC2zril%LrcjyrCApa|8PUEh>LLwGR=cHL!<+rO7#i1xEe)r@&vAk zePyceL>&tvpss;j>HEoBrMca>UhNg_U+=R()+ru%r2lV+o=fz^Ido$$19_d$9L`+xD|XvT4*){NQ?rK-oMRa7MJ)JbnYFCH5-#L*V0(>dW$Hyg5b z_l4N^{`+KqU_GvZf*NMj@mwWMcRvkhtY=cu=3>DhfDqe~w2}MeV?}S66eBxegjzY*9c(j&SV1+dT5_d7^{qVTE5&?AYo%N>WPm_ zLtDe0`6=T0aHUC(i6BF|BZn7V}!kABk8t)=&VHK7e# z!iJxfoNcr|Y49s0zVecaf3?_8su`Y1Mq;81IM-E2ThQaLU!X15`jxak0?&yMttD&?1g*7)$R_le zY$vxD-c#DU6W_#ok0GQ{L6U5qzK-pcHX%NUdPpiIgRAgCY1y*Q>fLv$qxdKJrSAW3 zDDQ~Vi;Crj#|qDB{VnRffhww3o=Y_QWwX;UkM=1u>$tJ8Vb>BD=DiSa9cn(e1rG;3L=wC7S|7J2L2=8P zPc0)2Tm2odusGV4sFuN9qt3jjBx6T0l!to_gR}*?rT6RXvdchnZ;GQ6feBO3<>(Hg zmpmv@?##8?fpEVcORE5aop!4jgvoq;)i;7hgTZcKsEHL&_Um@sU7dbrhy_EpZpRbUK2zNuOSh zdxL?rQ1@fTlXO%{B`dK|_j+w9GuVZHzE( zD{g5m{%6g4;om+#Tjl)@s(<_ZeD~DWr+>|T-P_e4^DQ#CUKdyuW0%clK5cEGgE$8g zsIL7vKLCp?#nKc)#uETH(obNF%0U;;5^6YFUQksjLt84R{^ERJo5mGGV2$9#$y(Al zPjTqchpJ4N4upaT^w0U$wQHH|QAV#r8Y6kMda+&ZEFkyLDpIf=0cZBu*jTe?b`o(8 z^s^5kFo?c^zZpM@OH@ZW0cY1+TS$TW3e7< z%UD~tBa!F#q`t3scJCyb|(DLxKZX3+klElC(|5_G)%!7#6X@oPN+}X; zUiubnzMV@lY3j*0x%SEyNw#UT=y4NmW`S;CzG*Ezn<_|)b)32mprUSsOioV;Oi_}n z957wIzl_C4{9%hrf?~^DyjdFz`rA2F5$%^BYFD)aKaP@(Vbwl7j*XdT-niQSQMY7J zn#4Wg^3P8IT|7KD+K0&2Q2tYZvzBwZU`{W+mW8J%6l(LjKE#Pk>IGEhV(5(l%?b(% zs;sPp$&^{PchCrKu6Y0h@eM3$C5*>h;CWn9)XHsm$LP_CBFsj$ysW5-EG9224*N4y zVKi_GtQ0hgF5#&~c(`x|aTIltYfr1LtzBxjpR<-^i08&y&E=!^y>N>)eEJ(vXUHm} zXT>~|s#jncsV9EvYZmW7Wl}xzS1x)LLsa#LwJQWeUA?(t^h5~zUNcT=J+(nkS8fA? zGSP$*rCRaqFPKW|69U9h*LXs)L~J;pa!C7uQ~f1CM{soS%p@qND!#KS3 zeJkvar8K=%rYk!mY(Z1GrM*xe`-_!;L&HA=^2g~pj7lCyjy{BW8LQ;P1VM?s{#^kw zQ{%W&1^PVT|J-(Ps6IIJTAZ4emkYW@5hX=n%A5PuW#b7I^6AG=vt9Y5Kkm`u;R+@Ok!sp#nYaU_X>A1k%Qv&~SmiT*E2A=FFvcZ*0QV01%eG>~sd%28czOQ9Z z5z_hT9oBtpv{OY_sQ2(FDw^q%+oJ7qu5JIg?|NS9;+d;d8@x8nr%O@27nj|!mDCZ# zOTTwg{@ZqpEwR@fvZ2%|Gn@=}R#dK#QRQ#Bf<=;|a@aJYYSz8&vYsv@b`fQJ<+a&e@WK?*nw&>v#&=P!>|CMsQLXXmi6-|(Y=bcF6t`}cEv2LrY% zUpVNg^Ph*_Ib|XKHDdW@Ykx}&qw)&ICHHaa?)5arkFTm(LL$~!4rMpj@U;cVYS?B= zp5uEujgjpKTs!Fw1`uR}%(X-o+8WaP{Tn{GMjyYVN|`O(41`%3*F90rERE?~rlJ1h zF1E3F*E1c*-o@EkA$T;`5)i@}@Q~|uk|R$z?KjYizgAA+eX61xj+|$!p@_0V&eI|H zaBI8w*IN}zH%x-TRe0v1JbirIiIzePqYdJ9cq8%5*+A;G)@z)1|KM^Kc@5B|p7l#i z)2Ak04|$4{&mmLx=oPCoLY7I<+)}3L_zjDTPzSX<`SY%;NG!^;$=i=DDd($L86NLu zX{bcX=#?6ZGz#l~^LVwJ$cy6i{EOAh;6}b?9bMegGV0bGQCbMF!atZtN98;IfY-v( zl&huWgHa0=5Fe(E^xR=Jfma0b;#?T87F_iObpNGYKVD669wSv7B>K{dS$6@62v`;?k@~jPUy7(${ZLDPQ}F@p`Rzlv`K?lkrA)fy=4kvQJ_?m!!$DHh2(YD}CgJpPPb0iudQCM5q! z$ivw$Y13!Q%996#)o)j6UkN@{*NYMKW~9cXxRT1*qn2A4)la3XipX%$L(Vcq>EQ&3 zCt8G*I6KT5OzNvq^Oqj9q^r1)`_5w4o@iZ;MgKC~$=N{8iX<1-5 zpbNT*Ij;PdX?&cH;my5Ib6+!(rV76)$U_Ihhf04hx!=C9q)dKB{9Hn@HqM)MOI@I^GRfG) z%-ch-RCX&OLS7b~xG&mHe@U8-Pg^AX)iA|U=NC&ZNWK`qk|lu2V2r>IX-Fp)>@&nS z@vy*S*(vF#LLT8QhV2n`E$a`kX`S@1waS+5A*c`Ty4V{36mArIZl2OF+FG(w*_W6f zEtsw}+LWJA*Dk@ALQFBr7~e6x@D~L*PN%{&V5^W$N>1QF;1F8>IBlE*vDkJ~rGF>H zU6+L@c2iT@nQpM=6a)JUQ20|p*@Z;}bBldomI>Ru25Wo75*=UtGtTTtLOa+P2`q6%z#<$*Wwg__T>K*w7vN;tPSw=zN$m#OCd zG-37GDt@{T@ELBiTnj5u_(C{Qk086l+F(ON zH2%-*f*Qdv&%&-y=A5RotcpmxY3gK~B-${d+FsNY4C)X2ZMJtghK<5C zNfLv#Yku*}cx{N)9%j#-)hzb9w5N?zB?hXjadmL)Nrfbs>5v+%bJ;^4&>#AXwQqHt z<8_{CfA3gLQ?pwByBSj9HI>lwHh6alBH$?hn=S?G3v{N(Gu=T4oAnkggc;y^cOCd^ z;Gz}2{qz;2Gd=U!(5gsdxbzqf6|e}WWT+LHE#Z)&$-{6rg88c~aHi4g{2l5m&@q~U zn0CPkeQ^V2@dH5pz|U|TFZu2iFPcwP6(ShvY=j&`w zx{nx_6MyLbYf;^rmvq~ zjOG3H3#6_bfETWj{t4Grfpk(Pvp#FOIb1u<%I|Qyqba>bSl%KF2ILib=6W(e$X1w1 z)SgWS`js{{Q9eVCZuH%Ln-VaTxy zb5GKy@L%Ti+mpQZ@}2wWu-h1q>P5{_mw_e@eeP#j`Juw>84odX_(TnX8#r)adMVvL zO0jUEQc_dpXb&MrOP6mU&N(e_!;adIbsY>q8O$H#%$_B>BKT{LXcAYh6RC2t=cuc7 z;WqlQf402FH8`V;88hBw5gz;QyVnI*IgT6b+XQM*&H07HG_Ks!EWcG+s_+~0wrOGB z6#1K0Nz1Fq(ayh{tlh^7s6} zX66DJYZowm(S;feIe;;3{oIX#_#RZ~^p4h$(|zDJidr-~0pRtTw{V)Ig`VO>7 zR!JxQ%?3?oaE5QZ-Nz{*7=ADF+LKj38A!(#5)vAPKd)bF@$gU%5f~*VB_$c^cVWj0 zB<&+?*t&%ytg-Povu|PIc3i zqfEKLB@xb#B0&@^>!+Lu%7?eVzr7{aV3Jrwz1@Y6%TPM8s-5)d#?O84y37O%TE9T@ z#M*AdmFRHKY$5%1+G`(HNn=_%=n`zsTTG)@UnBnK7)O&R*STseJ=nL-&%E>Cws^&V z6Kr&+yFK6~A``G9=QL4*Hr0b$RsjrFMl*p^^Bp*Fz-a7*+Y?xAS8fld1E1>sZ^s>I zr>}vj*L}7ydIz|4Q#s*|wLn|1;1Z!*EbuRaf1XA!VGsOa7}i8w3H!n-Uv7QkJRW@P zCYwr!t0M2cHh^|6!dQQB8F7wyR^RbTRf<=#J%mQ~B&xUMfGsdjb;Rx zDP3dmB926Jh)4-2o#Ey+H!wgS=zK$BrF>oW`+k*^B#MZu*(J2i%v5dTTPikfu4z-O zbp1Yb@$)YNOxSrclJ?aZ$I3`-%Xlwsxb!}kjdRSrdQS&4{!hmDaI2ge>oQ*Uq(vR= z(?Eak^&%R_Ujij}$5g|E2%+4lQS67AD1BuQfvq75BrrKHuS0!s$RPT^mJ@#UvcA41I3iqn*76?J%mc z?EUA%hD&An87hE*=`gwNjuY|!|6#)g|6M4Fte4&1pPwFhc7A&f?-KOD8g0ea6}SgI z54u#reFW@MpYmdpTguFSJBvZUYrL}LNA+41njPp-9`IggyyCG4jyk{xM)M*22@;`3 zJ5H9VKH#|oW{6;)J*F>qUePXvkvx)eW%>Qf@bF~fHD{ISwvG#J$RXtn*%SWV(-4KR zNLGUE7ja&d6KnaY{6qv+&Q5Bvx}zcaH8p~-gG@JcuQsV%Jq(ogH<}~D!LpcFnfswd z{|nccd7j=_v+nj|5cTZ)yi7*1J`pZ?%OexpLM4T1rHW#G{K`z2IVE=BzAx9Z;=npt zXGkw&+6gXk>0YIBJC#z1<&C)JcW1pk(eXXJ{MdyjgK3^^%A^7GzYAZK2$BCtEPj&` z$7%4?Ta0$=c&GXZMoZlPd_iOsznn=doH(d+vFY}8&i`#-6|EF~np4~PpU$Nd%!q-H z1Rtx6-{%Q~J`Fz2JDN96jh;VeWTx~tH|wJz!V)z4p_r~+N~r3U$R)qRPhEHSD7u{_ zg>O~6#3)xgFi}F!=yfkrrCHur{Hl&F&xnc20qS8uUO<;_;~C8?||JEt->eKn=#%YU z3)DBU@;=Bkcl1B+ExyQmwlQ1LEi=2=ES#A)B~3Ded?Hri#8jx9o_iS=({YkgH>T)L zmG$IGTFhaYz|%lZ=9K$fPxYl?Y7^QU&qwZahCm+1ojhwN)zdilX^`a)qrZ~Px%RLm z>@r<%bUg9e@m;XzUh6z(W(`ldpwQp496!o-_d{(H7m+oloQ6i?M>YW}*R&<$?aZlx5rqzns|QaJ7a8>sYYB?nn`G(~a+nldy+~Pd@6%ZNEy9>VgMmkcFB;#m`QRzj z1{=^ekjq8JUtzzEpy-?Q;-*OD<)pioE)@3j=Qv|}E$P=sA|#|-`de|cDhk@qS^f(@ z{)hX+H=`vkWuMx#*G|;6JnQV=sKsM%KW@G$>d)-t`E$gw$AN5RU7Gf4?#H%>Wb+Ao zb1q4HmHTjABy$Pmk;Mp$4+_42nzf%f#g^x!x`mRy<7RI)DB&UA%+T;YKs9e1vtN13MKISfx%OU~WcrQYx)hS34ugL&wp#BSEp>|-tngyHG z^Mo5%BvNe@W;n=$yK0@^0=XoAhqYBubaLNfcYP6`@5=aIfp~gG$d0fC6EZk3ktiNF z137cL6h1DAJ*6dmvlv@xTKrcO=c_T-sMYafZiO*mQBcrTEynUm$vU2v8Q5^6h}3^& zv|Xd5QnKL0F%XPuTDu_0d2wJ(Gp5Z!>(;^V;ZlI22o$WE8U7zD*2!(r`0efXw5tfj zQBsILsz=`c5jU4kQh9}{Mc19$!DThT)TNF2yoheFtE666W$tZpd{{OGrpr{uXW^cQ z2TDTEh=hsEP-#jtB1#X|IHw0QHDdzHM0u4Bnb+5RI}QAs)ez~I6OcRz$`NDo;v<^N z-qP*l*-8VeMy44WmWq|eN5-;-NM5i{VeRVpdw>jZ)qd1JXCUb8WAM!VjcCB}*OPIb zFch`GMOi*Z=CZu0o8DF554NU0h_WWI+_{1I+Z;F5WhmpbABkwVoWqDf>9U-nb{Wxc z_>7H8uHzFhWR4IKP>@&m8@TZ~BH}^KVW(S^sDU!ph}n~2xLu}mpQP&-tzLV!NxX%b zGohqr%NyG^`&Ha!NAZ8TA^wHx{!@x{#b57_wfhwUDzOVW3x7=1Rj{W{_$6Aef+SCG zgLc}-F!L@UqaMY^M)lpde%Bq#bSZdvbS}(FYsj{6j?Sp?O<`0F)>plWRE>~%No_px za29F60K{_x&2ap>w>5pYFDqWIVHM=cuH=gN!hT>pcrn?Zo2vGDJ_A@!yrlLMxW_IN zn=#vmTGWE?oxy`6*JA%j!|jRw%{s?2#-P{uw)c1iWmV>H(YoXN%fpq_gjA&Kno{JN zbYyUk-7M{=`{{;#e^rb5er?8ciOe&RQm$}OH?_Y!eEtuIf_Fx~nyW?M+|^r2sD7>D zR|(IYj&!E+G01d$HOCi2)Lt4Juf`=^$#k$9y6IejpFSEMDFZQxD8@x*#_&qF5#gw; zj|Wi}qZaEq(WBp9=1Jap|LAl|a;jXdNiyYq38phL*;qi?nT)-m$p~qGgVia|eO*-L z5mU`;fb7)%Z~NKZWU2h}bci2C`Hq!=C5#!k+Vd=Hx>xl+8QRq8`~-M?UGmOA{w?2j zJEl5h@~r8x=tvvI=ljSCJjJ_@V+B7jiafQwnT=+X{o8AR0n~9sn>POxm7?X>!?a&t z`Cw8h!6V?XdRgl+*Y(Uz5~y{Arp0eOmuW~}K^P#Bj@u@m@1t=CvleSck%nJ-p1_u1 z@1n=_moEctHrp|8jajI15iYGd!d#O08#q-W1`0_h38pNHDLp)q*)r=iP6D)V#7O0wh^jrb_xMWQv71ow%(Ai5YCuz1{r% z;oH!M@l6*+WKM8TZvs3vp+oaP9M}A{Ozb_a2P;{F1WDxC+;#%y7Kk-U7LGovP_X9u zpp!ep+$_(PXZGxN!jQ`}MUO{K5mU;zZJXc!Z5h5@UwZd*=^mIC!t~H3MB@v@mB8>Y zcZS=Xl6pX*K7Lo!V2ie*?GD$c4~(rsj0~7J{m1V{zKXS3=YJjI^CR%K>7{Ui#0b9l=&H8nX2XjgFIc6dP45s6kLK$iyjdCL|NO{}_xbqYRqa}cL6G+v;^|^H_z~!?LH2h zcjbh}teTxB!4>)G-EZ>(MvsXZC6VB!%wm)buP4aPfLYjQ7)noJZetSeQ#VS$;7jcu zOs(#`$pQxJ8*URR)Y3;{e?1zFH&(-gxNol}_C17G*J((gk8kHvNQ??$WkdX8eAOl{0TCw= zE_NiwC}kRsZiEzRpw?E5s-HJvB?VX>+OHy8q}TmC1}&=NR23}*7_kTPaG9EMSf(!) z7g5%)JHzh!FHY9Rt?U131M6#o|Ja1)W`YVGUX53MH@n~ig@NfI5H|Lvw8gr?L*P3o zeu2u7ybdWrU^|UD+HlyKnE?Z&kAdqcAhTWo86L>|T44qO!yNd07>B$T;I#yy3}Z#| z!7vci_|AE)b)ia+t={lZN6FI`ltMt9wT6XD=TPw?y!C1S8PW+ag#r`4%JFO_)!$gc zgT4~r8Tdzaeb0NN zswC4blMx-Ss4Wp~J?$Ugd_P`~eDm$DY~foNTFJ?BtogLdv63~x%-K==Ycqx!xj8@o zpaj`Af!qW^;}8VkTK02h&ER)CgTQr2kw%wBJ*KE0DQJ}KVumvjtyTZgwxSc>cTICuLDfW9^2WytufCUK$v>1IhaI z^c3h9FVFW!6R7ymrvc=@$Db$5p)By*&*b*B%vsBVKnF4^wqc+H(kd9Gn!gA+1v&QF z@%L*1JBt}y>L5||26fhO$5v4=lKXA0M0AuDY;vg7vj6rqF5wwgtp*uv&&f(}G!>sN zv$!n=b1Ja+Ui*ULZ0Xv_{|&BuTO zisyb_fvH8>-rP|#aEUEfFoln#>+KGcRM}~}7lS#k#3M!c7O|s*8`2L2GlbkrLNq^H zI!I!Oh|xTBaK*HUINPN9lNL1B<#proqm&Dt;z81C(Wg`<#p^Mx-pOV2M|Za4N=ZZ z0j3T#vC1Z0Mfdg-%s{!A9{egb@P=bHbAgXGr#GVHE5kO5EJjwKe}6E5^R5Sj2iuPD zj^8Zux>6?iyD!1Y&efS8fE4cmES}hVgy!o0hW2QbU{jp|Le;$$sY|0z{_0tb36{8w zacP5@jiN;F{?|Dp)ESYn8fQ=Ial8UxFNat7NI;)22Z9}Was zS~)T_rd17(eKb+loEg&1jlUh6EV=BI4m42Kea?L->pK1nkGX~=v|e`Jxhe(98p!ZK zikAl{iVBF$=fFD^WVx9Btg- zya(lb$Y<944$Q1Pp<|G?@#=+5C*1byXhH17i9ID+cNjxJr3>nKuCw*vy%4N}tFU(g zY<^oL|EP5Z>;%qs`^kdT0hE}lF%e?^^kmL#XN_S3tnpB@h6vWolI+yS*uTq-z@LXTR*#BfgFf2K$EC65f z>4|CGNc{e9{L`DoSU4Q{^FVaAF!nVq)!8?i@3l9g;!g7t*W)`Fph#=DtuB;l^?49g zR7qGozy5GlVeRsrNDF9vP&2hTa2^3^8CUq}27@{7;RbN!Pl_6M6Z0a;~PfQ zT059j)CgO3WOYOd15&g2t!rplS-}4Wo*YHRRU#oG0_8}QGPAg=Sjq3NhrsAEnSags zXF{r9#~|EEHPqH`48v$3kU{EeeOCYm#-AUW2qoju)Y&VW>3O$Jzq!La#6M%Y+cL8w zM}wPGr0%7gJtGlOzPjNtrLM2hF}gayAPcU|WEdYpga8co3+URU#KV7|TTFLD-3Nc@ z^{Q*XoWTMWc5+Y48r*EJ!qThtYpKo%|Mz8t&jQrc+f-~u}rX6p}P06;f zU-v?h2sZ4=SB8z+((jZed1@@B!wwQvt_tGL;~F(48e}XY;`4Eh-=V%e+|8CT9o=4+ zpm@rez;q|rTAm{OR%-Lthyk3#34?bi>|wL0V?yef2p8?^fk|4OvlulFkyt$S=`+G# zzO2{W_n1Mf4ab`BtI<8Lkk_Z}!f&H!<7!)PYj1mFUTE52+3xnCNe`&85cPE?z6%k<0WiZbegD?yq;1Olh^MzqSqVM)Bt;W!$G^ z?R{6m@%a#vi15otngp{iDfwhz6U-a3(X(9YLA`-B*JeH#+CIH#@2SF>flR8{*~pyk zMsRvN+5K|3@XpL^LJn5lE5EUW&i5RC1-ch`3vlnFKXq{HKr6D*eju(-y6?iR-L(t@ zPI}a3;MVr7qHvOSI>l6J)EKTim_sdu2-DheFiO2gF)@f5QrvMTTEc zbdv;qJCPZ4n^apuTex|?0!hd6$KOY-==-s-2fBK?CN#XhzcFgg0Q+XiFZ%29Kp$nV z^4^C##hP>v^6}u)WA#@u4+OUKh&^4!AI1_I2XC+V^^42|U;GGltLJcQZVFaJ{+3N% z16XI%#QfmrSDS9K)OpL-DpK`-Sp zJxFJxb5!8__A2ZXK=c)WCZp_fy$Rjp6@~t+x!za@*R!rKCGWTDp{y?v%Xg?gphnQjqR$N$GBs z?huqlL`oWNx+EmtdArx%?|z==|7m%wV=1odn%5j-oZ~mnK>{uj&Mi}LR6q^&%zgka zMgzJGz@#x;J;%DSsjQRVhfAXganqbbU4TJw-q{oz&evuz%5PW$i^49lpMUYKR@>e9 z$}&$v#Nlh!SpP*dbxKS=gNmgC1G#%TZWB#m5Bzv{RL*+{2I?=JHn&|h`CT>#@jEVB zcupK~(t`WWSz;t{$ep$*`Gq)yHhC~(QZ)_5EgFJY=x$#?;*N?eR0cnDL6q_csYKN( zpv**>_H2NZ@+hw>KcXL3mVQ^-0^SJ8J&twGSLw>thZT2`c+q}Qwo=0%y>%J53trp+ zaE-_lhROqLB=C-m6^M8{I zR!VT$LX*8V2o(`Gy-U^~?xmz)zwXZux!~P#i3vjb7NnVjxt2fpeXM^KlQ<~nP6-uN zl4FRt!Us6r1XTFIA~{G+eFmRcE9MA!fmi@LIUu7bI(((4=58}zZwXqOIH+ePf#n2!!6C;NHoeBH z!?#_6X8kCSVf$}By;&eK|FiaB-D^+h9yj}1Xh6WR2b9g&n|p`&-$tO_4+8Dx zW;Zw^u_2mKg0Vg^A4ZR!Y2i(kk9HhQU5jA&y)$VJ zP(B1?ELw$D04D+FW%Z(QS{eB57=XgwmH=i02aIBx08|2E706ki{>FVKgYkrOBN$(K z2kgB4!jQ`v62(16;#|zoSmZyf;I8+nn(WI}Wiz%-^OH;hO;#5iixZ16h0Y9g0WMdQ zW!(Ev^04LE)wpTbwN2k)UDYs^Um9QBW0Be#xwOCW2|%B@Xb_Ny(`5b%-YqABAo=gw z;0@~>^7)`oO--83ViacXDk?LM9lT@R?yoR!C`iQmsl{$xx%bbe@f?t7_dup!yGE|hZ`0N_E zzBx!K`KSw&_aMPugNs1`FP^l+G5fGpj0! z`!=`^^a!bs%AeQ&$4QY-w;Cwf;qAIeA2gf>HkxtC{-O(hPqDjIK(4&RS`z1gQ=$(a$x>I2S0a3xY$ z@h5dj+zg6XsRqZ%gRLaia#U=Ed2k|hrIC9!WP*lU2y>?f!+qj<6x&YP-)_Z}Rd%pD zyqUUBjM|TT(FF+iXfamL{lxD34w0?u`zPmhkj>ZZA?*UB=IqIwjLcBEnlm8|)aoRm z8oN=It>vt95gtS4N@r5ng<#qV(_p z^WoMS=0OFP6n%0a=S8xIe~a^p5Pb&rLSF|UeiD_5EIh1h{@gmmJmj|lrQpq6X^B0Q z@1pbTS^fU_(14Ae{Zq(nk;W2!;R&%3i;O~W-a>CfyWQ?1(kbZb8(eim_@ddyLSgS} zq~MU`CnmpubBoz;gC+Ccf7KB^O8+AUX!jZvn24X5q+s7H{I4%Pg`oBK!NOah+4=ke zpWK8!h}527v4;X%D}`K)9f;513e^XB#mfnRkpY;&RD%=+9&kzgzkir}r5MW4dCm?! zDw88cwp@C$QPW(TlsYqeK2aICiGCH&Qs$F&GBPWy9GXSQuh?qw8*D>6mQO`sC{bcE zdzVA78l6GT$?pM=B@i-*s=0dn<;z*YaZ4iI>QQG6#)>KuURLXF5P|To0A?g5>(^t| zQdA-wyQn4J-bLznxoEd@{&&O-z5-+xUlh|2i&jAbQ5+eE5*0fkP~^k#Mgyr=bt&&D zNAjAAbot)7GPmB${v-}+o}qidmYdd)F&k&rsmv@6!kp}FI?-}Ate{o6G7o9DB%Aai zIl+SFDAC69y{2QPqJED58-4_h-M!4m;1)dSH5ro>6X##bs}5_;iLJ22*?Gu0%9+9C zkJEZ>`%Xd4YEsYdd0{`UH0eR&RFX1t0?ReOlQo3K(u**9u}`(fZ92}6{8>5eG&R`5 z+#hjXRAcOVCy#Jd5+QdYRi^*ySW6*lYAruwC69I$acAE$!gOTl4`CL!NH{?*Mi^mS0;rR317jZ#A-Z zC_26KSlyrPl~o8PXgs#A!6?(iBJw@nD3te&Ey$8CGIB;V#OvH1Wziigx*5h`&|Ksj zS{wh88hI}N23N`N&pI#&YU_4H05zfGyE|ZU3N}&>DTf6ursdxw{1&}k#lBjXghwyJ zLuyZoW}zV6X~&$`ZFgFJJVoOC-4nIKzSoZ;Y(fK7z`HiM-F;4%heouWhMw@y!8 z5aeIYO$CQM4QoQm1$i`BF6JP4Rq`WGv_tkHWwp!BNgo$c1x3xMc=M!OrQ^N7la91r zT46ELY&A-iE#I##79ILiq{$d<=1luX{&^L}KL}0KspZts4pk5#Vmt&lIqr(K-pYC>FrXhX{WH=LM`)bYbtOY2|1W){RXI>~R)UJpKX+*yB79o|9~nh?}D zHYNU9@EErXXokwUd8!hOdx_ueLsTA|b!Hiq_!3;mkj9G0AnRvb+xolSGiw+Rb`uxj zlH3>2Pk@bW@nM3lBx!2m%8C355T!^&;wYa#ZF1`C^Z`5^prYWxTI!n$8# zY|wkA;c&O;^h8px3wp$&<#>oIO=E_*&YD7r33EEp7_?pR1_SG84i@r`JSk4Jpv~Z8 zV)dntL>(~--9#|hu0Gst@L5EU>Z2Spk2t;%w@1H3_c%<0y%12vnqQT0>-TmYQj4d4 zumM77GCPa!r7>gG3U?*SP7Pu|C8Je_OVRVk=(T~b4DfU4dzjO{gylO#&tlu&=+6OaX(x7YdCdQYObjefn=k3R@A(!`%D-yjH z9D2E+tZdQ8aywl1r~W_^;Sb&mvOOZYKS5%1IiKB4D_|Ycd*yQ!?5`5R73Q&P!+tPH zB%H7C_v6s~m0_K;dXd(3ThuR@k}8>ywfYH8h==_~myK0I1)>CE zWfPPLDGVGf$f8mAA<7en7}0f|kLA%{g_S=wPm$zajiRopA5Ll|V#%YQu?`!ncsS1( z<5IK=APjo%`22S04Sf=m(w+>Bs&FOS&oc(I|HxYztaEZe_|Vy;>n2xweV|CT?8LD% zzmgpPLPPn0a$=g{s{7PyW*722v5+K5kdSk$+^73VO>uGPGfLzx;MnLwu%R<-dJ3FN zeSnw+LnDdN;8!U7wkOR9zg{rmxjd35zg6h3+zx8Jw7dFnNj6{`n8g3a4|2tTM|)3n z|Ej1^*pFG(*w3%%nBffN)Bu7vo4XQWIaoOl{M%6X2E$enx+*DX zhs_Ld?|)>8G=O9G($2Z-5$bmVnjQVtJ@kj1586{dy;aeja6Tt!;)*098J;G^Zbc|! zVLVU`_u$KwqEPC}q0Azoy3&=(<&>lJ=RXb1LBFA&(ahUEH_rX(YWv(TTQtGu(W|9V zx-y>#skMpTo2PCqgFS&;K!OaOrk(A0EN4ZhiG@6Q;Iz|6T{QK`yltwkb^EH$3-qqD ze1OSmZ+&0ONyG8b*2B$QS0~6$YeFBesKpOd#0Qc{>5$~(HE|ImYEYt28Bp>;xkK37 zse9E$cC()|wjofYur$5xeBQKpI)2!J(+RKWv}@UgE?1c3DGMKk{wCJmYij8cWq!4l znZCFKdeCTiQAge``PDv!ZS<5_St%7XUEmRg)>UwFLFfz-hzR&}nCC!!`{k!wXNEN7 ziFF{9KV^N1Co7QQMm((10iXE0`xFU1tyRQ^)yn}$CqNy584m+ZCoQz*8`Ra+LYufV zb|kZz?UoYNfk=y=3Qp=rt2>MMOUGqaRBSl}%>WuQvikZ_2BJUm@xtoJXAs+HP4E|H z8H$v2LT@xhhzf{$`wJDKEnX1+`AaF?0Y{8tS@F_xs1#^M|MycKbtta;x00jj{#+~E zjG1s?P+nw(HcXNdizj7}IL+rmS$LYPc+Q` z$!g}$Gq?yyAnR|caPs);LJK$<-%_j^g8S4gaIT%=LPeNwh07Klw{C_m4Spr%Sz$`$ zk_C$fV-KA`b*b~e5%S{6k1CNDSBP7%kUtYntCrn6huevUq%qFYGNP1fOH2kMBS%rt zLr{4No5OE`XE}%O)_YV_D=-KIc0tQyUBj-Mvs60w=gv|EbSQ;usJ31v*K$i0Wo45! zG_bqUY@j0#d#H-p_c*2>xaaEh{}6w}?rRr!!6t)yPTiTeL?}*}hk_i&T8dJbjVp?e z6oq=K7wT(PnTJtRgd*NFY9UyZ^5|Np@)1k3KxGd41*CL=-NCNqQL)Cf!(WjMJ!jy5 zWJE#ibA11=I|Zd&m3&HvM?`Z<#~E+a#sO>}(5*g1jr|5nMy!qgVXwsLQ(y-Rrk?hV z6a83jjnVy*u@&c;ZS<)Is>qnkJUfZ*4=UY+zi1-P5xa<@g3s2M^ge`6M*bw<-7hds z&rwQlUwvAP1uLeLBv>xOQeI98f24I}E07eDZ9`gsQqVYtpu`otf8-O=b&N#&Vvv%J zfQY02oQe(=!jkuT5hvlv=b3RZ6CVG`9OQiMJniB_Ii3yRvgDge7~JUBqhQ=KS+#rX zJtizbvlUTXh_NpbnF zr&_bTgW7NB&=vBE8{2cpYvqDgc?SKvF{*1!AWTsb*>Mab`mel`7GpNbj-XYtYHb#; z3-{s2N5%AHq)-4K2?$V!XU9i8g-x(I7QCO!e!PFMn>jK%2??rs zSA4nDmjbT{pAqi=m0r`Xd_Ly}ixPH$=8Wa)ir^F(E2h5>Mcb(FQP>03D`cA`=PxP~ z@)!r@TvT=YO(?o#zTl2ypX6>N$t+O4siC$Z2;`QLcaHK|gX?)_(SYO4o{aUZR;I3$ zx>tVA94|c*w0xp<*OXSP=E?3OQ;+cZDi)q*$dTEm>p`f(J^4XrtzVw5Dn{SL=jxbT zA=PA|7`x^bQs0m!8$_{)BU14a4USy5TL|8Y`S;hxMtJ%X!WZ_nXLf|}XdkB%U!yvc zF`(n(3TPse295`8aV7A{?Nd0sJWg*`@~5FG^SKBO@c~+?hb~x5Gr)|!*~FU#SY&*T#p@pDmZbzWI)G9PiDD%Qu$?{91AR;IeStcS zzDkKS_kJ_v%m_~VbD<)C1_n`Z?InWLu?lqexdpDVaq*cbiHg=k%G8HJV@}E{K`C|0 z;EQK@GF8Z{ahIDPmjkZ}y%iAANyS~c}J$m>leu{!kG>aOGR8Sg}qMq%m<* ze{oY^xPo)~bqW9pJ+AMqr<;#U`uRSc4LTcq;^j=>n|hI*Ck8pTQ@;#IiDbzoKRwLz zcYYSE(qbt$<0@Wd@FVawf_CU)uzs?WhMoj{4q=|O>9tv<1j=Z|Q{j4jL|b%X2$N?S z9*x_?nkS767KX9w&e;y04(^LU+YAz|fmllhsJz;cFU8grpw#UTGHaE$s`R6JOKMqZxHO%ghX1U@ zj6xVBQ%k^5b@2GP+g$JiR+*@M(fIcioKDD}`85>XZo2m4x^@gyuYQ9zk2hETaldPr z`*I`3sbW+gjMcnzc{|!kddm?w8W}5*Rfj~_Os?Utbh0NF@HkUAZfvN9anI%BwN{+y z17+3SS8?m#5jQHBQm9J8TL*IaDiJjFZyXmNoBYJR7ZW)m2=gGHJBU%FjpbHk2=5mh zmiip9`3yI*F;b`I^Sy4p;vJeN9Hy*$^A^w<02B!uOl#7HxgtI?d79L}9UE z{Jx}Dw%njP(dKmp**;#!3X3|a-RmmCdP3?Ry)^hO=wEFq?*`z+Oz-8OID>j5c+_c# z98qoxrTtrK#uXmYWzo0DE08b`T@=7{17Ph82p*u}ZD~dTu;dpc>az?}4p0q}`~fSj zp&+gK5d!|V-6Cw-y%P{?WP0>9)?SGFA)r=%ZLilNgESMl#|aBOeLMD8fX!8IYq#L2 z?akt6)yNM~4r+^LTF3@xG~^mJ2$VxCbEi6s;jHI#YZn6oR8a{sCnp}_-o~hr&n-~> zzCb9++_71W7gdJLq#0SO(A{MUei6>_#&;nxV-d3>L zbyXa9J$KKt4=t&bN)p$8j(E{MtdR;z#x3pRLX8h~dFz(_l-BAAfhe=(_xMuM;<4nG!R~+3uEiPQS8_0{Y~j-p6A<8C z-UE0CtPPRI+A@>@ZCx
    b_Y{LNM96xh;=9(_ubLZwbzC3@xK7NI>~7eJQvIkH4L zOOr`Q^u7B8?-Pn543fcY_Qs?4GSU^H_O!Mf-37;rIgdH8l0W1DgUYu$oy^ZpWs1TvRavWdc@#9=df8XZ z`00mPpQK`^8^f`lq6*flX%G}pNz9IN%sra_@vZWr$1Zi2$DU$KHE$8GfVo$Z@I{GO z3tif2oqqAXM&`kw#1g{jT!VC$^s9ImyXS8RX7ERS8k9=m@o7V!@?nU=VC;lY^v9t<9W zXKjmS1o*6!fsF4}o5V!&Xc}ZNQy!Q&mg$#)#Xsq$)24W`(+C@m9f2v5YQiRqiE`Lu z`vTRvi3rI6CFhKKDptx@7%q=3dkj7>ZX#d^P9UT=X<>!w3f!)gJ^pH)a^HlHOzjfH z!0aa4ciJ>n8>%r{r_W(>>6%1e=F>v!Ub9?VrvNoNqb>8n3@U3VP%{UjBxpzU+5)w$ zLYfxb%+p{{2Zj>WH?x(S1hg6RE8+z}XS1np-tN8r@&OeoR`^E43gyUB7M zd?Na1ejMgm4!}4!;BgKh79rrU1MBJ^`9J&t^KZ)t9VH^aT~7G&FoS-2tHeE zd(xWy;pM*yqKnWfBely+hF44WB#PNgt}*YCzCA1RK`m)1^SOC!1HuYGmM#E4)CEuj z(d#cN>0$Z~Eig_6m>CEF`T67vVed~cW%p4!svuSX+Jj8lzF$A8EO^ie*aujD5)8U$ z0F8Odu zf)|q+Wu+x_=R=x^oucqK$`3zF3&UBOYvB4azxIHi-)0`YFHVouSuNG%y^lplPYBb4 z8znZsIHS>Nf=sHx)oYaqNYrACYKN73M$y@>rY1@$ItfiQjz6vOIHM&+P-3;o38AM< zE+SA-VOdSLN4i})4?b?(&wI_&KW6l)kSixPTOs^TIF>=)$;Uv!QEF!|5Yv>8q>0dNqC7y?C@397Gup^VEmk8{lF%7rkE>g`J&;6zbao3$R%Sd&Tt)n9Bm+^-QU% z=)?8+E0`4uVhacZuzfGECMS4LqIbJ0HGsYWY_m6D;J`ayzW^Ln>-E+Lu*EAA*3n5f zkKG0KH{@>@IozQdwYlY&=o!hmxDp0b0g7IkmsB+oi3 z%5+A)KHmO2hpB&(gs06j;CSWypW|g!dWcEJcMQH?&z=0RcV{0~e8Fh~*T#3)J6`~Z z5FoW+R})N37`47U4_hsTp}nr)?id0AtLoFT0O*qeOAVOU2C<>rBtSKZ+4Rmq`UY$@ z9#KXD{-zvYd4W?fvI|VWfOS~HTj}N?&j@`w2=HMeaD}N|p09RBJ?|uWfSv6yaF77t zBa2fHmQaeImLI1Yf@B4@py8l-q10sv96{g$2=2LDAurB+n`G4&gMihGrWBK)P?VTJi>9Ko(CHM5DB&l>e`ymFg#21er^Y8e?;eE<99*T8)Azi>%$N{# z?Px0mR^umUEPaRFprlD`oqP1dl-B*o$z=YNkXPtZ)k z{GC-sH@F4t${tnZ7uf;b6eKazx{dzv*BlPIPuJ|DQB=C;2-!4{3r!~Gwf}E^JF)Jy*)W#G#wLc69IMvd|Ze!KVke> zhqtPfPU{T)?L%ar($e|?ABedR2P^jnFdRXoyRp%3mif?{4Vv?Er#*=5(RlXHg{*tH#+0AgeM7EP zLHeq<$g7~4e5W%yU%VnAl?6Mj})u6qD=lA6yHOgy=Z+v?FEQqD?BK#O>AB^pZthrNk>6SsD*S z8l>7@7okdlcBpL#NdV1-f>Oc}h~$0mozW@04yxXcXI#G6h1CnNHNOmB06+c?Fr4j5 zj$L;zk7i&z(mU7!E7-q;!C+u}8@o}vCs2K0JCwj@-06K`_dDv!mCO(ivLXMkYsfTe z8Kz_Y6)|dC-x|z|4#jKCfQ#YCcUutrR&#M5nCp+%Rz~jKzIEYI``H*^`||-|1LE5F z-4z9qAJ=95DEm_pUr&&of-DzYC27kpqinR0Qb>Ee=?K$4io^w^6vW} z4x+MglC>H}IbB!f-5Ukvb9o(^qrOakp;moHLiyaGzmV{!nP{`?w(-?*O(3%GMe_6_*It zN;>Dw6m6G4kfD^EfBMLG2;1ff@)|v`dP}4*4O!w>4<)X&E4bq-h-}vj@#6$dO(+~0rn&v_)r|y&o11)Hmdgkeu-YhLU;35u8o-BT z5*Hv%Pola9=O)q`{Pg2~n2}w>n1Dj|kTO2FcS-O1DaS$kGT~sdAgr~Dnk@81B;d=E z7>^2SOFlPffe?>O?O-6r_^08*%J{7N~ zvzdZdnZRT25|3GAlq28JdS=2pE-X@{Vaj&-m%r9tq4=@(wyKd7oA6;M%{8yD4~YBa zv7!3j;H&`QVIE;8c|kF@DGaMhI&V`B5tF*_6iHs_TUo$zvP*AjmBV5Kt*WsuvweN~ zk7~CR?$7dU>Bg3eviEeQrOIF1NIs30c-z$!snz-c zZ1QRTmV$;8o21D93_hr9UKXNlN~nU@4Qy1rzyA%Tc<|sJ7oQ3~!Y2(M6cY z2{!{$*t3~gELD3xV)3Ii`X|8=dHsEmmV>w%it%I$3_=NrsRA*lOb&Oa=1<5YUBY@X zQsnL=ibM$R{h>@C>s=vX+#@J|O&G&@`;;uYr3GXYn&Sbz&t8N`r7foJ>$XF zCY=uNCKkU$(ZYaqJ2f0<+VB7gIGM9>5Th0eh-jNowDp5&_^dF^!2U!VZVC5>u@IS* zfJEpiK_Q{6BzxFABXV0NJv>}h1`5yi2_ZB6q2!JR5$#vAP-I+}N8oHpBnVM6nmkGD zOSi@@LYetE`C0U3`fP>QG`TM0H+s5EBTMSo0;wHUD-8+qs6R5i=ih@^T^Pm52W1hc zsnJVQWpE4F#o5Ro%fIn_pQu2NEK!C4lGN2hux)Xu`uHfi=*sDcJB;gqTG}2Lv8sEb z6%i)KRY8ra$r;z!Dhx}K^t}T0bi)Jdl$kGjVz#u2T^^5Wzt=1!bghd1vk@yH?QXW* zV;sSk>090p)u^@{u*9;e3IN%B3(*UELPO>u=9$PA3Pd{R^?nexTZhB}Sn3J_G>}W`hl;C3JA|4(;KjD*ymZ`dFR8wE92! z*%wW{UdRC%us{Pr@<=BS++f~KYi3TVUujDjqp0>iOQSNd)ARzAo*@AXJ;qy==hu_V z9{j-9I|Y~!8C|nkwFt+A&)6cRE*5dK!adV5Zv-mlbB@QkJ=Xv>AuSN45l6_P#R{G@ zuvSz^WnIKeto^Tf}Gxp4WEb!Qk{#hTc>KkoD{)tcG`)&YD zzztavW`SpI=7PI8odM;BP~4VyuNc?PSh8 zejN#aE)@anQ{-y|@Tc+^zpSepAm_%BpSivevltD zAB7s(1NTI3p5zkFwVcp3=3XwBL4LR?jU)xgQ1fiYa2LVBUfMRw>1CW-+9B3#S6_F$ zQ&owIW=)5pl5w10dTy#8Qbn1656C!$*Awqn?6D~ePaI22(yvfO=@_l`m8@gb?02T5 z^WAS!l<>k$ozTP8(s~RgqsiMUJ}~~H76A=$g}vd(`!t8)o%?T|xZ8_6>~91n1z&=W zK?P$~@GA8#x3er?v^zQkvF3I0JQ6J3NsQzZUmZU!=^{@;Dp&k_BueHT{v!kHE(QIz z)N!sVbqG?$nfqxogH|rt#F`}A62ux-)k=JmzCt&zFe7|0FrU|unNsQl79Rp(aU75u zExy+-WfUCjz9_bId#ztlo)&eq zl4@RhUO*$MJ|(sWzAnC#dVvb_^j;Gx#AFKOm5++e95kBxNK^4Ka!q8&;*K4|05|J2 z(k{8>jz-R09G^>-l{Z|b1TInqy&vIxc~B=@f;ZqQP-~{*1^iyhgg!Pj(OWaHJl#0p zb-0EA+May+cw+FngDH;m`UMBPj4wBu-bV4S?)DE&Nt7`>8ePXISY>CdC06pqkd?)k8&!m=!LiGgN+^rqAAj#fip+ z^i_k}#7nhhpv)pn&yJin5+hX6Nzlo+YFWSkR5Y^X1n^*OprX5IE zIt_pH3Ezcnr_~r(UYjlZKlmwVh6=BNIH5f{6IOW0gHf#fFJ$$vI@}Ch{-jJNT!D-F zasJcu4RQ>qf05%>edYjkIrMmYTPqAZjSYz9 zEAeF}nw^*Qizt`LYWP7&8XPhnWPt|iw0&RJW}UU7xbvkPE)pl-vx+$3MG-%TRcWHI z<;h^P48f|5bZ@z8E)Hbxhh$g1$GTPkw@l=WbzUUCK+bz|3#RyD3n-h|k)2%n}G+*b@Q-M=6ni zPBG44LM|;Lde(9z)-NtK%xNo7_@)urs?jOmErQ-7P^ZC2<*M=6?5dW%)kioRHkUvH zCoyM8Gv1a4y?_6%fU2QsaectYML5=6ZE2!f-;4oHua)-$Hb6R&WS7kc6jgFsxqLJs zq6O1~j&TbCBdf8!WNKV(pdP~a2u&1Cp?vNRO@Xu@PlOE3SjPi5M_F^i6A*Mno>$_v zPtr+qq(m+&Vc ziLKgW&TylMBWzCby&3QnY8Pyu7G#M)NHtL(dz?M{8q_6V`0^)M034OmnbAgXBL)a4 zR$L`BM)+Mm7Mg>{rJXN*jlOQu#uGhL9lUN2Y}J!yCY~AO8;_q z4P&B3cyB><1$H2aGRxqRNJmQQIL^tCFsaiiRS;5TUkH|?&zwg7%GNf7NXL^SYr-{s zK=px}id+}BQBWE(PafO++*+bWrOIgt4G_SV(sImxk&LmY3!-Y|R~|8JB-_a26YA2| zKNDGcZ`&2xr&NyY4A7WQ#doujD5(-6RQBkg%OEv1{AF`${Zleh3QpEcJRXbluMh?K zQj!^&THbptNBbe|1-nYJy27NX+>b~3dJkMDj< zwEtK4#M>f8`X?t+yDZ<3Oa2n;W{Yj7eMxm+Lkc+as~kyV z!!W!@X9})7%=rV6R<#EzYX%8Xx4Nc84c81DJX+wieDuwF@R!=og!oAV1X8B>RMDK) z(!~rlO6lkerX%4Pa*aY&1O(y{wGD*HhwtE%FTl5Wk08ei@{$qIZ5{ATU@)^l98FVI z(@PZg#0m>A8o=M2QFH6huR|Fx-;vv<8ghxB702y9TntH%A~bXAbBb+3*2dvkx%-p=lPa}k&yzX3x}0HxgP zd#E6Va_V|sSHA=QY*jltB?RPVm;${DjfDZa^bC?%v~E4abfB&2?-c7oGR^eaB5 z;i|)lKq@CPuXxu3r!8`ZJx0McT)N|Rapb1Z1ss8apVN*a>M{qO6?2=0*t{pfAw9Al zhHHF2mQHSO9;;^e?MKx=f=>(J){5UB^DTdNe)bmmX#?oY7dvjfBofEr6PrN8V#Ia0aM!pPlA-ez?D!;Nr%lx59^u5#?*}Et*En}c;qzZmogSl1ipw8eF@7{>Ogj7DD#ZTxOR}Yh=CGLI&4~Rr zSmZzX1{oFn$ony|6`9or@5cszq=nPgd}mbE-2Em#u;xEQD0?7Y&CcrY{QiH|u3ZEUEN zFnwERyfIFy4(dNGSH6F31fTlcl}JnLQB)|EjWQQbK`bg45Tz2Vpf>5GpnJv z(DBGG=?C|7I?MCMRXnM8W*llJ!dX4ha+$q;OakkYxC%O%OPDEmUgzO)zES`>qj4GKW z>btS0cWLO9Z6-66H5B(#GYRA5JilMLFD$pC{a+m(sDX6MiRfPP0s9esh#k*bfbsKl zYjMCCo*ZpMv5#Tjsq4fQZE?qZm%;zfzU-yhRH3c-$iQeTOh+pNyW^QMpG1I`g@DIp5J zZu!VS6V+46QkL!0NS7B!I|mSC4Q7?ukFAe)3h+r2;`c*vDa*{u*Q$o#UiFhhq9lmi zzu-$qn^YrxC8ciDgX2MiM&QjBytjb_as;YJ;f!F;BDK|h0L3&6?!73McURGyVw!t!=z0Dybq2M* zXYw69=-x4m~17{9eFdD2DVvX|RB_O2COw4t7LEct%a^NR{_j9EW_e|eenI|{XG zt7%-MhuELu0CF$40p+;V-d?`DHGlrR^9*>2JdF8oWC`Ye_%r?R_F#M^`{C^Eq5toK zC`#{($f1?=lLB7ryQ``Ul}`SHx;e^st4Z^s*Z$9rd>tm(9*W|6Q-Z6`3${81cfXjI z+;42``TLAqbkU98zF>IR9w|xB6*=?2dx#mgsvk>#*pAG7IQuNy_SHL6B(C!h66*}~ z?ULh)V9~gBNjBeozpB*Ei*;gr3g4n7LKRiF-t^oRuDb(4cAve6G4Hn%J1dOg9bSYW z#Pk6kB-Hjlg@Dph5Xc^2JLttnSmfPM($x`*Qsv1=&xv%3N#?;EQ};{5(VswZfz8=|UXQsmmOScj@3Msa+ zR0$}o#*d}N+XeDyTPbMi!lfp{Igfji^z34bdAieI#8xVJYqI2ZikD`Z5}p?0@>Xd5 zmPxnQoz`iu&Z{28qH85FpCsX7?+%Z9T*|!cMwZm5Hy+~Pcl)to+{ug{@}<^kKwsdcA)p zAhE7cjXaw%W1`H{-$1C}Uc&;^Xw~Bi9L+l4V8WTmOWpa$>wPs8?s%-mimwvt0ko?1 zI*y6gyXwZ{B0SHR!UAqI&2+%)l3YhuL)a(oKXqH^Hz`f1(L`12w|Cx)4}L9u=Zfur zO3*0}UT*JBJKp-O*!xfWjZKr++(^&qs$lD$8#5T4eRb9r3ONI}3Zh5`E6?F%K{e^( z8`X-0xU6^kv)O%@u2IRAlIH~?48c@0K`ytC9dJe6m>~Np1 zx#zq{5LNLzZ_594XS-A7FL2$ulH+woS#!Vp&~}xt4gR^nXD;;Tw`fX#<((|sySGzG zY{mB*4+hs~aJ={T#tcID9ZaGk?mb60hL`%^)D}kle`mk8lHW_cz0GCGUAwqq$!$H2 z;2qPsLY|VMcsJD0bw9mOg3%5&9uiSR%;dW(7Hw?ZFDY!xdYI{rs9EuuUAR>C_xZJB z{J?cG&FhMdshHjT2S(KX8-4(7JOhw^bX|5FH34M-48;J`1=a|@H}3|59b>I1Zv;iA z;PMmcH3c)0QwaLP_2{L3ySQV&7Nzhw-k;H(zm@c@1%!L{dvYXCW?j3X*hHFmq*4;| z@8Nn`>on9pSxyoSPu#vH3M$b9<;si`6-tw0S@ zL)P&4E6@0RE8z?Eka<_oa`{MewIhZwNz&8Mt`=ERjzXg|VOIGCZ3q60g>4X;hMQKt zt!YM%Y0j;FvM>HS6p35xz2TVMQdj&QgZ?3TTN)mw#9kbJaNtduj}@j)GW_O=z4#s6 zDDO)mVUuE+0SVb2g?f`|Kp@TL2bf$7k>WIG{rqq>c--Ut5jO%MwLflpb9kP^Ub2iU za2aCy$zVCgcG+^t9yCt=B41Bm63tflR106Ly#DHowIKMwUZugb?_j{Cs zBM$ySHMFnUL`mnmls()3WEs1s-=F=~zRQ}!n%{fAAJ+J;wyo}VyF8at^lm%HX~^uiszKe*Y>fgqoEt) zRM%@w4_X(HeN(A!MgEy!A2e2-J)i`iJ0W|WWr)O2Pn<VKgli(tk4v~!u$#4VNCfaJ7f$;B3X zUq+rAwk%h(Ndw?`k{DKtS21csmYgTW#hL?Cm+$P2Ks|#cxWBU8PAho%VNVL_TNC@iQHv|D&P>_AJ^TpCr5iI0oo-fCjFh?NnjIxQGwvnSvJD z6R-ybcz}grKJ@^c0IZvynB;On9|@zg{~?ri9>JaTFXu}l`+b=cPSGlxlK=G`Y*bk* zWvrfEoaoL71I0dP5@#w^t~`|DN43!FwWhb$5$X~ykK>0e9j~~P;!6tnFuQwGkSc?{ zh|Miie6SLe%oeK=hY$Ow5(_D(-_y_y8=#9W%`xT5M9WWPBr?~}iJWbb z=CuYgV%g$iLx$IeMd@QJL!q>7y=du7ai{6^WVEF2{4bFPZl2vYDu}u#BOMaA`QstK z*P@Vhtx$kZ2EhU?z3Ki&q9ZF#id)RoRf8&r*Yq7+g+EFBLWaz~h53MO;+4<>om!p+ z9f8Z^**A&*#xR*@J04sO1Rqw939X+VbJU z6EGc2R#yh*-Crwp8%o{hEz{hA&;ZB^(BiQN1Fo=bD2=v~l8tM+vw^U2W(Mc4979>; zJHUECMu7Tr)Wb2+Rr(Q7Gd!yVfWk?g|jQGJn=Bw$rFU zWT_C%V2%$jYcy$0!6MIg0r+FrW@Pz93W|0OXs2aq=o8ii1#v7 z2uQHZ!tfet~>~`?W`dFAL>rG%m+5sy&8-UeC_VqfRhkF zU($iHAo-8$7?4we`Ije{+BgCdJec8M(>)dXC_o1MfMD%!U}tCjHJt;v--A9L2BkRA?ObO0G0q>D_Z9onf&|B zZNXayZweWclpDNwb!C2}XQ`eqldIEOwG)MXON-3utfPNMWUsqr4?o%W#mD+8uOl7; zX%T+AE#Fj5%l*OhI@C<{<7A4-0P>Q)0y#GnL#H!88BtX$y^N&eLqw45nXRi~cXc!8 z9eZ)RMt--1>;@^Qt_XVlI0fL9fzu-lN$}D$booLDOb7u!t1lBv7U8$n9|3y!V}L)G zU=bPvXF=Ha%E{6ThT(phY81J-ge@}!R&fm3Zc_le^IQg$R4s^BDV>==xsSg@+s>BH zs>+gIj6d9tYa2KZ0B3&C!kGs+9Dq_@ENrP#x*t)M-NU_Q%(ERMN##$rNeA6VuVg+? zftN3%aXvfK8|RBzH~&~0ZZIXYxFB(V%(_xa_OUjCq{B~~k}n_vIi}>0hxauN8vdw( z?Yf@&l|-xGb^Gz`yU1Q&>y5F(O?1ZB`~?pwy zv=kH&VWl#(=5(3+nL3@m{vX4qq}+EBEM7k87( z{~e0eXppCLCZnt^kqFoattnumR{^MJ1NT|YMI`^LKFS=>i-+OSFm6!A|7IHI00ust zKLAkEsy-AaVlVXp?m94pZEHN&A9()V0RoB22jC!h$H06?x7MTwM5i%+@8 zZfQ~8>)!P|=bU$p{bhgHV~@eT{%c(^=WjCnX+s7JUsA!q3aJ6WR9t{BLkgvh79K#tAUEF)DX3{JxtUg8{Qyn00t$Q{GV zsevzKg{)fm#r5E!J-w=@1BiDJo*~udG0B;2hNA<8P5OSx3Q&`~TKJ(E(4+o3*_&zh zot#MLd9?G}Zfl&YL_9R};Ds{>I|-`k$s36CG0t%Tub z(GGrXWD9+CIr@{{=V#kEjV>Zv8Lmz3 zc3{XF=-c){G6p-?3@CFz>3-*|=X<=Y`xpWqWsv1-S^1Y-64b7U`RVshzM7{59N*1H zRsB4_n51tO;_p?(DKOrbVAl#WU(&?YXq6RK5kO6+C=7EZ4JFtgrFed0cq#&IJt!E} zVPsOEfgYcXh`pU@bny`Dg9YkW%5n50!{Cp;4i@OanZ2Jp$CR-*C2T~}%kB!=bO)^t zt=65L2*k2VHvDrxTYE`f?Phiqe%A!UPEs!{8+`Bd|Atx%+`S*cS%@$S!1g#%x&FoX zOnk42oAZAT*k+{8+_x|z8+?y8-VuJEIo$1e`2A6X&rU=V7XXo(f$4SC(Td67Ej^Cf^(8j=lA1hmGz&ulbO)j^T%G`J% zL8U9*xJ+-yu*SZJr1tfTr$%qxRLgrD2OfTOuel+?jerTlf9~G32yZoWdC(n_+GW(z zdf41-Tk>n%Dh`6u;qe3ef$!XKBY8dPdXnHPv|5gNLEyDMhJ1QV>+YMCb4SFrvjbH@ z;P>R(M9v+6Z4hM^NoRlZpV* zg7l);6{ujOKjA5P54T1&BFqd_driQuJa`WjWPlR(zKvoOo_D`aZmTE{fyYHIe=g4v zP%+SPQ43Gr-xvM?pxsPh$AR(~NaFf17~i-3n?*xlGB*nP5x3JWeS=mzA$khoc0(TV zwZQSu9TJDPVmYgEpe>cG>C;iaxwfexOzk&*)AX4VpDsnUoj*xr?fcXordDcp^^u1f zw{gnSY}kcjyYwRe_bbCdEk)YCQmy)0g9zE`{)vjwdPxFZ!IiYQIs*BKePSaB&!mMJFcr$ z?!71PkcfV3q`)2hoOSBz_)pU7F!NCV_vS@wxf^Vj*kK z)ArykO@o7JE~QlSc-(TyK655-gzbM*iJ7+o{~9f<3lM!(6Zo7`9=#M5?gge70EH)M zL4gHd?vD*;pa$a6i6N|4uaawfG}D?Up`?IvVgMGC@MA+okO2o0e%_mn3jx@qtVDM3 zMj;q@AV>md215UytVx1^97C-DF--9Hc>!Ef=q8pC$Xd8)#!9p>31|U|wX!S#$NX909e1!g_aMSI-5waG)2pOzK~p}^mqYInSmpC0vVl<2UVF7}}a zA$3*Jfr{xo$*fDqlpGEbh8dGxf#+8{bpf+ynnywgEtSH9=IGmE?A?8v>9o$A9T9~1 z^Fbtz&zv4%nwlGK?HxK+`dOjB*9?%U+VqYj&EYsZjdj?vN; z&SdBC5h<*sM5{i^MM-DDYA_7p#jf^leUpCV&HB%nYof$%F#28avm0Pd>iqrLr|h^H zZEhq~G+nY^faJsJ?tGok@Mo|8794z%-JDs{Xai7 z$A3TdY936M;I9hUX>bkv0i0Y5aOOdG?gY|12B;W7I`s_pE%1rQNS^4QuLV4YyW)Y! zVi5nJhy@5gq2qZrUP{gfuZ=JO;%m`*Knrzk1T>#p5PAtRzTVC2wqrX$_Jj989xV#W zFB*^;gP6I}7w0?Pr?mdp?F0Pspt!T1KPr)I)(XJZd)M-PVEn;c4Uac6z1cf5ifT3^ zGzH1+@&|}Xh&>Vxfxt@gPztJ=@02rNEMQN-9@EUG#haNbf-@l1C~O6TU=sWAnH$-k z8)C#R8Mt$waKZ=&wKb$;u_FroWX+f!=uhcAD&fr_ronM%_uju&I`~{UAhB-Uojh*j z-qmkX@AOJ*uP@rMmApeyGL3@#+zhvhp!&P>PqUH%if_nGW*i3LD=aH&m)At@rlY<7 zwRvZZ(e>-@q(XtED7yi*xgAHqtR|HQ`j^ZRmd39+j4n5>KhSIcZ@YG4`V7%!{N;qb zJ4Y&^3{cqTFkgf~hV@_HuUe$ILySpC3J%_~Ca0NKi<`*Da+36wlGWmL^=i3Su*Md$ zT+8yGEs3k~biFx`v_8CQb3Ce~hN+mrWTqFyEylblpcAl^XljMbk3PHP6Nmm0ShvBi z+~o3eSrO)8hU?-|rAd(ies9`1VbwLiuTmWbYW}eM>=*?GIxB|ihmrAxK?+GvF2NwmsV`OKZ0UR- zJaE`dK2(u-*hI7za%bD3^{;7|C==mMOALJ!9YAt!m+wXY9Nb6O0Qb^U8LS!2p=0H{ z0#+7u(axdTw|Je5XR=l3BJ(B9m#S>g%!-<%vW?3^$s3avBoCTk#iNBr5>OX8j7+R8O}m?H1a!;tP^f>A)Dn}YxC4Qt=frF7%x+wB!;X6JsQEUs1O;27}Ky7^Z` zB%*5*K{|q5WpKA<0DTwAjH$i^h=Fy0W_v}Kt#WtR|CM<1JQ`C^&oC_GK`G#Vr?~<_wfr)b9rdX z&o_s>^uqsYA7Wk<{Rf`ma#h>Uw!Id{QnZY#-xBccF1Za|*eAJ7hNX@G)D0+%OR<^6 z6*!xW9TnLXNefT-Zj0`qCdUrp>6Pqm9CR+hIB{M;+N+v9$|mlRPVoR+ja@+%9jFo<%N@K?b9# zH(3y|t%IOgT=Sboip~wA6+$~|`-tmbaJ5&8Ll<0wYa{NnjjvJey}#r!;^RCNd9ThX zT&BhNuD1=_xW9*v+mrFWbBJp*5`}1|>v-;JgvW9>wpaHJ+OgMcU%y5!_oq5e}ZAtGw z`i-y~?{A{;4k*1QwPWf20M4sQ<1(xpXtu$JSO$Bz#>ZImXjM5=cm_eGNWVPrRZq)z zbqiJge-41)Mj8-U|C-Nn=Z(Li>7Zg0e`0&OXJFutFMeq^>^p8McnP{f1BLoTm2JQ3 z<{Fy!>HDDeP-Q+bp1QHU)hV8Z? znE7yw;j45>q-B zBVRS^t4=IcDr@N~J&Hcfi*l+VvctNVEhHeHopi7I57z&>5|Aw(3pK9P898$}890SI zy>|**7HG&}3{tuxscl4K^^fH=8aMhnd-txha=Y@Q>u@FniDfdx{anOy+#vd4Vo{o$ z;C1PTCclS9tEhXos&HgW@>YY=0HIdDUZHSrO;BL2s42)^h?KlKvOJ(^One&Vc*m#PdRBISm03crEB6nCw-Y+23$VbC`U8@A=PNSzS4$Ak?M zTzp(%HAY=uNep)@tH-KEHeXw+gdOJUojOj)A31!lc71X3UHW9NCk-?F4!L67xLh#v zJTArUcP@)iXHP%@OL!k3 zVY<#mSVtx%anjwo3n_=&f|Y3-j^BCHckIR_GhOayimhONbtckJ_NZYE_MSH=Iq-|e-r9rzTx3+2a>}1-l@8grN`@f2 z#h*GtLt4yLF{kh#Uo7V%)4r}mZ9tHzd@(t?25k-&0fi`5*MK~7a5`4=p!(Mx z52H9)B!+R8+H`9y&5OoIjgI+rNW$6~znWL0PCBx??%8a%9zwIBd5ZJ1Tid3~`n`3< zs@Pc9*W;2WsVXT}X$dM(6Lt|xD(Qws14iAiT5p@(%*I4^Q$EnRAFzJE(@_bNIsUT~ z`bu`-tL)^0mNOL0OVyEw&7L}F1`*oAN2k)E9>B48* zWZ$|fpb@f)=~58BO-AOUNHtKR^!3I=pP3^zX2kRVjaS>*VT|BU`P)HiK|5_Ir6BOg z2kbip3{sac=B=E3{{(O>P@rWA*pigZ1KbP|g^C#Gf%Whw3^)e1z_)h@mJ2BuasE?x zpMYz=x^rgEJ9SYdHu)LmuS!Y8&fvnlKSuENyQ;am<;XAMLQgFUzA8Ho%9E3i-nZ)Q zp?JSpEnJ22*9w6y#meHJ_!1?^)+j~Dv~N`Ij-P)qqQCF??Ld7r{6SNuHvM8#cs@~# zhu9N;0z+vr+RoYpeeN*nICX+B_3W_jb-ec`NjSihHCC zn+KNGOX-h!Ofs%2=ww6b94@JmGLP*?oLWa;YsoECuuD0V5>Qn7VSetWQq3rpTdy_N zI1K+RW*CJMAV_p^21}DOwRC}Snk0FNnRjF-VcZwoKgyF@lxvgB-k*Aj&+bw6 ziMdiIu{VT$<4yeHqZ7~-97M6}6VxMF&Q5s|A>wW2mU9H zsrB*sFO`OM(*(Po-35Q>mtD@soEroakr$<2<fg<5U7^nt`xz_V(V`>o zDR_|Q2uO*Pby1=tBVGcc9>Qdk6$%nQ{e31fzKUoYL&Y+l3({$WC*wH7<|`NmUs3u3 zHUlJhw2(00EW7y&r!?rtb(1tDYmBg9MT2PjIGKy7g}%CnhvZS*gy6!#xS1WtqGbif z{=j_f$0;rLIMfC1tD$;YEE{~Xd5&YFI10{oOkX?VI9;3g_e;AA^oz*=9C74wloQ+` z-IF0f^T(rLV4L}Z$^9rQDJjV?dzEhnFM)|4+sLA_#rFLw^NQV=aW>bZl!i)uwRN|J z%`W`?H6a(*Sbj!iY+TShJLqqc^jHKqFf6`^hzo3>IgQX1MQxyLcx{El6*8$Anxu}V zPNXhpdfrZwGt9@Yn z?>lHXOm3eWGU$^r-yaU&p|FOiRe0GWs z`bTWyQR;P%J-SSSo){)x7LLo`mPayOBq=)XZ(uhPE%)#fSRkmB5KjdIt7Htt)(CPg zqYcu7_mNF^hc^0S?Y_B6pvJf<_cF{*Ns{Y=(0y>r6Q#Dp9EqVSw{F=ryox^gRC%Es zi^XP)z`)e0uWgsdx+8M1#!l~x)pb1fL<{`HFV$E+66(UcJhuME4tCnkT-(^%h4ma{ z`sGVD?T2N$C0S94kuu8#iK}7DJcj(}bL#kua;^bf0qoBn8|t!8yM^P5A)zT)dr7rtR52l@sj`AwS@i7RiyU1e$<9ZrmRs_T%e3eX$vC}=C6~XGuN~^KF->NzqBWyW$q+MEvUt0&$T_>J zO{$%QQ1j3BPb$v)?1HN=F!>>> z6O$C@O#E21O)2~*Nf~JTj3`+t8@F-DBX92F$s~*JixQl6 zhE}VO#MvPeu&77GUeZ-zIbCn@T*t>g_v7qtip4TiCmsm=qR5xdAWNLgI+jaK{=?$P zPdNyKf5neYC+O5bKI(xEk}tze0{0P$x1~R;ty6aC*F#PkOI+ zI?_;kf@^62CZvR_%jTPxB&Bz^v&(R|Gi>O;rRIriJ2MX?f&~IxMTn(RGZo1+`;zY`V5OJ(0d2}itrQ|NoIKp z$+Vk(Jc**|opmqXSQ~ za-vpr)3tX$PVVuzyBwaaB9mn;)dp%KC$pX)i3uRMDO>@!Yauu#Gl%b@=;tf>WOO4* z10C+490Ud%H)S)W#YnAjB4`?mXtB!97HT8oP))C$p@p;Nee^={-5d!LwnRskS2xCr zCor90QK4*E^^eA+i6XhB8T5L(pvyieeqfDsDdTkEpc6-apOHu*3;&U;t-MZg8RtB& zgTUQLu@l^k8l@rpTn}1KPg<5%)MUoT5~@ZRF(&lp~c9jlQ_nbie|q(7>Ih|1Ng zx;4FevAsgmX@wAvy(^-aDibch3)(fnRY`#TNa?v9 zh+VW`!{PDtdrPy4xXU_YgW-^)$|n7XT$sZeTnU{bmU&wh4N@2D*M$^5w!q9C$RwBG zx()3BWXKsHc`ZC3mdB%up&v%93KcMQj}67lDNp%M#?8wuP}i^dAZ6Zt8NaD*eiu%W zsmgCKjpJXha#6byLR*)h2BViGIdX0TFg&ON{g~*T<2p z;`uN_yU=a-mT%wKho^wKtjj%0T4+~VN$y7NJQ}-BLkY7sUuBtLHlrhtV0wwC6}$E< zGWx+{AWDF_Sj{Kpa8xvH=U0?|XcV82mYM{#19Fia=!uGH2=5MSqaA9mD6?}1@je`_ z-2IGor~x?4=hNn7vt+Y$FxO2A167#aP#@|D78-6mDDibCqQ)h=2VJ|yS>8u)sT#hX zcw8wrr`3dOe!0u8cdEY@E={ZZ(tMZqa!1j)L)o;gvM5j($5Ww`=oY(u!I^XC94+~Q z;Vy<jc%^&6Ar=#ij46#_5;XXCs8&?Ae0c>s$n;y3@j4l!0K&`aX?Bj_~t z3!o19YYXiA+jZ)Ijmsbo6FaZk+%%^{vS)yg^6OHJms z6Tfi|Evt56;ey_B{TkWQd)OqZ?yfuv0bx)0`1AwF68v8?Mmuk-1#r8eyO_Vf=bA)b zxm|pRz#!ryZ?Q%Wqf;Dz>Hw)a5j%&IS?_prEQ+$qT!-q;i27&Bw$KfqFd9vun`gHWN+kX6wHr>8&bTzaQ2>ZS5? z3ET2{Vrq`{fp=JGeKix8V_%V2uIcpJEVffc>t^T6dviM&Z_*E$(c4jHn{u~i3-DG4 z?4!B#0$!0-hQFik%(b|o`}_6gN2;jNSnUYlKsi`azaNU)jS?q;+mRQUzu|IWZ-`eP_AiY z0SKb_8_ER}!jfUorh?c9F*X7m;=pe@&A8R~_`O*iiw=(44^5AyzEbW;I66N?2J>twBEcV34 z;j&?I7_M28bw#lg!SjC|@G$U~ypx{_lFsf$I-8+KtJ@CpPV!$xC%@LIfB;4r4|__o z?glst&e8|u*BhRGw#u4|3#K7zy!pH%&FanDnbme*Z|k;{SM^2Nsy%0U{tC!z&w06- zC71~mpNY}n)CbF>{os)sNyTn+k@--NP*%Az$7RUxG zd*)e*Qr6g)c4IS^dj<*8dd5+^Qf7tg^mTUs`Q|z_HJh7Wz)p|burBO6QD_!aHnB9q zyC4dqf<*!F6cn?3p+LxZF%NpzuVP!==PA-%Ab;D~+jYzv5m33om8UD`n}n{<=V3K& zF^8vO6EdM*pi`=sd!S6dZD@C_e1ChFQM{U0E1vusy*F7B=$9@0aFLZhj z{+%k=W^QJ#14;&Tbq@dx^4qESf%}ll`cMvx?;(*;^q`Z}>u8u_o zbQ$vO<)S$6HAsIDwcUOnJ;TOh@u$Pc8Eq{kM^~sJS`kxp*l^7;2}|G?4AKxS6on>E z1|5HUA>6%4!n>XI()BjHZ^8((rQC^1)h9!)4aG@XPrUbQhwvOzCNkvZ)piFy)X1it zFD3HzOU0t+-Gm|^ZI#no@LjMpypTZKc%_Igi)c#Ub7 zR8lsLnu5$rUd(aMY)~w3X5Jw?5()eKZcygMPt3cG#Qc}@QO~?vM{{yFajekIDx#4n z&MmhTrBypCq-j4%C}MBEuNFhEF0QmzqR#S7jQu<;ICWGhZS2lRT@qsdU(=&6Q>u4L zjr)5}lA?3}OW<}@#D3gRVT9gO1-+o}cAQ+oLgk>7z*eBAF~LzL@^5CGF}RZBj|hC* zzO;~o#K3v`5~G|<+bjn=QjK7sv>;-X&!K8%=oZ?Am-oOYP z+37ycUP%_qUztc=nfqo{BcD$1rSIUY2ho_>2E3z;>|XEDAdxb`7o{%`WEr@to57j; zQ8zUTuL`|1m|thCn6yX3_2M&o!WVPb_B{H z*}V&GOf=Gt`mx*NGToG-V=)rrycN&I*H^y&X7&L}>v;C>Tb4L7{`Nhzh+0Qi*UmqE z-JYMfySLcKXI0rkaJ6)_V9>Q#MNb$@7+1K2qJVPl<4a6OWUUk|qgJEl@_n6BuSKS~ zs@)&+!+b9%d;QUZ9=;7e6)?H0`)@DwFD$Q3JCG_If~n5 zJ94kr?MlDfBvYSwl(a9vj?1z^Ql8Db^0}<(MxJZK-$Tv}-W-L0voU7JnxR356v7kn z@8^RERTIdj5imx;+k60aWWng7`k&dh2RtURqN}NJ&?G>6htR*&?}B6!q`H}I)3*2M zT*+c@Ng$*Gkc+&ud<>|Gsy`ZL)XPFjTnSlrb+S3mER$fEeh zN%eAVfaZY{g+Ky-oZ+~FD%W2xZ+Al!o!jxk9ZSuujZfiu9jekxiToqW$s9#YriUL< z#B9*{ZpigKsP>i_DGkah2~*?BTp;ho@m{G?2o`>-O5wuXzXHx3FUPfDaxfca>$+4X zcQ@4HMTuE2E1`Mzvr}H%pEXmK5oaFi!0N-SsbU z(T{BMi9z`It3)r<4mu{j?yr87SI=W97TtfRjVp0G$SuNJjor!TfPyYo;W@QA)+{j# z=F6utTeEwDkK5fugb~VcuX?coE1^g+t)m@ZT`%&Wd7>(pDg|CdgFaO0QYUa9a73pu*k_0SSn{?<2nW_P{{VMGQ-975 zu`@31iJYcQ*1wA?%l|2=3U?2x*WpnkOa}t)k9&76hO1s4m-R6CdPBVL#ntwzHpW-h z=dRBHGzqN677**gpkJ9@2mFi~AgMtI>KnZ0ar9tO0sbGX4#Yr7!wiqQLuVLq5p0}b z1r4#!!E754-e(L^I`FvDhl2=&Xax}#3_EJbPO3Hn*5uvm51=KrofI499^Nmzw60tb zEeMV&Vv6lb%|0ggd8S7l5%W-t75jmVVUGw$FsgA#j8Z`PpoY_En-Y5f3W>ozj^5XP&iI27tOJJYAFXmz?+%5FdFyryNX7dU-}EL0 zEOALe+r^MeD{rU=#vN^3E17~-YJxY}E*?Bg*WKmEowS83cb~~%|3G%u;A)@7vb1x| zzlOWSUS3bkBo2>fl1S}HZJ_rG9?N)!vRknwCUcpw!eSrRY0OE4tHVjUsG0bioTPh} zzqbFHC&9i6ttMNQI69u`3Gu4=a{F@aO0wng=t$9zuwePESlzcy?VMKqH|y)VH*waK zE9K{YS}{D{y<5>bMQvQ(_IatS=Cm*U=C0obV|!_qjIr4{7CNS~P9zpirN$Fi^k<4g zMjnybA=2_rF?rY{I03OuZHj^x1K4|5KRfPjJhf9!F)#4aO09oBfl)R=_Ad~kd=4fA zv_VHxp#V0^`kRo3a2SL`vEP?NAyOd&Kd!s0YwR!GGEtkUKHXC!+%#AdT3beqN>Art z-SQ-g!ofA!w9O`CxHJ$H7~srV(>`!5>Z`{PPG2_YD*fWAim6}Qk$2-)0mW7$g^T1p zWQGgfs^9@}h1|i2zk5Fdr2l$9KsCedhoIm73sHx7ML3?ZFaP|^;wPj8wa{0&&dUhw zrFmr6Jy>yP!Er=50tQn3tpKr&2n|N$&O$J3G%yI^93m!KKz*tLRWbyQ+rkV42!WqL zWV#9`*XzWd6B4ZHmjQI@2s$u}JK#!ygX{WF(r${e8x?tpD~Qt;MhjF@3_ZtbixuWZ zwZhr7@zl6@UU-U$OE4UxO)A9}e4UB9=~ovWgutMHQ|St1K@k`p-c*WV$D;t@SG@ z2_DyCYbXZ9BdSu9u~YB0mW~H|0QQoK=aGK@Yo6vrJF*nF&>iZN3msok*HO zP)2!qA|pi|M>~?B9nU8t*I7?)>hhQ6OorC=6gBT`4h{;q%k4tA{fcyNRn)codCszR zTi3a6D;6oj<@b}FW1VY?BDF-KyRQsSWBh?efmLyp-6T!RPprYHM9%n6RSPu6yuRX&=wx za6^sKQOGhvvAQsUwXOC+PkVswPDDtor%p5|&Vl>U^Dgf{&C63)wNhGa$-C2`HwO^Z zK?HvrksSsOvEQ**2X`u)Po~+R<^+;h#~QrsF~0J`3XU=GghTst2Q<&x@sz@F)I zv^_FgJa-P`uzkkYZG9-5g2I%>>0$0?$9EQE`bnow`q%)lODv9Ai!?| z_XI*Z4{BL!NYL$kL!0eI7EQ&kuoG}9^V?R+rgz+%|Jsqe(@_+ce-Y)AY=SfiF8++` zigyf!TsH%s5AjFGhL+H0NGSO~^&1K#XaC}c8vHB**%iAWRm@}LE*{0UUtoG3MSo!f zx*dTcSIaejSLO@9kk+O8pv?eXYqP?o9RD6mHmv~6N%xIgl0{cydd^NKd9FMQ3#ld9 z?7>B&{%FNyYV+Lc6_lcWI_wnA0292YF2IDVpMhe{V>(fs<1~<0?!Yqeq5Nkub}w_e zp)q7O6LISxMG9)2d14BO%}JndPbjaLIm2|k$`H z%{<`QyX>TL*%q`CdBOBKJV8N$2vi4_5&DWJb1^)yA+M7N=@OLVx{+-E6kq=15=HVj zUR5z8-zu>Wx!y2VnP754o;t-?aW>Dh${Q`*iJk(@o6k7d8RbP5$`5W6vLtl72-c_! z_q>|3KsF{1u=oDi_qOC;M8>yIx>dW5>r0*TvR5&2S`^{1dWlCm*A6W6svC6r%3Lh3 zikmypS)E*Ya2!Lf-v1pIUq^&|`)22(%A43cr-y7b5B++}CqHtENco}0)_C$H8rm$m z_TX@Kn0hFT2=E*#rwgWc89v7F>|!32Q~7#lM8DU%C}Mxj-lL*0L8Msk#-_`IzbFLm zvHuNKM|Dq?hej*!Vug4r-eK6&5#g`!p&XV1v>>?d( z&-TN_F;T6o)u9k%qd8Q)*>5EK_CIo}LO;-7$f|iqJa1K1$r^lcH?FluE?JID)o+?a z?0dj;uI_9c*28f7et+XQih0tf*0kIvDnz=~78-;~eo+w{Uw(9xB`)Rpp&j_3TMQSq zrmC^(s!=_q?9(W@r6s+GTczBY`htFyxcF`EDbKYst=4i-58iip*0!k)j6!Lp=Ve;g zRx^arRLJ9A59zzae*2wJjH`Oh<|Ihf#!R{YGY?A``qK!T2+I00FK%jXpK^LbYlGiQ zuHlo_>U3u;cX?YzNQ#V#NsQJEcZ}ycrcz!AR*2NF>_$7uUN8UIL>2O$@7A=0JRS;3zO|O0S(=zJ5PjyotIc*iWTGQ$~*~ z_Jpdc<+5fo-c+?SS3WK{)`zqI4Wr^4Q}i)rcHBmJ0zUoqkPriw&G%K}))nN`=678l z-jbfS!tzwMQj5)&K*1HW?`?m#m*>OhyU-oc#6I;CE zRgW7eyH7FT=4t_N&=s6C*cx(FA(SOBV_v^nmL*3w5P=nyN9W~!=$(&eOOa3nBSu7b zfEbN9%ZTTCR8@Em*yV8VVugc46j0U$&%U>S>&^u5_Z8emjr#yB{;(9m1*s49rfn!u zH{fEu<@@InY$EZYbbMLvOW|-X^Qw37OBvAUa_+FjfZEwqJE_D|6j#w6--qFZp`-V`wH*1Gd>i08&e0#)($(Xh zl^MrYRZCN=DBV}T-%26|`V!Rt`{>C*7Xxbhp7)VxJ)9%iK~gPjS$1(vY>j#b@ARt- z2BFjJmP#UzuE&d{5P#SH%|OY3=<_S!iRf=!vQ`~BJS&%%c@p>6F_Ul=8Rp6;V(u5f z9vTkTlSvmv9!Y$Ko_s9!Yme@_Mv?R1PxA7+|DI$3ri0l8l>6^tbH%dL25R${;41mO zsrRV~9!-Fov5P?q)CwNA^#Whgft8-{fs(ss*HF6?I2T?uWA5)nGUUlpY;O z!jNx7G~r!w?)5ZkC$b49+;3BrNOSs{(#9iP^7CBgrFvpivgg>h1g!FYGV-Av*+@xe zlu;3k_QnKo{5a3`2~a&<>}1;1p-nzwvSV?i%x$32*L-9Di@q9&D`*4Seuxq;m&1I_ z(A|Km4sY`X4Krysjv-ClyMXpj>EpF{y9$N{olJ~nL@HvcHsm9nudrt3eZ&rJ>QC$S z%-#yg(&j+2;1grkBJ|q1r_%Cq#~=2$X!i~EgOp{=WTYbG?pJ&^Ob)JPE}x=0EHa-k z8DmZi(z#zvgsvLLT-7UKGvYlr5e2WPMxYa=HMTD7zWxIK;p0MqXJSEI<~3XVp`GD{ zDbJ|k=gmU&6!aKw1q$&B$B%shgtqjk-}`)aW2GxZEX&${2OH4P)aTayJ5ZsciRo_t zC-o|5ToPMuVUsc(EamWEAwbaxxHN^jC&<|V8Ep;l=b0Zq{CetRz~2FUG`PaC*1&HN zXd~%)bOw>qzMz6ToQ5AA(G)>#2S=){0_^9t@USJJodC!lJaW;D`L^lYJP?AgiZGRc zzX|#f#9H3G6H69Bv?eQSWhWkD&EO$h~Z?5Aiu6f zcavL-S`Idqb9*|o3@MlcY;e|xi_4I2Tj2RGuAc^nz6Y?p0575eZEiqJKo}4RMh&9Q z03mq+c|6fS^%1)5_aER^r*@w8ZS>-cC!P^S_?63|r8E^8kk>`ZXHjW?urrLTX52|F zsg^1e_2NVu6DuZ@oh)xK;d+Oqre(*}mnfw^ougfBOGpq=CDmglCrlU=+}OlBNM zL;8W>?Q8yQE@T1Co^s^bazibc{{79>c&=Twn*sjDhFK?E><8jt;9>y32Dro9hZPIP zwGO8wFIo+|6?A`D>}XA;2DsIHGuV4>(QNUxbdD#pJW0Dj`a7dxp#3<<0_eGJ<9zLw z&pf${T{Aq|Cd`JP-ysI}C^;0ZYnfxwf&T~=07Rg#*kCuliQqi{k(5Sh`8BtPsGoai zod;@q=x4zBpqx&90-Yp~!%-f~B-`lwH4TAm9d0Yl&a&2k*UFz?K}9EsosQa`326$5 z4iY9DV1swc^g-BF;jO|BQ*-_^mMJo}nJLxR7EnT}AtFchruJwGQwXmzphn4bZQsDu z5&0?4H;Klxu1dMAq~1ZZMS-rufRHz565V#;Z1`OjB3uDB>`Tms+G^{qP^0ygd7^*w z|I?cgaW@8CisbzWJs;2Apj?fhSTQ+c{5Yz-D?B!c+qG8wM({W&qc&&mw!Rd=ngX_^ z!JUA32uz^DXcot1$g{vFOJmn5PpMI~o6=^sx94ZST@>(IDo{6fH~2;ObXP7q1H&8n zcSQG|+Y=|>Oui~_4k*XaCE^G)>E~#`(y5cSDt$8&GmS2q(y;Es8;(tp%ed)Zx;%hq z17Gxpon`m7fsE!s^p5)T4Ge$&f|{j_D|JB^0-vOwEvs2qN5ir z^f;B>gfOG2DAs9zi11zxYSu6#Q*>;>0J>E8lUL)dV^!I{N^_${GccHEIe6l8=0amu zUu8=A>ZugUbes)?tg{_U@{F`yI*Mk#COPsK871K{Qh!2M|A<#7HnNSaYhO61>&ZHq zDSYW~>7Eu3BBe24^bVzVgD4}N2Ju1e)C`5dNb=hV*T28hfq{81H!=4olIi?|8v5E0 zEM0k%dTk7B-h`bX2`2GD^0;74l#59x8J+;@W4HS4vSSkSJVTd{8$)@_1J~mo3STQT z!on5G+&41CFps2d-MkxJD!=#M0JTx0OZKjepXQr1UTZo2?#p#%G_SAeXw<}(r~1;@ z0&i*kpI>GGe3^n2Kfu$QWQn~jG(ne%JD41y9`}rLx?sl8#cjKC>Z8xsLCIfkJ6~R& zjBS5!e!*}@{B&%;iSU~1(d({%cWuV3{el4B`D=X(p*Q|V^+tAAjc-KBi@TO&O~TbE zSZd>v>+S{U5l=o{wIQL_n?p^OArLxvQLoQmQ15?3l*5Mx=c-SL;_OC{sHO4wtHh8` zEvE9c?NC5-(G9rlj%Xxna)j40cd2rk4E?yBUx-bPozAtPRQQ!#stU7Ig}l8o`p^87X^vXexaivhtjT4PFFkVVRfepZu|~{BSWR>?cYX*FGlvCE0m*q}lNA!WRN_R)~y?Mk`8(_^#(4nJV<2?pmnua=vQn;py|~?<=U_=c2}? zDoe$}T|j)osQk3Od@&z3)QjQr>M_5?@RC|OY-nCoiIh-7~7`^S#k z8{gP}PlTb_a>GmM{Nm&Odm+20VSjcr338>Kx0QNJE#tQTS}hPt83a3MF@)yGI3MKj-t9rypp)6~Lq_FoIWreJ z3dFz{0|$RM)FD=ViL(iWYc;U0(M%DU&8izLOrv}I^7?e-Tu5qf#jrKd9CQ|~f2QLxow_+gPt zcg&80z+2x&AHLC&bN4UFr+QC8a9{aVc*p3Sl-7~d_d1K6>K>THw|4~4d{RE0ZY7i}A+gDRL>!trMq z3nb)C)AFn|Xn#wjNuYKyUV3kygmqiHP_An_AukE7?g@EqaWcE(=zX#IV)fCOW>P?8 zG6QxW9n-2U(p+|j)=Sh;05awh$@sbl#0l$ZEYOkBIrsu3+8%R!R8hr=#-%JYdAi?~ zz{*hlKYE3Kg)b8B)gyGM#z2cAL(rTIOn@ll4X(ysw(dK2!?4ta-~3IgU4|-~m#$lZ zy^;@ZKi7=bj#d3*mM>CCdfQHs!u7ANzM(DWRaCrDS}w7fiV-m-Zkeri`kf4>nuk!JEKtWw0Ar3d|x3^W+SCg0973ZFNEx!eSwanjh`~Ii-2Ep>& z-)!4!F7Lbl-5=VIOZL_^uNI}y8PJNk5{le(lv*);&wp_*f{*0vh)L=x>d_G936ke- z0uohyPuyAXRrmg|P>EL%Goz~FB&i(=rrvCEu@4qIwJC9*-3LtqHzwgdR5XLHf5bj? z-VJ-0pB!K#B31c{kJJ70I%TkLn8MoA%-d6}tYRWlW0RpFXyV1qJkh9~GiCS|uCaD!#F}Ek`-I(kN6sBMqmY|vD z=!#6Vaq-Sgv{7E4L!+@1=zstTt%Mfje@DRLlbhqsvp3~FuU9z=rGOj=;a}=pq4?qU zW4D0j09AS;^^7<-D5}=W&`pDbry7a;WH*8S@hhVw+)&TTde(k)trHTQw<*{C|8lGG zt~>o#9*Tn8j1<>b2BW+fbwV>yL{Xq2x^nlNKxT8kvi*)GUiu8O`SDY&1GY0G0#qx1 z=FiU?m9BD=Z`_)&#P()Ul-4HICN@L=a#y&AC(S``-7gM(1>1?2_*i;wf7MUZ*1J@Z zsH@IjzPD0$OiAyQ62-Y|d!x+xe#wdKBA!)fvE9j?@XmO2z4{?}UYDuB|0O*pt0AT+ zj9d)Gw+$gs=c8Qac=ajIFc~{2PN#xD2RD>%UKqbqV}nUvm0?($I&9nYt-<1nKoP6Y zDa${eZZ|Jj?!Xptce3icVo?nGVRNqUVD|+OAfzp8NVx(zD|BPD$k{h}wld(I z#Nt>QPYtb|&7k;AIroYP&JP#(QS5(blMR>WbMuVhx~|73Z>VS&cqc7;+uL_ zGn3-@Em6msj~5dhn2YT&Ed`mfs&T9pah;Q*ZDegH?5t!AU#|#NU&Id-twK_Ft7^SO zm~auBY~?$}lG(B1X-#j2Y!b!~)0)n8=-PUuXqF>4er|M#yi`8rNo&T0zfvr(?NEy` z+6H6CUmE+j^xu98`v_QM`_J4>%n>DKA(wG&J49beQ^fkfor~MeTlH~VXXu~uz4K|U0sX;6^-yI?V9NKsOA#2%ARacrcr_XVEsXi5}cVsL3^aAw< zc208%$#%$8{>ud6k5w|<65?)?_A~Xuzt$g}dHY}K!t`!>xCakNeB1mbM&}g03kuH2D@5szCnu|og8MmMlKx0hMAJouZbWYpe z)PixlX^55Vu6_b|pU2SDHHh6=vhyV;kL|V5tJO;hv^7ta)gQ`!@fTiu%9k)*Q+*KE zS`@81DkTNwrqNf~lm@Jkzcqz0Y%kWPXi&gU2Rekz%@$gx5aIhXrqDj3SxkXJ2y{9+Tbd&Sm zR#v6gV&KF!3l8>HU#+xzi3=ghqOk3F-;8MpFXYu$C-pX>Bmg^U3xK?+5WxMcDT%Y)~Gc}S>GS}=l#q_DmIE+fz^v?!p%Dxx?v#1(iF$}hY zIl00f|ID;~K!N)tts@}m-D-NcOLzeQQ4k{dxWp_XO9pcvZDRJzul-$<@y@m3re z6D8UA+z;rieRf}t{IJ4;Y$GebjP_wpxPsK7uSX>((xR5`V_89d(lQw~nTE*IC5+sC zVSzm07AZavfBr4dvtwQXlMdve=HXoAJS4bU5~y-Ys5_k4pSyC#SWADj=VvSby%sbQ zaPR+(vlZhib{J*{t`Hx!k#y+W*R_chXz?j!x$h!SnSFycj0(B%WuVZ9Dk0y@ zd^IKd8S?*ZQ3B#y1dv*SVKP|M*Z~hMP)tL_vcQ(^#1nWz11G#Q;17Mc($*$mWd;^< z7Yhz%<_4-7jI#@6*pVNYzO^uy9|+Z=n}`p*zp92puF5zp{D?Xvr0(|7`)NkBP8QFr zpJp*jj1^R1$4m7f>yr~+sdDM1=n<9Mc~vgjW`XFEwDej?n)jXY^Qm7!C5wI+vcv3N zmUTz-P4%X2+|%;^MdBx>_K+a|*Y#ob$3~>pLS5;{F5^6uRa&`mP)Z9RXQ<|#yz6`I zaAMAZ8QiFb`)HNmYZ=wz|H4yrL_005#58t+&Z{yzx)p(5kr1w9$hiefRdIXLgYlOZXgC1?ALu;w(L|!EKl2;8ZoL-Nt#sQN^%nzd zh{CB>Kf{3gjUXjMYMo_yQS*-^I!i{xzb%@~Mkv&p)HyGkUEM9uD-w2|mDrz_v)#dFK3Wm^pOH#YEmtPW}eBUe+%eKU~|r=BIVzI2RCjaQMfd&D8ZcN8d3uZmCr#|lvpm*Jg-dg zO1S~)U(r-D^Nhsb;Z;Q=A@068P;lC)WB^wPQ1u>7moDG~CMB3d4W$V-ft|*iJ`MbM zsIXyy^TFpzc{`L%Pusqa+Wby8W6Irm`kqye{ohBtX!QV!atgBmNV^lVTlZI)S=& zd%Tc}u~fUM-zpb1UD@+I7$!V^L{w}lQ~-zJRr+EM7t`Itm{VoaW{sv7A8Z3%HA{cE zMr#ujrkwARlBW}c&K)j+9Fo`KvdD!$nfnx!Wf3s(z4iNmlQ=1<7bZ?9EhSiLR6;`e z=K`LCZ=H-2U+9$eVL5=Q5UQ{HQ$ra<vi4!@1V*nn1=jHf+ohH9EB7#0GPgbo1uEyy`~t+-3lDexvU%;Gzxb(zp%gMC30b#I6-lL5#XG62rsdroppo_2y&r$5m#N&&*9)} zv=9ci4Jfcxqx-UlZ=ZXh7Uhf&@-WXEi2k79WKL&nUAmxyd4bBV<0{3Y^B=br^rl8o zIe~c?M9W9!KHDLOs_i;w0=i9GE+A-;MFTzz*d_Cd*J(PA_34sv1#B&YU4ChU%&~D; zO=m~s7vugR(cxJ6R++I{Wr9{2qc1eLe#HaM2lxpGu+IGVCtTO)<}HG(8wGIVpx*)M zl0%eNkYo`60+vB42}F%_7M3=PKTa=a^p1h}aJaG^an8*aBnEp0*}&O879xuVe#5JC z7wJ#8=>Q-{$W7L(oAH@fj=_%ob-;1AF{}XMtHK1B)1(6UF>Am6Ckr^Ubj z6g2}RZlB=Z|GY3Svg*{OLb4)`3qUN%IkI`-O-h(^xk7M#z`_u@ttc;vo*x0hj7 zZ}rHoSC3Qo4&&0%cXPo7EZ%Xe2AmU|UJuddqF)_>P-tT|Z zDvM_7Ee=y=%9ZQhAFq)YdRB^7;awE`Ogm|Jp~n*!w9~5z7KW7DOKKH=mG*mSNbALFbnPYou`cP<`k#vo zsPwX+=hX-x=>V?@DgozTvGmLX5U43cBn+IzBY#Fu-GG(Ay~T#}Q?Oh_iw@FmGJr^j z?2iKOEP&?SK`KO`Juhq6N&%Mi>tM{*1Rf#qxbOo7281dLrtd(%)_Kk#eESPvA0g^B zAU6WqjMKbtw(FOJoFfMSp$yV{JPjE-$FX}dMHe}kbZ6EI_?nYal~*{R13fw|PC~hZ zT-M9;-v3>$=X5pVDhaMZb+mt~;=2r#saky)^!S=!%;Cu@#+ZK7TT$aE$#+G#;^P#w z>kiBoQ886EP{`gH=ukr7Zd+=?Qa>AABjP3uR4AP=D4Os+6oe!`_@=2^DPrrNX{|#z z13u{gJpd)|5-c0ZRE-8-b-)i^lp5+h*PjLzcHOr^KMkwgSgrUeDWsuSIfg8Zc}CNL zd5T~H`v7;EmkWBT4{%XJy0nK&CAn+CvTI8%0;fU zy4_l#2fRT`2TVUZWar)1=5ec= z=)a^=%^#nANKlh^^5gube+&DrxoW#EIKQlvJr^v=k>7&$&#Cc-taNP_oXuK>?rDDy zxmkuwZSe-2#t`iLSDS-rwb*aGHFMPFaFW186;{ctx4)0cK=!)naV9MO? z4-0V)SJU&k1ZERS0ICQs{M9c|l7d^@_VjRk$;PIfIKvBW{1;$HzXVoBfsR}dFk^u3 z<^dF|f4y?oh&C&tL&lD~umE<6LABZ1#glrP~ z8t4x6tkq1&TFq7E(wwJ2*8Lo&1XneBKJ;ZPSrW?0rD+&yK|lAgrgLY8iISyA)JN48 zAwWdMR26jXauV{IL@^;J69`xj{5bSp)JCC*S9#_uxx4zlhs|xka6uB63^*%6!<;DZ z>2xqJUh+j~68!SMG0&m5G!=*@swD~}mH)B_N1ZaS@`an5duSUg-dt!FUdPu3bFff# z@4^^+q0R1T=I8vo+0FQVVwaxh<*{D`f|+Z@hkx!N4l2K(PwNlZw5s(>MoHoZ+s19A z0}9yctuZG_4goWsm;D^IieI!m6h3Qesk7y#A0345IXwL^MEd$bAL5SV7-JTWFZM2h zEpXNKnxLYoG4yZ6GrOPygou-C-uM{uy?XW?@DPqApR+mO2|y~+y_LbuR+H_1-LEZd zT5Bq6xUL66bGTnkIEzw?U2_it=Y|#OI=AKk5g)x~oGI2ZAI_!L1O9!f8vXZ*)K`?$ z=|po~mZk&5p_&P#VJ9=?y_>&2rbg7-mHPwsS~n7%A9-`#adWInisJp;=7e091}S!m zA~zh+F8wRk$t zH5x;((EvfqgG7Q84EOK?Wl0N%YjjtM@{>sm~?};nkueJt z*trmPn84EUyPFek-CBx2CZ+raWW*n|x`Ok#$Z5ScrBWAMD=Xz$sFzr8*$wV{T}DdhaK3BG^4OZG20Kh9eRZ@xEix&?dPCCvA? z-=@}PmU1pNnz`3_mdAH<7Go0fshY}89`L;5qG7S&G+xy*Q(EGA`k8{Q?KG{gn_g5kjG4kKS#5X2H`%5 z=0Ardk$m^RO$tusYha3Xcl`8t41|4Y0Ne_Z=#5Jf1F**3Y( z?fw)LWfVY80{-0LT0o@=@%TQhodKd82aqEI;P8*%AngbHdXEoxzE5{6y#_~%4S-VK z6#=L6Sr}MDpt3bbzXz5p@3p{Mv7#||Oy9fnbM#^_y8E{_SX?|tRzb-qPo<(3FJ3S@ z$G5+E%-CBlm{*BemoP6T_r}w}50z&Gs~S$l|Dgbv_U5n6O?ZfqlzO@ zaccda&p!|Z%j#Ys4ef-URG8%bVhn{I1+`zb^E=aLa`|y+<^-nfW=1&nL1kjQJ|;00 zX1#Y<1ryZ?ivRFPEe!BsOqpHqBSydb0WT*vBg!pAuY4Bu_PN6DAG|Zf0Yb)l zkptoo70q05u;b&@V&LOgDDe_-4$5q^{?=%(JODlrST7pg-wy=!YUy4n;XLskRr*pq z{Rn>&c&zk&)?rm~zwtx-xk}83hxqg-HoEtVr{6mrvmMp$(&E)JABvAXP3SVYTzd~Q zoVPR&U=Q?29TceWzC^M~#?u&?xecRPrOWV~m<04C5;2G^RXbMt?aazg-^ z=dfIbc`W|cZ(glMlP#!}8{4rVPxtqC=}!|s#G}$5&ok>EEoNM%u1_c6@ns z?&%Z`Z`{AdE%(Tq;ciPi>q{R|zv&%wYZLMOojQ{Gae{KVY5S*d^U0WM;)C-&ESv9k z7Q_3+$L~ue*fm*d^o}eU%-wUmIb4smxUvbb~H~zbZck;O@eW8wAxhucT zuH&NR=}Y^OQPiF;H5LY-$G1idI(b)X&90DqAejl>P$Ste(DeDPZZC64XV zKjR4Fz54Tk4-YUUFIY;GlC)@WvK~|Zk-Ipz&2;5pT!>ICuY>P2MBC)`4gIfM%LkX^ zbT;p}bb`dkA5Q@*4->&rXK()i8@KgK;b(%k<+v2I4vYA5VZ@@R5z1Wd#59Kcs$=Hb*j2Ysg7^0?Y1yuEK)>tf-| z2dZ;i)f7HP#Zc&DzM6Oj7Da(fOJXhGrH}+a>@8CV{U1{o6&Jbr=)U;1NYwNqh_Op~ z71Ha;fPH8B$8HPI#iGZ@5w7bhCwP!*-P@a&gb+NjL633SCMJA&UV zQjT}3DNudeAiQ*9W)+T4i0bRG@4#c&l#vA=mUctpjtuDNC<^=f*brNrN2*5ox3BI( z#lCj2Uck5#;;(rA*nN-Xz;b^QpOv2u2x7Nu&z7&bh4qe&T2O4K-r^>pJX9(ZD_&Qv zuGM0Xv2O%1{@S7erle^ab z!z$%Kl|EY6&l9pN31>76sCXaZ?Ugkdwscb48n$AVT82LTO}SYcQk*uf|3sh&Z&Tpv z#=9ChbXHgX#9?Vor|%hVPG;GH*bV`9eCzGjH&A^JL-gr@Qtbn5ZJIxx{bKktQ*Ue% z6Eg$xY5;hfo0Bd~4;2`8Meq(y+gamhP!rG!hId`9o&@M>i2r{~b|hWoI^|hee?30H1&8wG4;^JAMy!85KRl+8U| zx7BSQ_I|mBCx-WcAQ=7I8_|al6?)y>+#VnF zcDJ4=AqUHlS$<%}$7ZcZ8xU8n>Qz3gtgpLmX-J7S75$q%_-YR|DDdBaL|x$iq>FC0 zA7o+fU=a_}V+Xr*a(ugVx+AvQd@x4fSZZ*$L@W|hzq#UToJb2{ImncAdrf* z>s5(cv-rSf1}(@^}>iVZ982^ zf7pw<&|Op(TwpYIMY7WDs*IdQ`P$QDH}fXTGKo)Viv$)m1<@}0xqS%EKhvzKl5uge zEByj#<}#Cctqo*v^ey|HE`!f`x&Ji#QUIbQ@v83q)0+S;0w3>@DM6Mr8le`ob9FS# z5wrodo_ki0zH=AU2j^-p_irW!JJgUL0L=OhYcgO^oNRwk&ms9O*nHHE4az9FQ2?tK7M#=ecFH8 zGSj2}_8|Wym+jB@46&}3H3q3_CR1TDN{)`oo)@MvJApyYuP<7rvx7{Z^`I2JsPayG zm&DzPf--3cH-PwsA;?T{ZI>^`iT<||hn?*;9NcwyYzb}lhu{Mj#Uo~^%Wf4sXl6ZV zry{@C@z{w>sX%Rb=8+JjUu^g7QB3SV;4(n&SONwf-+#yooOT1XycsCw%u-#Zfw>bf zSe^!jE<{ETl6+9&{*)N&i=l;_5*0j<&;6VQVg$*r&ni7_!2>mv!u^6)6%K+(*i6*3 zUHqZmc*H&uM8(CW7AvE79!-2F8SutQ!Whe?#{wWSTUloCL@EO0<;w4Y(C%3CR* zU7airQnc$?&(&IXU9s?Al`K^`-6k%m+RoNlZd^@~x|Q5J^3PrB9nLFtaT3+1rk5@> z9u@15)*b1#SoEgI@JpOGTEeQFtjMNxhq2ZBHn_~_Qe1|l{i7lo#z>6t|5s!TWVj$A zb|t*cKRQJB^)^zwk!AHln3jH^RDUREdPqk>_Wq+;Mj(fszWhRPNUC5QeX;rvQwXxS zb_i~0pg*dv`Ex8y@WX^|PM!)-m@Hs4^jKiooBceq?{ zH1e40)wW!Hz2B1DllWkav;0_oefGBQQ`SM^gBMC$=Zex-Wbb?9v}9)@p+AI{CXa|r zrfqli=?4?A)JVH6C1H1;8~6*t*17_(aE-eU%qU@*Nt7^Bz7xGDDC+|;(qJ0t1ya&; z{XD->634i^!}5FEFsDMGrE^L6A9G zqWEggqz_v|=>t2W<|?OA1b}@>+u-f>RV({_@rW*A3Cq z&I@ZGpr+nPZm14?y!lGEfykC`b%$$a8`DeQ>P$n2_$^!KYuU`b?_7_T%12HQi{?f~ zhFg+@(@z}QRx9$~_vm!z~r)>L^^MAxxp9IJ^4G?)u^SkMIDhqK_A?A0 z{OYCL@7)deKUkE^dac^&V_l-25K{+2wjMpo9om6nUxa8ljSmh4Rk*GY=Z5K0C6+lL z$^IhT1Kx5N)Xa-La;lD7|K7G|9R?oj{)IjrKxSNbTsBAA8aCj>bGK$d_E9E(=D}dZ zkD)2ZXN|`(S@8akt=rY?@JFOhOw79j56Z{M+FEBuFeL#UAl-wjk{GD;l}2)+8@bi9@7#dA2@;?aA=GKV>4o|4{zr{K_gl#<$1JrN{J zJlF6xeZ%NtEo5x2nGR=#xv_!yYaie={xeg6*bV^)oYMN`59`2{NdUAO!Ga1z8lr~> zF{s1*XUb693I>!WE#mu8atR2o%@vj3CN83CA}{9mUr@Oc6y z_m+9udCHG&#UHH{uKkcc`ps06ltlDwU&@Ii zg?DrMi0jQ9;`K#gOS$XeQiab9_(^M5du$h>FQ}EQ)OkPDpQ<<3+?9lV#_)}cLru;{~-DSvxdytxy}Mld&#J})nVhkkD={UkqXYz zbcx1WQOX~%IH&pN_PSNZ$dBr(<+?52w~o4}+bYQIl*XrU@)suZ*99*q*UPo)Bh|nr zaLZc_`4=dk$Ao)(&vI-!uv=vReYO4R>GzGIWEy zW}&S$Gvtxid$Bb?tA6n$>~%~`ujW#Fd+yQt(rVhb6_}%zC)mI-V)oNWeGZ2jpmM|` zfT0He;6Y*2#Y!MlTi^4wVsyT4W+#}{w{CBSk(Rfv%^9A`bW}S?xDnnKxH}S3acNRn zvV2o~cdx4O9gGa`f{Ge_MzXbBSPUH*tE-DXyPObRd?(BQ!lj%cQx+A$F0u6HkQu8L z7enfLdrP)t%V*-D!Gp}%ZZE99xP=XdOz7BSU=C|y)Mdv>=s=KoFxb?mnJrfs5#!@; zstKX*jb`nZ3p2U1OYz4XdQmdQsN}oaQYGgi;*E9OwN0;Et1FGX-u9ZISEkCGE)9kH zlotLmH!~X4?w(2E!qFAb*^$^>h;2~yD%EpZ>t0WX zzNzcsBoDR5GpZ0qO&TVs4mMm~UZ@{f?&un{|J?#DkY)s5eiXbu)$(zI4fLARg(*iS zz|Nwe*DDk-foVSnjL%zdV33#z<=&%*;B!*4MYO(cCPHwSo7`VE*{TnD( zJR;8bWoF2|7wMAaN9btG4u_&o3{rd)@9<^SFfRTe zlD7&Y{n5*@7gzbw7h^7$*(5af?LZok>C0!Jd_!0#?*SYWIiLQ4co18taBVgPd1mEcV#1=d8kAJJT&w@eerqo~>t0A&#N& zI1RL34L3%jrD4wQBYGfHdlnu`@bs{MvMz4%NpFc`OYbM-xHTMpysy6{ZhgD;iCTC0 z-2Kxt-6hnY#a<72A6%l$PQU`}9Y76K7O>J{F%XMi1nnSbd9 zrYaAhqy_GZoZayLQVGm!f=)5GElNwp<>lqoZ2>cuz9g6#A`R#nqsD9*Z=u_h+qw}^ zMM)0SJPSuV(Bb{2eL9X$skOw#5j`_8-w>|>ScM;~=EA~4Ep3FTDb|;t6@sgpYXVTd zcP|~C5cCZ$iNK!_7FNp4rJ>{R;o+DP^lKwAkqDfiyIkJw%J(Ff5iCY?=p`T-7pLI5 z9Qy-5+8Y+!Ii^~8lq^_tp8r*)y{*Wv$(9WEw3o;1*dth2MfsZXaP62QZD3NcMO-zv zF&{>c-ZrYcc9yo%UlIz(QsrBXyrc;(%ajsvXJtd2475Fg$X>2Q7Rn#!Zu#t?w933NSOO89s?01?{KFw{j+wK6&Lmyc(1WIncAk$N9>~_ z>l;?kzc+YbqLC9@VQ_MfT3SSTEYpl!TkKEn^v} ztY@*agp!ALwe#A=Q(J?jSBfs=yMHjUSJwPRv*YhcvQjS<&N+RjllVquLo1y0tiaQ! zLAn;0mHBJbyt~8NYSG(*CuNx4DcE`0TWV%eicpFF!lPd8S|BYmOzm3qbWgW!7wnAM zuW&f5cZ1!Q^<#)<2DZO1jS^zfTo?TUmVlYgf~hm%S5*$iqVA%UO<1`V^g`2Qe?!>aLVK6Lg zY%ZQfaXUJl$(%NwTC@xkfhL|hZ=pO94ZhjBBBuNot%{65R^>BzCl-}w=_5(|MUCTg z0Up1}RnBq1~s=JhAgD3Cnh@7g9%7GE}fdi1VE8 z2X_053n^uxIaf7wt~~Uv+`Vpf-LBlpY)HrKQ{8D>Vm5T4V=2Wj*{Lj{(ppS}$INuq z?nX&Gel2Aa-p8}x7>tZ|gMi}hQoe#Fy+qqszssh4eZqhM+fIxx%jl6X$Vu(AwclQC zCU9OtJ|d7Af<0`V3!4EiLCdm_AyMV!wwg^a)kP>F0tPP&E_c zF>8GG=%Go>I9R{c=)9nqeQx50uw@2+vF6N(j5B#T_;YCyb)GC|M6DyhI24Jbuo&)< z&xCx1=MY4k8FnPL{rZiC@tgR(5Fcj)9YyM#7$2$Jw&CvgMfj<>^DP8a3omhaCr~)M z2g09ASza9#G@ruQt;%=P8c-NY_YV<|8aGOqysY(pWfs@kjO{Mw__G(Q&&=^h*Dn|f zS0qd!C=;#?tK$+InM3n1-yh|N4=ts~2a)$aX6Fn1-<~R~ zH(LZtfsyi+gO0WMTW>j~brG$`4qf{hJZ`mRa&x(v_c&gf>rE-^{3M3y+}%RlQH&Jn z++uD-5hGlOwj3i(DH~qlX zq`P#^Nc&+4f}tP=)i_W_JOSFyO~a;{@ZFr8?;jp)EgZ|J(Mj~t)}ivp zhQS{CbX8(sDIy%~O@|1Fl-mD}`-;RMO4swut&$eUe78&d8L>33OzhGXYfD0y4>NAv zya5T;PwJPj_5)(tENF?J!V+WKG359dYpO+R4oF^Ww9hrPBOww1j1GZyUTh5$Anz z`n&a&($Yfg;sjoSmpfNdudBeqmmAkwy3yU%I%6NMB|NFx?g@80I*wrFx@eXpO4p0M zv|i3Q5U2k=hif;AlY;mD9Uc_J?e1G46I5w9r`lL%c7H~ind9E@uyj$5^gZtq?BCJo zdwj4?|s!bud2!b70aMa}0vLbu7ft7_Wu$(VeE&T&&_!sLv>_J-kEcJ_3 z?x*Wu@bYaY_0&|JQ950Se1sh^HW223izvc?JLX;WlOv^b7)0If?I27^N<<7%WNlV8Eo>0-p14Utt^oS+AS# zj3}xeYf|S-E6A-L+MakG?Tu0(ynCQQlm$I$X*eTC!*m!EQOvMPsp7h8l)aAfq^E$2SnAdHD*(HG+mjg#crcQsS-Op-hF- zq5nC{+xbp=a=Pqyo>hUN46&8&MYL(=QS|d!q0{ClQ4->fm9$fS;#^Ckwjb?F$Cj0* z7D0ie*|Dtef339>K5Mq@)v@du&!ZKMct4b?Wwg6x&OpI(s%#}NMIrSwcGta#b1wOi zi|{mg!t{eCt@uiZbf};WVR(gEOrs8#lknHFz~HP~Q)dAk^C+|Z`3Y{8P`SPN`a`QH zGns`Ix7y~G?A^mu8M|Z4kL7tTS~hq2E~iT}Tcov!g99Oi^b15Iuf#ZA4wHSbyYsHN z7~Hs@l^_s4l;~2tkE%vll0Da1>K=ZUjX583YtY)l66%9}UaKv1;O27Z^LjqEwsdP= z@Vr!402FN53#aDcBo>&GgKSXGuIm~0vvxh3Ro0Wu$F;{SrdrBGE5D7is=Zb1-8e-f zZf+z58SNi**}7Id7fdsv%gf6ru=i94kWx>p6~_jD2844iyZsTL;&oOP>{(Cj+@Ai~?xULOjUO7=&IlHOB`ot)PCUN-Ua45Ahh7ey_9iw2D15Vaa}SV zu^d4(Slr$M)~1815DL#7$o%dn+ed$7@Ynq6m|uKkF!o3F`X(Qj-!lH{Cdxa$5i>HP zQoSTQ8@88m>XPKpruJau$l7-4Uafm6x@w|lP%Mr@J zG!x?r>JlM5h=HYgpIlv@N8lIJba2A^ik!%RNuR-3Up7ktDou(a_=8R-L+%RWmit3T5c=7dp$^ibQjb=L{`v zON*i%9yvo1goD)r`X&1k=b5&bS7Z8VUn9svw<6uWnDJ$DHVUPgz77}&Z?~{;b(Ge}-=uZo z?iLkuCB!#cnN6)a5zDUk>9CJWyp)8r{(}{l(u%2VuL6h}3)XG218i%r*0C4pQFOfB zoW`|l&F};tn93TOSaH_zc`%)dBhV<&$y2X_WsmJ-x^T0r#tjyADa@;q%QsV2mNJS&eF1T6bVe)adCd z%J+T)oaF_e3clJaE`Qu)^L=v*z;Cw@_rRM~*qVPB!)=dz;f(iS*#dIRU`N_C^`Xs0 z(}19PqvYKuueh;lIJ|CWG|>C<_s`uRF!}Gj@^XnXOej7AD&zxjFD8I>GB8dKnFjbb zYala*O!ezqFH6%O4$OdhRMu{ff*GjEC_tSE>}d|0z~uqM{%=A)e1oYRoASW3R1bvlBJs%`dEtJ1_KZ`{@(4tBil){MKl2+ywVL=nNK9pkgkd04Sm{ zh_Ql&1E6R-(wjl21~NfK(g5qSp5OUgm`pq1Z^t{>ZGWsGND~wXjXeUbd{JRxhu`*K za#vFv0JkI`);>&x25MER=hXB{T`7;zGOgDv6klnU)Xa>I%B!ilQ9*5bqM8V;>Q0C& z+hlfT1w_UeGl`MS?uuA{Kh4Q`XM-)TE~b*X^s_%ouszGR1V){Az6u)l>I;*W|JeA4 zm`@_~#(3hk!OXDvgVrLrA5i$8cTz(ahP*)>{#?+80lVZ-IL5F0hEVO>L?yJFes?N1 z!_V)2{zu_RS?uHyCRF-_ipW_|*?xx=Ayp>N-)d>d&!WgDh(V82>P^(WYW|g?#h;?d zPolX%N<)6hGWH-dma?^zwzXp`plRrJQc?vd1#N7AIcpxDz3 zH-E=o^9-}**-3%j7oNIa8gfZ5cs;Xz?{_oaMkMJ%-UuEDsK3u&d#`c%gFq#=fU0mk zi0(8oXV_dlnlLym&Tq9a&QH2Qd2F{Wcl=P@Be1-(a5eTADYuv1^vzKHyz$D}iJ3Ii zgvP>aPn?@)eOVuw#b)vVuv z4jN6S0+#n+rR@m_Ep7qE6F9YeVOm@b|LS!^g(*w+lKc_593gquPvpmI{u8$;q8R;M zV@y6GiE;Mk#%+a9^^N)ROB*~+i7Z-I+WI<}{$JRj0STxD?ynrHzUpWmJ;)T5}?N zTir&=*;lGY2*=9yi#Q+7VWlxgs-&A~HF5b7F{qjfwGMckF!93>CxQ(*)IR4r$!wjq z3@#^34u872`ZLSmQW>>Bc%F}##ZLn6pV6I`68hNi){loxvAg|{G2={H74u%&eYMGYMuXxw z4GCgp&(mu4riZ!SS0laA7i^mz(%S6dh#?ZK+7c(?M@4q(T4cSe)plZAWgR5lr$*g4 zb^k>0pRW4Wfa3K@2!XHa`PFm{Z}qnD(#Aan{6|Sdl{o(?k>6J2Ta>;V4!om?r3G0k z#qL{dH&iU;sG|?CBFVND*>2%)@@C{NnE$7b*~)JNXwo2t zK~6Nde>fu$RPV>@rj?;&&V0osTCht+0onqfO!;_`Ow_miopBIJ39R~%=svF*|2h)Cmv$#kVB$xsHTIE(&^P!tgw(g&Lo%^}?}gt7d8u6$ zue+2TiIJ#G^j2FOw2(ks0SC7Dbk^gv>*L{!!@ZmqA}Sugkb{ODt=%`!JlW& zgQh<^hz1!CXQE$=wzopv!7x_;3U5`OwXAC-Dz2FDmn0g<#34r;V2-xSC+ozI+BA8!UvrwWQ(RQuwh9xk<7QIY^t|bG^ptbKNOBqjEK*RKUZ3#qEyW0ea63}0j*h@30u1` z!{by#yL7{el)+t?e)3%bm$w(QrYgb$n%JZxbv@5vw)hV84}89&?rN*OvOB^JkaTgO z6$UNnHq1%h6j;sto$Z1ou)yD28pIa zB_mHy4>lrLA@q1k zp9=-$N~9#w&B<2w#WGL=o=<^YKHrD(r(oelNQeg4n_-SW{l^RuhRD){ueFjzRH7R; zS;|R>ZZ6q(x>Y-#$Ir*lgGq4ZaBkEne2>um3O05J?G^&J_QBc zdaOfZ{e(G$l7R}WoS#|q=gdm_;I$2=*3t~Ok@qCs$hZW!kvw~)7 z>wkny`3dS1?ey?e34-7olc+(=RkBBC4$D%EWk#Mz*rgGRJr7+4E)OQF%x zfZoR*2^pRJw8rTrPz{iq-%SeD&1{T4Y6L1=hquop%^KK#!&;g1Gh4<}q3p3u(F|WU zww)i1W9QMg`P?}NX}R@Y)pcLJGej>1A!`~V`zV*Mn%K)IqAW}88m>^Q5mUpzd|$s# z{$P;sYqBU;vfY<$P%m+e-z_M59lB***VFIMD_xRX&>qrr9ByI!+}b{jO*Uk*GVV|= zOB!^g=Zk3RTAZ0(944}TA1`IRuudGatzX%LQRG-?%@rS->vTHooi)+t)Mqhn+7zq7 zNhE-i46;~MnMy8-TlFG8@e#o|1@6YQhtd{l>Qoj}$EDlOj;sdza#E%9|I-Ns#aZw2 z#woAt%|T(*Yojg?qTz$XwzCx9t#|PZ?|CcV;=fP(lO0yg$khSusvaGb=1CEH2)#sv zfra7w-G42)li;yt!GyhHFaojIM4j!HFYqp3I4OqyMSUvCu9LkqapKo|6loB0 zHyD5{fxd(t|H-uq1duYL=ljqr{CEl`g$#0O0%OaT36&@Z0H!B80aRr^ATvw@pdlb@ zfP^&2x(=x14nSCgT*tP@%kpe?qaHLo)*q`dyo;Xur9giMf!kYb%k}AaY{o+d+Mp2g z1^sSqFm?gflrO)>V2uE1D{@*QvxXzcH>n9s&@2{zIDml*=p4Rk^YQ{)LY?j)WR-!O z6O^p!pjD!o$fnl{x{+X=nV1$54b@82{qMmI9sq@FgZ-MQI=g%FuSDqg?{aKe)W^a2 z(@^6^D}<}Dv?5!6==f-@?^9cahgY$-Zc|8ChSy;llMgT7TKVfo`wceU$4I~(Z<`)V z!W+|ssSP$nmoJ20yZM4C-!2K`hb_}>EfQV%XAQ1PGlG)MV5mbHgf~+^}O5yMdAY z_Dav|La?TyTxm{SfA0k7SV8M75au*g7Ur_bUtdj&Tkg>|4b^%bE*u((zjY32iD#-6 zpj`&TyV_Z;mt4KBwcW1CcDv86xpD^y9ZL($Q127Uw3X_5AEPNLYKKlASWX)y{vTU! z;Shz^Z+{OA4N}rwA`*fi-65a?0@584N=gm_(hY+sAf3{UbPkPlh=kJJDIodVbK<$r zd++N%a1Jwjc6`@otyNslPX>;zo{wQJta0Bg{pV+wDLFq3uO9@Bqsb$1%kTfjDA*2b zZua6f-WeioTNaY)v&hmH_j+vvn zu{EF{$78Ix77qKu*QH^_IIXK_gBgojD0+=Z|!Bbj?#K~YP}ij{6yk* z-%6u%P(ZIOykmE?v4xQKFf{{F9PytrObo}ZWa-SK@UCo&1#7rK9UuC zr6vZ{M<7N2r9OJqZyE6>c0LtT@rL0C-er#UP#L}}J>voIbry9FC-K@wvwEGMMM|b& z`ki;E=s;<~d~BMqDhr#oEfii}fRIO3!x2}L;;5x8DJg;dFb)`c#VbY%5u#qWpo#eV z++rKJgY)q*UfG^UtZBhsJ@LnW(CGzanj!lB4tm^GaDPNj7y#^1+IsV@4~*%R3zcMW zlR(ws$^Z06E5ZsbkhNgB%H}9;Tq%IX20yeRaQ^kPcl)C9B48i|KLw=4DWaQv8S3KI zLrOznLW!%1hpiU+hCjM7lBq z(T>7Af_HC&)=(QB&umJ*6O^$N47Fsas`H~sHpA3`S7{=&A`LpZB1DPsgUuJ7k{C;n zt3-WTLO{%NqNOGSh)OJv+(d|J0-<+m#XkrBj1@0qy#@%BHADGxbs1d&;y2%Q?*=zs zH}qm9=_e&I-%&34tz6vJUWabqNP?Opq*!7F~=$|JiYb0>2js1Z&5Dq6iUm24R zm=oiz-&2}nbJzOHVTrTW|245m?Ico8M@rz> za3&?}Nqd^DfRB6WR2;WkCcnN|Z&e~4`iPE_$%65Y#P^^c>Fn*p-|Eqna33Mqc3=< z^YP)7k7EWQM-@mc71;GQd>u&^kYn-8Fniw;PG~S9WSX$6#YFBd>SE+Nm<-q)_(|&V zGh%$h%V#fVz+RLK#-|WVyRYrVNbZcLgA&M~>&A-Pu$dEDk_A2=j6`#nVQRI05YP=Y2>R53Q} zJ2WCWs`;x8r9C&)k{idIQiTFt^!-Fye-2xg+HkM z>F-B8xnp7}p=kOE(jENqi;?&2F?@M_V=8=`IYRHbk%TCu>O$gDsM!_DSP3=DA)YNDxrJ2+GAAS&si|lgVQUF&u zWYavGLep8Tw&a8g)FXr}`bhdTVHiy;ACx&q@O8MLZkAHhCq#0iilS+T^fm$`y5iX0 z2LtUN&^tP;@6Xtf4ukw9SbpN=Yeug) zb7@`AYh2V!z?q@GEaTZ(Z-j?Vwy3ibD?5c2Y4%Ed0&WExn{L2LiVvM&VqI6~ zr__QxxhI2*iAUJQGE;W*lBp*H5%P_)eNU-u=sXdH;ny9Mv2??GWJ1JD0l2}K8`+@~ zM7=tYC8A!(jo4-P#V<+1#9H@z97Dq(ny?yG{+p_|y6O z40GQ2w&IRgk~1`mRJqIP|1^imi7X9{$~h}!)r*f#(K%SZ_+Fd0^>ch}sIX$FTc=wr zE3q5SNvBLJtj{x%YmE`zZC&#qzCutXPT_0)Y@tV$-1y+>D3xGz4NN3Sspn;CfeY)W zK`ZAVFX@)}h!_=Bi1e=%mazrn>#^H8mo~R@`I&C$&x0Dgugw` zGKU)_1*2s{QcC~ukYlvpIy2Y0iV_@~!+t3H^6}E}5>QBf#_U`3?3ieLBfl}3yMDk>K*+G;fApb(gh;b{GFq~c zH9Uf5rUsyl8B_4)0xT7^COl&`KVK?@h1t>3s?%?jGWHGu*gckqLKl50H<%xxP~rBq ztFh)f-~v=v&61{>fi@QWO;FY`n+N6c%TL8bmcG@<6>^!P)hP~uNq8#P+e^h)OlxPe z1JR97mMFzk%Po#=9S}(oECbC3gV*Z2gOqw6mm2!^FJ2v3KYt~nzDA^M@p03(knd;W zH;ZHW84e-IhWqK?7V)dOOuD%J6c`y?8I0U?i+M2ba(jK{P4`adU-Ex`Z2R&>0*V?| zTu4L(){pyFi-atjtBgh}CQqd=UwvCXq`CX=SQ@0*fC`i$koj^BUa3Q7K`qmOz2bbI zW{&yyPh61wKd@dP$fM1HFb$jJP{nJs3Td1nv#~)c1CWKt)**nT656dAM~=Y2I7;7W zfu}rdEte{!j@PdYug|Nr+v)_ti& ziB3Bvw@3_lAUab(P3Qv(F7?FcWV8wN<+u$*T*)!QioQYkxt_QpAK?L|uhGo7f|TPF zzcPoT2rx1tzoQY#w<&uFEIvr=F5>x-wUCLBW45odxk(Wz(ji^5wvgG-^Mtkw=>SJni8vc|DMuhZ$<@&-Q3{Lw$zbU$5lQ%XtqUt-O)d zCgbV=Dic8#7m{%U0Z|5I315qFlc?h zcMwKHD)hdXV^V4zxSIR&?z(*F9eexn+3ZULC}58UiOR7Jty?Wd@W1RKqmKqLa z&a{EVr+$mdKSQ<>ao=*jdK~wXj@3UD6LFq>FlRh*^+W$r+#`26fCZTD!}WFsNJVy2 zH3y?!I?ry}x?}jAo)%9Ve6D{jTPpflFxs|7)Odq8I%{;?Z%dc``JEaG{uLgal%Tu! z#m*rGXD|2goN1?cnQ)?Gj<{Y&_l#ryGZn_T&(`5Izah-|H=L@rh5`K>83aUuV$Q(h zI-2GyDB*r^@f@as>pm!pL8fPc00U&vq>d|rW8R&*f_P=O2Tp`8rTfgKozT8QM5q)# zmUJEN@ktb#sG=-IDYX9~FQcj|X)Bz*z>moXIg`<@s)#~vIP91Gcf@(jg=L1|;HHk(YR%Lld+9%L{l zR{6)jS@+E&{f$Zj=QGVY-HEG_WUhpCPd;@+ayngS{fW{P2^imxt2VF9e^J4ZkATw#hi{vq#A1=@4eX(it+-(~T-IotmlPA54>Zt6#y8LlO<+{Tz04nL4W zv1c0z(fq^)`C}?af^)JSP(ZPfYe9(~3>9d*+b;u*Ti037YM+_(eE6jm$e_iJ!t-pC z?eC?2*TSCXANB&~8jYvxO5o?+qs2TCcaIX>R2PksdQTfjroAxd7w?fgBhg{EAd&Gw zbUYa0-EC$(%u&>*u;)mXT@>>BPRlYy`NkpCc)w2Kqqr2;9)%DK!*3p$uTK-6DBs@MF@oJMM+k@8`2OZqZ2rt5w?(SBB4tV}DB1WD)uv*EYgGnJ40pOa=C~*F zo!0h>f&$h|?bl4~EA-g1aI!1Ni}l;`U9axcmHNB#)w*wpyrQcy*pbjF7u4o&rrYU; z9+=;w7smV}g>U>SZKA+as=Ye?a@Bf)^m9*GAJ2+3*w(Eul{fWLIMxXLI z>Anve@yDF4y0|=Z^V$7DuHDo`x~iXcy_~{->&M4*yTa2&>UopZ;Xd%&0vA@2&QO*kPM+4PUvz&Cy=IeoC zp0)?V$|J2#bCmO$aQ+CN@rw4HgrE-(ym;|@eX8$qr*zxjP}zS?iMqGaimYh$0}CB^ z{CQ*W74Kz?IoYZe?13zo(jU4}~ZeFEZ5hCA2yAJ_0&B^nVvvmkkp?BEc3 zw&*C{FR!WPR;1a^mNOtjk3fNPjlT~JTr+L8|AgOtYMWt*tAM>`wO^wTO_o_ye%W}y z87zC$Zy$p1nz%mPxayYQ#QX*uue0Nq>VyP-#C2d4=c~1xGE`#*2G@0OCR4iTp5rb6 z9jG=nOga>5pPeT-dIn*H=1k*)GdlKqPSj`pDulaI_L@m%whLjPo3pY8A7fEAjnj=`KZac6Oh;DyM5?lHaI4_2Mb) z+Y$C0{WJpNe+F_ZtsdVI`QKY?9|+H67k<|_`GBkd28U?R>X)0e0m)WDvDIz!+G#JD z{a9n%+(E*7Du?7;gK5xo$X+@VU9p+uwX+$iNL?UR^oO|%5l#hj9tD|IIn_@3_V@BuUar_Fa%0nMLrEw)d$Ii#Ol|F`v1w{U{qaK1$>)#%l{~ou_ z0n8K3dy;re+hIVJ(I_ipbX)2S^OEOGGnIqQkI~V@_OYAi*gty2OsbT=H3zQ9$XaC3 z!RYgQYvQ`0sC&VGus&8^;61Ha8gH?iRi`KyWb`y;eimvSm(Z~+X$}7H5C2Luz}9%t zto^=(bQpGUws3GRR2RV2cc8&ckEKB$yBTJ+@+YR*f{U)^6JcLVY~eHyF<9x3co^xb ziin1*o_je$4GM%1UyI93qqWa4Fyd8W>;Hq90w>v1vUp^dn&m*kC>e=~J9kg^3pVRi zFhGzw5Cbe6$w8zomNq82&W99>^ADB0ULOYeQIl;u+a?y&O-%EY5}iN}VVOa_6Ob!` zElvnHUt3Qc*6^9Gr+4WwI5=TX5X*nE78RnGXmO>g#C^2y{5P)+{EUYL*ukCD!>9A_e(}D*lRfHsBkDzdgc`5;Z?F}{ z-mYsV>pr0*I9HvO<&fDXWmMZrPtvyuj|v@e0&(&1#meE=#;k;wbAzLL!= zMQ9785us{BhLJ!Gaw6fh`V7oL7g8{BQA<)n2(50};tVe$e_azIiU zZ7WOoug?*=@7nxcUbrd2+$pit?c(dZ+A7sLG$AFp`1k&++@@o%k0E)0O{oPl_aTjoz999}Ny!fdRmMz_eKui70UDID$un5s+q(jjsR`x&%{XTY%7MPJstTqxEPOM_H2- zu)|pY)iD9!1SH6JxYPx*{xE{yf--gkfQ|!|hny39i@?DV9BG2qLH;8z>pMCOxtWP#@0tp%c{TAu20Dt9VaBwg(a1dxl#z5c&Lnjj8 zcO*f&GFX)o7K|P%BsiXIj7E@gU4X3bGXOX-t^n!lQ6Z3grva!KNy&$73J1~qG!w`& z+!zJAdf>~{E;G6Y6qf|Z)ImzpfT_)!Er3*to5zom=dUn^ zK%8z0uLX_>7d1v<9F+R>AZS~5c3GY(q}reKcjdHg9=cBeRv#s9(n1C=eeDv?F~l=+ z$DcY*I)jXCBbX2$!UHw=lr@Bg@A5DLHI7UwJA!H!b(DAaSx&`Ro03MIL7jTZNNG zo+YKF_5cw9AF(bF)q!|V7~KPw^EeWAS<(w9J$v`P8RW;=gZK)tC_}sW+5tf30m`w( zkZ?6ftznK9L&ekpV&M_;O91KM)PnZEnmqVYKzd}`KOBwhZ;(K01Vnz|e`p10j4@b| z;GKN_1F)u3=Fv!i6NH*3f^THMhLO1(=K8|O1ou>O>WvwBl(}Ao&cLcuqEhbHuY8G0 zM--uxBpHzB>~ZbJ_k<8ppMMwVDX8AlI9Y(cknxFP!dj$Di@k>;pd2k}f|c&c!B!QU z=~kPus>)7#aatBgDMJ)pXd25IlAX@Z^JeCK7!lntIl+87WM4CA-w44@%Ys-s&pz;& zY?FnNH0~}hv^{)7)q8jqF~dKt_Zx6$PLu2S_5Rjy1=ohtZ;{bZAOz?Je7Yd2g0s*Q$rT|}L;p&EO81fA1Yc1TI3?*lcPan~ zYyj*|<;cK`$GqR{YG;EV4Wx>aUmH0O@&hbFUVsGT4TohOQMd7i#$c`ul_?&VQk6D@ zq!OQ*3uUO??|a32-uOw075L^A6cju?Md30qjQnY+)MzFPRc`&UB^%< z;#QzLqG{F&v-m@-y%#Q?mg%c$i|3V19BvJV89UrJYeq8;@?5vmRbhA66fnN(88_YP1z5|K2RgmgMmta2o6OgoCeavkw*rATP_ZJ z=<}{Y9<*MImvEAabPX^JiG#l8{H(ai3ogAXEM?>Z0tmGu_^*Omd59YFngrB&4{%P2 zfv#|{CV=T-4&1fhHTvy``g5py?9#c3PH~zpYp{{9k*ZC0#N-te6l7**mX_}Mq6b}E zywjngrq`IQqi;W~J;|3zpIdOAvpFmOegPgQwRUse3_iz9& zvLvvinNfwTq!PQFyZ~*)%A~iG=1ZG&!`lxSm}pJ~6`X5h&oE1ggG+en1-su{ZBr)c zOmvy#P`7OfV-$S07D>+z4mNXluNjH^=I*}M0FnlnUWQuXR47T<(|@yN1Pb07?!hD3G6qSGVG>`Qc}8fPntNc44M0V zH5V++6UQXE+Y~k5^~C zK6}Vl7hN9PA2%cm;?2t+)f~ev2vpv#ewkke_l5TXU#m>(9ZqP-n)YD7SG^Yss5ohB z{gE?XC^sQ`U3NH)sJLvh>0cYbw+E+Mq{s~um`UgWJrD8>!MUl7geX4VdyWhN1KZ?T zH?@P4X~}Z-vUKJ2Qin-@F6v$qq_oa14uV7k`y$O%z34 z#0f0){IzO!H)zlb{Np6+FwLv4{{zyjtE;O)q_ZcgYOuxa&2>~%l(Moi7Z=xoOW7ur zjj(yIYy#Daj9nJ?#kHD!2IUvY#rUTN3f0sIzeo$|x1Y3`RLHbmV@9H?*N)tsLZPEO zEFCg7AixycrRrz8`;b$LqdUw(&5xjr+sJ}B9I2>sOi{A65*950ZYkgMd>%Z=-IKW& z={iM4Q#o=gyI@w2l7?#Yoa_p0ZN>oqJ`LBv@0MdFNLR|_a4209)!6ySOvi?y-M(Zl z^SeYzskVngS_$8!=E6tV7Ilg0i<$232_y0AMHAoeTubW=cj9>?;_s=UYsK(MwrB7_ ziC&_Q(O}TBG&&dXn`+LyllD${Hp;s4_OV1$sC-3N_K1Z>Q?ZAOD_H~I+S?I{<Z-CIH->(4b&i2xQgrcC81XAg>4fUCV(N5Ozjz$a z(b0w0P=3&6UBL;Ht`O|z=)W%CVm_Mj6qALvaQTrQq805>egQc|oG$cY8XFP`+gmE@ zxM51baazmjG+3czUi?)esnkX=`r>p52zbKrcF)($Qi1&weBs&~L*)2m;f6snVWpF= zS8HOMb?Vfm)*t2J35|@W-H-2JRbE16-i75-%dQv`r}#8Lszy*ojQyU_>g1z6<>4o{ z#IUZ`_59G(tn`d14?;Cf{=vT3?WqU84vH#Sy&y%9KP`-4CQwY{0_n!9uqM%$5IF|% z0`B*|uEq4Z-v9bUOuas<+39Q1$b{jJfbr;_gp2B&8{LcBf9C>1Sstzqul_OVOn3i> z4N%*fGu>RSA+=D>FGM%2(?pLCyL&(FZ8s&@_4hz^I1i{T`JJZMDVDLF#41t;79;e@Wfh}at`^=C;HRuq$Xs1D+ zH+V<9c>_%6v;DXivEF1;9<%hn5Fiiuu*vhx-U!;u_O9>%vzXZWi`1o^iQntZ;6=3^ zW{o{zEe7`=phV*XlokM1S+Jrq_IZWmX z0kTSAv7gkqNrRl3f=$5;1aM9?qxj~0ZTPhSXb}W% z=iQk9J}J;HesmSvv*LSuqH6wH2;;55#%n^0wh-aSR{@qsFbr9%^?v;p7a?-W@B^|& zljyjYxn(qZb3uIb!-OE1OG{R^1KDV~_v;V1mA8Of2gq*S1J2?zWCV_b&m}buGSL+v zyu--%6u8u9b=R8r;0x`$Wu#z=>PcSi@Oci--=_y>R34emV;sawiwBy;kjU>ShsFL2 zE$R;lGnCqJD_r8Gbtu(FQ!FGN0%n{iP*$dz6Q^TsLDw-4x*_!#u5#z1d@kdjU}phJ$8hXe{Fq2SP@Qoo9e4TsyW6X{YmYb7AC}0wZO+V z*Nl**l)}0|S2n$MLCMaYAVjbg-KE;#j6o@EL?J0Ayx+$xMZ(MT)vWR3A%tt3awKzL z9A6rvOdOSCo)WoCL`5ir4T6xHQtOtEpBB;nd(_bu(Roz=ikH8)=6;mu4^F?e z+XZ020bYNN-Out3Tl6>k(5uuAJ~3U#f+`;23yX;^S9yU4asESIm=ifX|g(N5x@Y6DxB>`^uWwW+$j zx#mj%e0zfmN+hBRjDZfwYN*?z&#lNiD(pR&b%3R`i?l0&?IxfD*(3ng+WV7Hh1*Ib zyTFM+71eu7j4FuOzJYL-H~OVdabMZjsxy#Ek+TO_XSrya`&*UmT&A2 z4|7?AK(a^#NeQFXO+o@teO&q&Gxf;2u$|yITxj?ysWK4}?~Zh@Xuex37@}s6yk33h z6nDBmA8q*fwBwv3e$evxbn@)V{s$l0;!k4LF6OLVbnRUtjm8FWMuey*nsKH^v+x23 zO=I#B$f`OWZjSNUvG=g?JWfs*X#V|r{AW6UOKqcvzTL{#3u`+T-T5?lr-&$V>Y;{J zC10vy9`OU`Z$^#HMr9A`0tg8noSz@$XDx~11ZqMs>*^DH?v!UJks6tyGSXR7qO{SQJdD1p|y=IZ^fcMALOSy&djmswnQnXSrhqkB#~am{OyY%Pg&! z!)%?!kXdW;e0M5T#00x4xeg5;Ybt)h-HfdFiWby z@RwF#Pag~fD#BTP_cj8wTE?u+jLS2MpMD@5+96*KB=S)0o;rwRkAnR$jn+A6@N{*6 zm~8&TX*NlbEWp{Xq&$L!CTMb^g;gq4shQXaEHF4hMeO;^Z?|2eho3tt@Eda#S^Q^7 z+|s~s@Ef2XkiOYl-~#VTKSFL=x5NHN$gYbu03!odzbTeLb!WNO9Xs;&yhrjROHzoL zAX^o^JeySF;EQVL3sp)XO;s>Fk_|U#c!cqb-8|pgAIdLxI%En01l)X4cP&TAYLx^z zp2S148{Vp?kms$*;HGUtDV`8M|3ddFn<$hY!9Sz+S(bhmpA1fq>u=F!M4PJJ5Wd) ze#ZSq9z_%3V`8Fk;x4$o`D!$N<_zp z8fLuQHS|lpCKf%Qo4q>%_djh%jilhKoS2@cu?~})5y_&hfN{p`C|b;XN-YTkH!>?( z1uH|(^_Cwlb~bMu^eY8E{+f?3+*Ygwv7_FwjxS%kl;*B9jLGMo-SBKs5(@Ffe0m=p z0MZ4Ne^2h&;UJ!hq1S=JtC#%Q&{au_g48G~ew;K7$og?%c z0)Z9sT*1^HX^&n&Cr011Hj7S4%LEMAra5lhadD-U$?xZ1_8);wX7h zQPJjxb;`;EJM73pa)ueB#D+=l-d{3|lcdV4dS;2xl7bi8*+1X>ocjf0+6cDaAK%=h zx4yg__u2U~Ey}My$B#O1LqE~l-25lo+wLcI*5%KS%Cz4UA5YUM*F0Iaqow8I8a$7r z5pv7`iHM&y8y$aj^k9Zi(KtFPF1Cf#X~r&QEE(PtVydS+5yF7!m}5X*oWI<;?DRLM zl4>ioyT@*-i>0?2IV_4FCS-3;cD}%|w+e%h#SIhsJ6g)iWF(@9+;hXifJbG7vyx0z z!~GO2X=SHPc*IVhQ*;H&aqYx3XNR+OGC^+yCVr+HMO9VTJ~5{~l+)*(O;W7w90&1k z(A`atL5YmmVyO@%o*z${vO#aj)yd_LiOO*Liq1 zW%Y1?)l&AZw4PXpKRhACK7WY-kJGw6VX#=92R7T>APD(48wBezKT@2q|4NG2wIT2924)IjICzf($h}pG#YOk2=vl>|WE+*Z{U}*P9dichg7;+lX2=zmy0*qXYN&je6yMqML&F?cc>5EK z4F}wEoM)$(q=90BfhR%bG`9a1k zc5g;euTi4xg`D5`-AK(^zbX=_2)EMe?_&nTBcR+t{*Cg3a(`fRRJbeb_AXf9TI3l$ zhbjfmy%VYi6ysl$3Jbo@?+n2CJlE>Zz4;ui^^J_8SWDR)9gN%MjL{j%i4ReFX%u)=vXIg*xKtC!Dl<~inDQL=GutD zJyVavHL$Dw9&MB^(lRXk;-jTCZ>1$48)76$qETvqv`FUtu_$mM2JO2BD>-GA`Bkm zelC}s%Ag-|H7(4|jlwrKb2YVYk8d|S8q%-L_X*}_j#CBQ-g|DJey*{<-J=%uIXX)+ zZqdG6kKUS_p16{>+b-?ixQW-1wQ0%`|1tJsbZjP^01Mw8jH-mv7MKG%aBtwtCjK4x z{6gY158kMG;8Tna(G}~+b9P|M_LHVnIn(ypK0`vS1v-hW|XB3Y5t}VmrN54xzu|R*@iP= z&$uBLZg;E|NYqUa63|bBU0q!VxdypPc4JOqEJ@aTiUMvd1XVdU%mqnnD?{Dq@a}VD zm~PagCh=2w*o!zN1>VmCp$*!djs5i4;!xE6r^1_OLdXce6YW`QIY*7SkL&%AvPN*P zhx}_YK;X)u?Bz4{s0@#+^@C-i$%coF!ZnYO_%05D6L=F>_V-Np17{g(8ii069-cW2 zt=c{;cg}mJJ2;VCV?PV3T7aO=yvhU8RRTs&QC;`Ja^ZWzp}b-L&h>6Y34=i36jRc+ z)XrIJ-OC_!<%2d=q6iimj1knM?R>Tr6w)EcjG7T67VoOl8mA@U;29dOg429P0mFs(fh=SenY2wbgk<8qW_w0Mgj zA{oei9evHYrDbGX2{Ont(4{b=(0ezBNYMRx-vQ_m)2|m4V1WVKz_n{s19^npr^3D6 z2+*Zi+%QQv4~CiiF>>aQXNiYhzBqkTdX&12^SwFXXbp^$p>tXPZXkb%C&Y(8;~KdG zh6eI4L-T(o$!IDSiWWR1wUvQs*>|)X1zow*hquL@E0)0!kN#9`D%q4Tc#zahcM21A zuTFKrE!NQ|^qQStVoSN~=YB=Yo7T2xYIws7MO3 zzHtJDr)4^92W={^37o(1^kAdrnvsW7rl2d+FiMjwVvVBFKO{;=Ay1LbiP;W*(jj9v z-$Hx&XKl^0DdQ%&K8+E7KHis@4r~x=XAK0j>~5~>kqz3mISrE}K0fZ-$?5#pHvv$| zYlXqH`I+ClleI5rFZZ@Z-(P7B#=E~U=G!vr$MpQ^#@{J7YZIX`lLdZ!QBij=@ptCI z`*K3u%Mr%X780sZBjF1b+bkxNS7Ua@#o?6O66m8dc#iMR24Tfi!hKAp?9x5D&wTkr zn+DHgk*-=y)x1Ko?!G(9+N!5xZeMO<%y_t`_!ixUGbG%_SChui)RdzS5$ZAI za7-kxHp%Rk#XHU`^tRUK)xx7YKFRpsC-|$YYN}j;Um?aie9OpCKU}h*_Ui)`KL>Yb z+ZWHx9Bc|7CBZxSKEBhp zgRhZG*u{0v(Y<~OCCM-wy;0QO*n>aZUdvS<-o_Aqso97wFhyHb?-rb`{vax&c#Oh} z!aoK=Vq(hhi$@PH*=&`5cOsPiAO=YaAdeB#GLnahDJDEK=;gFH)=Lc7)snPn)cLr; zG0nE1iO4dgg~j03w8bcXX>JxLi%^^Gz#Y_1DQoHBlUw*n92#krS%vw<{sDMrkv4z; z8ylwak(fDf71a89dO8#@3HE{r_tTqm2hWzv?xD{{^L{;Nb5n=(4wF|$von&nMK`mC zT=YL`c3(%*hIUf_B#wd0*(elOH)jJ8taMKbT+yOg(%&C#D$w6-cMwEk1qEPdAXZQ# zs60RAZ^(A8Fx){gy90+I=yV4u9t;0+d9`XjL6h<}R_isvILi6?S6^mf z6HRmpI=&cbzD7iT2Sn(qostnkixMA$d4PpCwIU-bjnTd=Y~tkdWu#pfs)f=%iYwm& zas;86_>aLqg&8Kh(I4Q>#5qg+oWDo?_in+pUBS$cmD07&y*0Es3VyD`8Aa6YH61G( zChFaKtA{@B!^Vy4lvw9teNS6^0A`BJz}`n4eiYgSYxe#Bdlvn5j^rj~pFF}0%A8x6 zk8OAP{m!A|R4FP?j=Hv>W}3l#bGF9Hq;Rd!F~f&Pj>#caQ`Iw3 znbU$!?jda^8o#QYV6hDK#;b6mryrtB^1@g4MJDr1Og26vm(oH_e1;OU-eT~m*;E3s z*gRCc0{4*1WM5F3>E0w1(?GZO+!ViJz(HV@td^Yo6w3;cNemykv%*fK5>NJ!>W6e~ z+xan3l>DJK9=E+jdJnGhohL?~fO`Qm$BaM)xt~QEXW_G(1{GY1uOoAT>r8TH{%|O* z*M?p&q4CXC_S&Vx-p!t|Tg%mCs-&0mI`>V*S?%qw+u-J+?$*=VeLMJMZBqJcn@^r= zr&rH0;4Gr;E;gL2F+qJimaWT=o57J`&USjZ;9AmoJH<^$^EPH zqWkbDp^L@dNOR^KaV5-jZv-kU*4EaR>guDrJ(ytW_^V}Hz8V`?cRNXVKIi7HDe5bL1jck*z|LH#~@3~&RXm-_bx0s^%bJw91P zprg|i9D1$P<~e@iqfU$YB|v95#h;hmOh8sx2F7QzJ(oRPre5FSsip221lqmrH3QG%!K$(`k!%6lJf%vvXE3o zma&l$L@J|T_`|7ts76vDv$QovzgkTlx|^9K@NcX7W<*c@TWY!3bJU9b2~z4KWQ#{} z11`DDoUPsAq7~%)^AEqybA!@U`i5=+QrV>`mwp_~*=nY+X}Oue-htgL`;UV+6Zizf z`R&$%A1gI2Nz(WU5y#%1llV%0+7p`=VPzN_UGLbb3OCkR?^~vkl`Ku~#>n2I$)tw= zew4gvavbSM#^b$rP{FE`lAD`r{g^7c=P+rhi;D#3Jo(B0XJsNiuhi1HjU#pw&0de< zhibdOy4r2N*fsKD}WpTo5%!EYDyJ(6*DG3a@zV%ba)S*2~ z1+Xl>v_82{)9_a{_tIX&T?O2}Y|jiXOL;c5aLtaS+3#%FzF09U@M72RC20Vbbi*ee z$^SVVtqlJ~q^{M^Ksy#cDCq(1m_xqE{o;J;2FYw;gRUzyqq*GYq;RBAA9uxumZO*Iv zdnh~UZy)!sA5YtA0l%ihfuABv`!(YtyrQ7s+aCR(TSaLpzNozYLAllP9NwjDpC*0$ z`|&Mi4%fHQec~)`?;5yRem&Z<(Hf|E2h*|p zf)HcOfAi(V3VU^J?fp+rQ)Ct_x+3&BljxJ%`v;?IdiY!x{IFEr7`3MP6lcdQxaa#x z@L73-;IB%BlfZd>RV4vt@pcY&4)2yf1y4#8Uyfs99>9KQUkFOrUHycw5u8%JF3Y_) z`aQ-zg8C6#;t=c0%~xY!la*iko|Q{lXQhX_5(*sJU7R zZr6H3KrSVDq}UZLCiz>4;%KV(rGiok$kkME@%x5NQa-3EsynXr5SkOaW;7H3)aC8G1_7hW{|s|H@= z?Ad{kU;y5IwHlT;1uK?~9?YJE)W@w5b>BcxM~}W^i%Li~W}{{622ry73?@3O4=@KI zT`TLwf1;75mDrql=OP!;XE4`&Hou&IFwF(@%KK^xH$Y~dQyCk>utP{&2FU9`=gpJ%H!6Oj+ z2+);yPF-Grr2szo(~$usUYW)`Ms80gE*_qD!Flgh2b~I^#%xC#rM~r?K6CP*o10s% z`h%Uc^4}Awnf|oQh_~O^eBhnkw6tz!zu5Nh-;=y36GYj&$4Jt&5P6+Ei%nH0jP|SF zblw`RE1v8GwazB)tq}8~$%0hQ3&BK)aD9;+cbw>}Q~WwV4Hxb{Hlb}7o(Lb|R_)*R zzDD7_+r|q|pTZ3pNQs&F6oQC|C;hEq%Z%aJy-vo?c8Rd)TzJZHPZq3e=OL*+0Z+Kuz|v|dR!f!5!;%f=Fq zq6KROZ_Ty)FZoM;ZfAMw4eXaaF-skNMW(i?^l&z@ZQ7ML5z&K2Pv-T?5z=PW6RJt( zm0@7OEa}b(oqGK?riOuV;p;aji7&0h+NXV*JM5XzMJrEY{3c>qs52$alnp-@t>b#OvqQ0TuprLe_s_qA|dsm@2Y59D+G1ksXRbdixR z!iT(E{-O>$6yZyq1`24jf(VkG8XYq56!{t7$vhd~2iO_#%otGg{NqxZz(w)8Y|1r% zdtn_@QZg_EFf34r&&I!O6S7n1pd5}m^h^zDo7`3KPo}{>Y_j_)u$Fhd(N;Q2{*ETL zzHXz5IJF*Hg8lwJ`LLeFwpx3Urvf%-YRoDI_ERb_5EX6|PU@`~=c_7MWAh%6Htn@I z0%7W`$|8Wa2T_I}0mrsjj%0h0QX_ao>H}IS4aCbFBJ0pW1Wqadn*kGff2#kGMM(8b zMQ9N%@M`70B$60LCWeBFs92=HJ+2~Zm(^TM&?7GtO)a>GSW`Qo%#V23pu?Wt&OYgnQ5LeI5@|QQnfy+b9*>nW11| zP(-aNwh78XurJ27KTjN9f3UmwyQ^qmxY|l}!&7`Wua6t1=~x1}CuRmFJ>R(uVJ`HX zZa|%i*tBJg8LI9S-4-3=k6D3tZ{)e|-p)*(n%V(@UF4>^b@}VX#!&avjbdeH_E+Jw zs2tpHN+@d6G;k-68!{9E>+{}?%*b?B-%2fAjAAWlO5%qg-US4K6Wh^i_k~Ate&E_r z>>aif$JL)?gYwaCTs65j(Q(BdvRXh zALj$i|t^8q{jwqWfSOe z1tkN>+-b#2z-wiJ!`{E%dA+^GX|)d+2+)U+X-@#%h0_5#n>}{X14-)u6&*lbMj$o@ zNpAv$$q4)pSqEJMZlm>hNYtT<0o(TwEX8hs0lWu#KnF5+5S$X2JBmT0W)w}a4my2a z3FK-0@7)Q0zLsz{j*5DWZ}a_}?Kn<)g21sX)G$6~x_Bx?_MW@D&@0mj3T!lfXH$7! zBmXvWmQ&XTJE+)Pe5M}V;tv&1%yKrzHN^x%24RIKF88sgL^B9dW*wZv6lklZI=AcQVAp;(%9eX4&28 z@Zu$b@e1`)*3IDRy@-&M5#kQ_D|ZYh#(|PICtSgb?U&E)2mg@tO=k zA|Ure@H6KoW>dM{td0#gl`5FyqF8wEj1GV~yz+B1_m{Tr=3by*#of87=AJ2lMaGjJ z&;L@gzySe90>+#RrlaZ12n7s!`uA}5ik>vO&UZqcqQ3M>2zKvtUHmROzGn-Wz8N_5 zgHTm@r-3fIOwSMIwdk63!oqkM4c@OU5nAml7XOc}w+xH&>)yX77@DDn8XD;a>2B#3 z2^kszaa2k|hwcUy2}wzjQV|7*kQN36B}4~Qqy<4lRQ&I`zj5Ec<9Xi5p@$f=uWRqM z);`bAxu(m0KVc%nC(m>)*Iu#%M-bOh67tI~VayIvdBmEw6!DQ}Y2K6HPWHhiwX^2S zxu+*Z{k{TV(%A}v+g6|Ys7A?+X{H12qf>qKap{V*njsOA8H)ctr~cqMwN;}=&wh+i zaQ%#U))iiWpB_2W`!6)?!p1wW%iWZAJ0`hEfbxd~YQ8P!W%)??6+1|w1dxFf-amW1 zps?JwSkgZN>h42QUknJC#*hA-y#MnP!I#M9vAR)v^ zh&%wN?DTzk=hN7&D$?U8eg0VlNU|g;1c4zXy^igC#PSO^cY{z6hzKrSox3AXS7M@p z;_OR%^rp-EI0W1UP?kuD5it6tR-I?OvjgNsz-fSu`(3I9@_zfRi2cuYUGMEMmbG2| zlF_Y5AKb9_1Y>0w@?dz0`^55cV6xP?nI~9y@&iYT*_lq=7gG+8FLw9-nww!Pc$qXC zYa}4ods0+R1BN8uGjR@cFJua*g>30PmovaPfL+^{vGt8eoY7Bxw}i7By_6K=oMk1# zo~O>_zM~R3&v!pkS4}?!K^$_qeOHuJ!`qUifUd-ubcI$q& zK4Q!z!cw&g;zga@5@$UW2rb|}Jp&^e>5p%4-QJW(X@`=XHP$TV1 z%7-c1yKFyL5JdfI1lt=sb7c2?tg7?5YMwBncsy@3@g^(#sds%P!fcWlbC zySzSo&KEzP;R%&xZ7HJNox!5SFGukQw7Mmd^`(5=DrhI>zT|m}M2YRPray_x4OaNk zJQ1A>I9(Ef)tdWP7OTo*zX-6!P+U*ljVB7w>C$$&qC_- zJJmV=C#&Uef-;HR5709_z%+6I+8!W!1~OOR>mxmUBsIsksJ59x%2B+-ci`4M&^{UZ z;{?1zB=R_kt_&X6ZUB`$dH(0iACexPWG?y85)I(~f|ECXUiz~Q^pYfgcqm|-yaEvM z%R}5CapMLEAprRDc=$R=3GLCJ1h!H7Nm6wS-i<{P{P-b)3jBkH(~kfd?3m;=sz~P1 z+XA&ODGn}V-S!{~{DBpA<1o9c#_A=+XUEpxaZ6fU-drrAF+SL{TfrHj?#UK+3MV4* z?zUnGwxQmk;FU};N%?MMwin+6%HU{!pL!1P`s&hyG2({PrUHxcJHkPSw`{O z1u}b0_~9RYFP9!L`Cd(K5PYnk-}=NqzmEae=F8W`8TRlk9k%5`XaZ9`#cm^i2-GM*xYC!(5UZuY~TtHxlAY`j9d%x)sNQXO^f5n zD3&XAoUCs+ z$`%;QZ7M{TKP$8BQ8EN3a#Ph5L-xN?q>OOHClvCi;apH>{cMAoq*@APiFN^UEz#m-dX-qM$Xq31lq^;4FwzRa$_^jf{5*96!JNme?HnKCayh-g} zoW6=~)A^<1zl2N1nVg9hQ()bb{R(Vwdw{z#q)_^kCcpU2HsguCE%}GpRN&Ya((i3+DwKNlaWg?N#f)K4l1cCoqGd3{$bk-ARdBpqDA}Lj2(E8 zhfDxR^$66)?jXacT$Qkh(%fHhk1aTp2c1b@4>$tkIbIDd(izjgK)t@K%vDue6cu{34Cv?q8OT z)GraQ3#u`^Tf)U80cM)k?=t zcnE#YVW1wwTjH)kvSoF$RG^*@3Ct!-D&LR7x#getp54+akl`6+Mfy^^0jh7&OA+~1 z`EG;Sm^t_JW8OfR%U08EdwCK+?~rQVzv4K*KoJunBnJAFjRSu_F@kN9f%9ksPOJPe zR^T1-E3z(vo|bl9823sHD$^VjGvyBb(0Vp}#b#|onp0}7=isZf__bojp8D#QdRX)A z^b#Z5@PCeW%WnXV(2`&A^&uz^fv(ObGCt8rVjwF7&ycpf{tD5diWP$g6`aYwAiy>`b7h<=)uF~ z4*GdexjqkBp9T-hE->xJfI~g^2dEQ1T73W(YC8b%eeVDsCemKm0!9Y_qx*p)`L{9f zngMUo3zMDae@;R-UsvE56e}`zXB*Gn_`vnv>92&9FCgFxz&=F}hChOD=hh=3=s{-% zEA_Nzms+j->w%;NAS;yFqd-SQd0N546?;FvDCl|OJ^#Y9+Z@{sdP}c@jFPd`|!b#Pm*OXv@B z<33HZW%(B(nH;H$S;(2_=nY|#0ln=;%SB&Abp%_omSqcVm6R^G`4?JLPxn!E5ugaQ zggy=GnTn&?~%AG zgA(0NOx64SqU^X(@FHBVzi7h*!xQ%@&z9ZQs$RwImIG7@2Yhm@COEkJ=83?1B*&nK z+?Sc=9WbM4-qBwrmmI#jR{o>68$%tj-$GPnI+6>?eU-BO4``-$-R;}P`TM6(>B~h9 zHy_WtyoGHpUb>C0KPq$(Ht+zUHpY36I6DFl)BUzN!w!*{isICIPGwb0Lz^noF}?I( zN4j_I>3?z&jN-cdYE<{zLqNw|svf>GU1J8kz8^>(jrN~?ZFkbX1Ahlp!6cw7)04Q6?W6&k(z^rr zC)KN~d<|HtBpe13P)?nwOL{tjcwy$^4>qxjJ)sqK9!%})De>Kqk9W~8*HO=^Y5s~}uv|*3htMca_sL^s6T^@=+2@Ol9^nw5g>%9| z4P+Kux456A80QdPoJ@fX=H5d`dG=f_0S^{RpQKU`*z=F%B z$A0^P+-3O^R{WQKkVQ(OFM!yMWAIJvSy>Y*V3H%XJ5{_-nxbQg*}r=;wSNr3q)g&E zu<`VF@Zfe0i_2x>ng9`K!R%Cd^j;U}F&4Y7nOzjvm8@-sP)*|KHG}XY6}`dxl|%0< z;P;U#(R**!Acb0KF&Z7Vmm%h-`gH2Y4Xki&it2<|IAn&I3W(0hKD7z+UG!*i7jU}? zd&=!L!WOCux%CdnV3A#su5x-+ZW`^8calxg`g@n56MC12=#_=M*?bB@2kbK(ZZpUh z>iJ2f+YwH?hm>>p`^{&b3Y+eRQ6xc*;q|vxp-ittfCIalX0;Fclwir5WTKWXEru;# zOJ#6eHyS-3g!Wfxg0|BvqXJ1rBDxNugu==*xtv+ab@lVSf(t=zHO;y2>CDc9`uq-;2&ujI2 zD>+t^L&E|83HH^dW0-27s0b`%khE@K(LU;ekGRwt~+DR4%GAl@O}4Q-Vzu~M6r@?j`j8yH+|cockT(bkBL zrwB3uDvjl&gk3WK8hE35oLo8n=Y?Tnk{I0adka-<$>+*S+LN!g2L2C~^Dkbwa3MH2 zI3S=;L5J07G#cm38cJ~%mZN_^5!E5D;8AF?;#Wa`ML^+epfP^f3u&~7W$7@b(BWm< zUfSktceG9{?dLOpAhnjdpr$Ind@;efcmGXrUtD`_!(`%AR=Aq~-h#c6F^Xn4FQ z1#AjRWLLz1>A6Fk2~&}%^~fcDfP%wc=-?KHX6Q9n*cQKx`>6x_x7eC#f!>L+A?O$x z08*D$N{Z#O)O;{@C|(=v=t!~KZ5EA^A`YIPt2(r-Do%)vrePF@Zn5|mq<5&A#P6Ti zJGUV2=-?p%hZ+ZxxkZV&PduqrzC$SKw%E70&0nV~ z`&Ak~a0ujUE@b3fKvFwN2=E%FgSR*EpJL^N!STV)%QDTyx4wNRXr3E}Sq>~l^DY;O z*A{hVHHGHAm+5!cxkU)Mr_*CVK^It(~4f^sIlBDeGzh-#Gx*dx8tyebX-WQ2^9t7%$XMZ`pDwG+Sg%#eJxk?rHFKR^`A;oSWy-WOc$A zFu{!u3=A|gGxPHD(%09IiTMpR17^lih>;@H^!m*GI`v_wbdD5+x}&@>lB`?-V^^er z&S5Ufy~_Sxtzn1s0pB=t_m=>U~Sb9+l+i%QT*fda~t<+ z5Ecg?&8gs1rdCLZrs?-XFG}?`xe}XbwkMZFR%5w5coIiq6#)&8aGDxmrKL?Qt9PD3 zRh**(ME95L`Xr9*iB(SJDQSfCEWUe?%iHRWpQD`xd^;><{C zG*8Ykqpau|jlx|7>}zbtaM6GF0U$mk*^Wug)&7wUs=*D%iAJxzm$@C?)2%O^$0zl5 zm&4&%vm`;!fw4SI`{TGQ27pJ7PU z`ltl90SDU}BcpS4{tlS|HlvbFd2Qn5^i$%+Db5|T&z8|3&%>gqHh6p2@hHo695@c?@uBxZfnsr6neUUT792J4r}Oml}Ye4fNgGV(1eudc-Xhv z^1~;Cp#+O$q1W$h9A0cMjEV`E^$ssT5wz(@gK^Ki;$|g}f4EW!mFAO7sQQG9(q~GH z%~H|B+#=vSnAzpnJLTvjTOZtx)eKmzMXl7QUh8AX$*?v`W-uPE6pGT9!$>7 zp4*E^d3X>S-VbdIfhd}u!VR|RuoXY_7LbRgm)cFL;qAVv35s~qC7IrU(SU7!ew_=a zFbiNK<$*m^Hc6$wtN4dJ_5?rOs)(GV-4B;|jo zc{t@Y=g^}+iy!&7ZakB5-YiMIOfU) zl@)NM?qsk1LcKOUKo`>Te}fGGY3mXb`*uZ&F>BpbAN%KD?Wc`bbIH$^n}%k;A9*oY z{C>pY0{!BZ$~PB1h9)ddpp6E^>@PfK;A-PMjbw8taSN5AXTT-*x2QGj_~>Qb8Hxg{JG`tO>hq-;maZ~L~-&N83?tc zQ7oPo{}S)PkU`zJ+*bip!{1#FCYNfoIz>A*XT3%E__ExNuLL2|C$vQ~d<66N&K|!9 zoNe4|u7~6VQ6$cb=m+)j)?rq_bJ#?%iH*k#KMq{2M{DEgJ!Uf|D}!}3#FJji<4Tw0 z7`ln=@l_N^;a_wBnW64Es~P@_$Ldlv^b%8yL_h`S8g0ZXBtk&$*+16d*~b5Sh4DX- zK=6q_Cw_PNiJBp7sL7HcIL|dRDQDLzcbd-DMX9uTJb!t2v7eVOsPDsJEun6Wk>^f} z&80_7TuOiDMjG$5_)U^x1YHUrxYoeBetdq!%U7cQhurvFxpX;!j=*f~i7SnR5q{x* zK&d+zj)!quIUVJMzTBz?eTPI?yD&N)$zDdndH*zIj)s)RX3=SN`FjIektCKb_Gw1i zc7x2^X<3@(CVmk;6`qc1W*hTnP5EqT7$u#^I9^E7zsWP1P=%6%=ig>@VsGT*8r1hT zMEk$t`H3H|oylB!B4|+5LZwBkTZCj6uf?tJ->+*YV2z+zboN=yRLdg?39T)Gk|LD; zx-2mai9Ay>?g)&r_h7k~ugW_^(3cFTQ~Q4@p(#0?`cn_m!4yVO&0{c?Y_XMFdZlB_ zS&cGeai?6j_-$@l_;keD1|^HKf55kMG!2w2%rk=+I4lF%S1box4t_0 z>JxhLtTV%_sb!kAN>ddkocuekoyB;gO09lY%ba1qNr3hSMK5k+R#S`{krnW@hogBP z_J71r|4Arl+M&A{z3S5`lMAhj`t?Hd7u`x?)Lf2)`0o0Pz_%M-3fY<6G|E2)#32G! z5C`fy8Cm*h9h>>Zs>KU?*O}WY zvEhY$8Bl|;V}_(#KG^=$>K3f5D|K@o%{E#}G<`P69OkO7Q@d3Mgxj6A4iTx03P z;Y$-UcWk~>8dF;PDjm{{r#a=sE^pbuRgE2&M6-H(^2oX2&Kwg?&vHe#EAUWRDv>x* zi#}TON@g33N6K+$aF?lXUd^SmVM96xaf0MoTq;RI+b`RI-rAU_kXDqJp^$!#?5#ZG z*>p|y&5G$OLg+I}>T2;b#eti%S}rJ6Q&X2PGhh89Obm1y@A3W7`m9CR7fvkX4Vd~oI~tq5T5G6Oo5JS26$n84CsUc@OVFswpL)Cs3xM$k}2>yGJpI&U7Fyh6dess?^}oxOwa zdQF+y^|&@S_&NRZB{4KV;aySAZ+SGriQqjXdWj0B8c=T3%lmtyailPT8##{Gkz}mV zgqWRU^0iiBM8dVCee@9_RU%i~?6T&^UsZyg$!*Q*%eVVGP;p9#5BiqBkdFgjGb$?V zwSLVf6LzeUdI!&dT7>BH09+1-2MSOwQY^#~&@moQ~RMN~VdO zv2e(sFv;FR z6o8SDgMb`sg0$f!FcsB=pkk&jsOsfNg*aUN+$~^^!}HZA;TV0qU|!={8=Nn<#nF~ zjnjrN%f6+B_*B}gnW5@fkoq1I){$2+U(_Jszqq-%OJL>M+)WwDvhZ?vo`2HlI()HK zho*`pjKaE^w&1)3-gcMUfsOqAg_QsgrAm|(B+T?JKBRIL(vA^Q?v(DKCDnGZI=J2LVj)eip{shUMPOrPctt(cV~j*mt00-u@t0S1?30=jNj)Abn8VSo}c7$nlPI%R}s zFZq7C&^QUecyHT$XsAJX4$joi$4#)VGt!d;{C`NqexXl#b^ngHhs}1|0ilB_`^?e6 zNMn?KJfK#p1P<+GzMn+=x-NafE>`dZ8!>Pp9xN#S>CfoChI9uwZL=-DR9hAnpBUCC zLfOIaCKgd1E6HF#<{A6aF9VA?H|2Ynabk}Ji>kEY!3VbIANoD zgeu8Qc(O;bSGnJFA_UUaKkTN0K#rJ~>#acV#3CUlw0`B5WOGP_GbMT^AAz}2*t0V2 z!|qD=?8e8;Pvu`EE{8g%7R~DMK9s1a@=SrHN04C|am{dolRAS!kd)}S5m6@hP@hZ@ zg$=;Pw%o2Di(jUR^+V#3Z`U$15}%V%_>*rJd=Lp{LiWEvzASGI5j^my-AeT5t0EX` z@C;SJDHzZWSDv7e@*2f3aTG%%5BuLsY)e;pDbnt{c>4uik4;>zBuefZ1^LbTD2Pw^ zZiQ?$?S)2Ul6^qBq-Y@uBS?#`wMQyL_F=ri=VPob*nI4h0Ba=izR$ty>UL`iOF9B< zt=!((l^r(PP(I!laB4b;yMw^BkOplB@jeO^h7%%5Vt?24;v=9!S$!3(Gf=1 zfQ&GLls9|M2Rgay4aIXz?tcc6Uu6|Q#t%-%{|%`D0)y%^`GX*r3`}C8w*%dOf;8nc zzqqdeUugvtT0Mr{c9PEsR#JdV1VC3ob*Xx6G2bf*H-!3G>&`F1uK-}r=wkX&1UE1K zk?S|D*`uaD%nWpAUw>KaePXgo@Xyp-I>{g=Z3$izu^c9V^~`okV_~PIU;1?{t2=++ zvCoO^LQAVT<+ww-V=-Te7Unvi9JtltVBf3+fRU{J^7wQk2e1nlsjJ%(9-8BI7vlE( zYbE`e25jFU!kA!i4zn9lkin$Nvf%6mF_(uUG06-+n;8{bXdkonjpMxVN1;X?$mF>9in!^uf*o6q5a8h>Gd`G43bSF6yZKTj(e^*6OaSD3NXO`Rr`+&Sw{U4`>*dd21f=`(OWsaZQz zrO$$!zl{C@?Cs-(2o){c@SG%DSM?>9)>1!E zfN+EqKNOx0gaLz;xXxQ&9O7ufxVBoU*0wZ|e{i-QX1^Z)>zRGabj3K#mE*E^-}-k@ zEtK5(;N2Z$7H^?aH**C3`kz0Ljn6v4ZwR`w%s)|h!HK*jJwN~D{Q$|zI^nu3Yhfq* zc+I(6d~{hU@jt>GA%YCqX_gnN>9P7OnR!_fn80r>c8_VR+aXzGPW6vIFPN(d61Hyv zClk52;xrJ&`BQ8R!phx#mGEp=(}}*)-N*{NN6=gIx>`Uy)C-z~QB+-J4E%D{#*eMI zUx)Yjss@NifJDMlXxH9U@gkYTw53ie%hVCjM zM0Q)TZ72`;v>oT%1_XC=O=afVA6=Q(8+SK`JfWHbBLCgFI#5^KI2o0A@Jj#!ZlSM} zv_GXv7Z=28OY}}P)6S8Y(i1R>4IF9E3XpRSPXu>`oDC%+lNW*B5>P-@L9*aQ#OpVF z-|+G;uDi1%Uj0rr^9VnDI@@{RXj`oXxsk!UHlhhZ;ZvNyJ_J5R^H;f@a|{^V3|*X;N4PA6fl zlAk(yKpkSoXZyv6`rgfj1zd#XD@AygG^_{w;jQ6t2_Vr36Jh!LAFUI+;UCFWxCiA)bK?%5$$`jmD6SDKyhL(g^4EZp6EBme6NB? zRudgoe)KQ4_^hFlaAzmYD=O#szHMNKtW|HDj@=rA2s@?vQkIsUL#EF>$2P1Vw`^L^ zFFe+6Jx5n?m{MX+Yy9uDRhIsB52Hx0j(8dWU%2o81@(~RiB29n!2Hs6w2}^>!K5|3 z`tr_c5|er5MLH?&+b|s!vtRuF*C&}9KWepqUjQp*S8EA?;Bk%h6|_Jgn?QmUgQR2k zu8?&Eo2x7dl>K2)%C&QsLi?zflm~e@?{@=Gu)#eVZ3ZQUC@GC@jpY;26}UyN*8nwH zBBE4)ekfjOT;ck!h=FO|auQe0z9elesSB9g5qzETPN1AeFUc9jLOr`_df}8nJ ztoGQ7Gd1^Uxi+Tg60H*VO)U+HVhq0{gRC`DRDHs!PzSr@4^q#3K-5Ldfvpj5X`U83 zNQAsTJL1?WjsL0XAwpxi_1obNEI#jsb)7H!ZNvG`XBo3GMhUeH{Y-z?T?#21WuNDO z1R4%E``>D6dZyb<`iVD?)dAFl+PBVh>8`an8fle3KpFx7kEFNr4M_6@7bGMKAiyd= zwY@Vn+tl^_B?!|ECh1TgzB#WRdEoEe33y&41Em0$?MuKm2U-%6n$Hgq13`8W$R*rt z8PviLF3Ly!y+;1e7C z^F#X&>7xb0g%u$A*#%x_l34>NF8^HKdGh)2-VR{6MgknS_VHBq$>HPYfR{vTLt=A| z$vl5{FJNgs2Rv^e2QC8+3=r-54FDZUF{|%L5KwSU4OrpHXU|_l zASKQ=8+-%H=mG>9KoYzQxXb5({)ZGxNxBFJ(a280JwJSf3}*W2wW9&5xdc#N*(X6E z_m)4CLFE&u)TK3ihB!1PRxhvFfuV}Y`OaiP)*4O5&v7!-U5M$ew}vz4)BI%R%j{}y z8gp`TZb*fqSnBrp;gLa?E)B8Q?d-vtJzJd~ZDPj?u>omL+3aUN3l($;2AK4-A(NqR z&))3(q=hN4Evj|j{RSh|LO_njo#k!c-CLqFrWRAKC7F=bkTI&PKOb^z>G||D2vpLG zVK*DFH=V~E(@b}5R^jVX#DW-cGu$(F8d;bK!PvHkKCC9c(?6MQMf&$4ptkf3n>pts zepEZ~y+mqHX4H4Na-Qg@M0?W0cMCBYGZ{_^8l>3Rf9QMv3Fm#cQFbNmx0q%_)YvVV zKdRE|;c<`l-cXO>?51#IHWpXKN0rjGay!I|0o~?N}N3tsd zSoVW+?W-V{;CRI9`d6Ss>;DP_yC*-N|M>~Du?h0jSioUjPY3TZSkH;O+Pp>w-+;2~ z0SMUzN^j$3U7EIwb1hIrCqGwS5Rmb-i1)U*q_pxpD%hWvjL+rqRvkg764U955 zNy?)S+b^$PR+@}jZPQqMXA%xFxk=b2?x4j-bYVgHYuUo~*Vx?D+VNQXy^N0#gh~|^ z!aE+`*6Lo8D9C@cFGWuhf-{UgfLKKTINWToO(qRK|+J z3tENQ`7z?&L_Kc(|4&+;py`r2C~tt$q!0Xyx__(|1M$mK@P$N3ce&IZ3Sz@a?;k19 zoa9Ycas7VyGz#!kpRC_2CJ7Em2r?4g4s4)25yV(hC_;Y{UEOsc$J0xSk_vp&{F}7o zU@N{47858*NfK$~Iw-Lv)eKL7+>~~L1mp&~L6EuE+P{mM|Q`15hZLpHVaj0XOkM& z=EuGy$WvK;Q%9hD9v~2NV!L#wL+MG&EQYS4aq-CucuTbNd8DQCl{Vh8P@nT4w|KV0 zT9D6CS(X&~Lc{=~(3t8Onfq}g5sCX?^KsuXtwYu3YcEgM zKj{_Xv)y2q!z{Lo5j#I*_3s0iQkM2fgof9;SdKc838mx><&y2IMcOxdA{%VD-}=FBpomFDgPwBjwXMgi0Cb2s zc(aqq&=T_BfS&>&C&=Vh58HYB1i0JxK7`WtxaUts5r0jbp|007q)_Z1v= zaz3L4z;tPQR={Xc{Zm1{rP?|um{!4y7y?$Y8F+gDqU0QSAA$d44|q^(%i>5W+^yFQ z***asTo`yH>dph?dc<`g)cgWcdcCi&RU`x9=M(VqzXSdbQse=kHe-zYNS+apL!fkm z!qC>1MT$rM0Irbq4IrHZ0{ykNF)CxqlCR~_3Xh#6eYdye_dZkIa8OrMa|T%L?bC{i zbytSs(jE3ca%z?zF9B?4pk%==rBq>gDtLbbgM*FUsF>E;iZw*3NN)1zC+%`OTx>5AktWH5oiNu3eU~V(m7cd_GnuwY-yITk23vmLK;7e z=0h>Q&MfvGe$O*1XG(2+Bz}X0ggP&p|NrCl zo2Vx#jz=wY1Bk3AK*>T1a=8JT6m4Mrq5!W|*JkriP}XPx7Yz_4zW+wiw4k_J{DcMt zG^0H~R{^gUY=)q|2?Xx3TjwL!!H3@r-d_;6ND5*hnQ#FPn-t*#5ZJyzX$$NNioY&B z`Giu@2KAA@At{pJ4Oo=S*MNw0rwp8!pYNOw1lEQ`@PclE)`%p@o$3M^=RoCHg#|6t z*9A?auR*UE{p&9~dkfw6;)&W1?7trbJ`w-eTK;CU6`QcZvo-7fR7C%KghmbRLn{jH z791zEwJTP40|chwoU(OeDz4O_pX;SBRwIa<6yuCZyqg)j>rdw%+l~YfU?1Tq96k4U z-JyfpOOStFFK~-ADGMUBK>_){c}6xHJUXFmKENzW+Q+~t5&^P5NMY3^l@$0$?^)fI zz77pO0(xW;(0SJ3Y%fQdi9Db;kUq1MUq49IgCU#SK_*beky1u?x;9DSl0cM&@9`eV z;|lIv1{+wZoEP~Wl$5g~ScV6H`RNb)4Dtk+NDn?(37uDPptO@_GKW_WgJb5azs}tQj<}+p8ZRlCP+tofF&U zx3aUd8+fP0=0ybOnTxbC*KCmNmXbH$&zuwT!#D30ob21b9`Ji^aPM8sN%A7&=rATN39c-cYDk}+2Zw%7zMx9(=apw zXo~FlrA=kH_4h~fE@vS1E>4;AE>^pdnk5qZead~pnV()_e< zrq#m!ns)zBj1>?pU;wxq=)H@1rxZk%qc8ie2P z)x2s~Z!es`3?j3=Uza9jEXGFBCk9u5Y!dTWn<^(n(_!pl?f@-Mp7O9{A+?_77;nrlD=b?kHB1I)Uc`d2NQ^);7+`AgJg&cFl^6_~A|OPK4=lL6 zn0r=jk&L`PnV-iPCq!+AsLFWoXM^Xec;229c{|a2j7XN+8L45+eC_ePa&`1a*io6# ziel6IoBs$9OhYfFcS}i*{d&>`0{i0ECXjmAs zZc#XNfN;}cyo;@@g7aR62IYW4^e!z8T6DjnVM4Tu<_OQ>;CvgU<*yYGtRb&o@u zzh0gH?Y*AOcJ~x{gL#fE=2VEFXPdnXTXgqy+?4!@6+f_MG&&|Hg)iy#C81e5TZ(vnwI;*%M_GPphZ-crm6 zcS*gCo;gQj(C7?usM!X@aIMDh^>V8vM^i0 zlmxGLVc+BlsO}Yj&fYI}x@Z}7pq3=&LOpKj9{27%O{xYuWCy<2h)ku@*GM9lzeg=z zy!M4E@r$zIyTsn8Jfm|%9^HBWU5?4_nc$x8=VV`0bWdB%cZD`OEYhmH8B)jqxe@5| zTrBLv!rtwSR~D&JqLa%U4lMrl50yu17*W-nKC$spRrCpq-tjrRNWkY|km{wvlOsu7(&*7F;BrHqMS{$LKwxWGkGm$o@f9vJsI zwmypN^Nz}z%?wfbs$1xThYt&3yf4%nKNJ>BH4rKZnWpZ%1iF)9eB&YEk|L*ta6ZeC zY;}-Q@nh=`aCU`oKI&~OUlY^b8a)#S-{8|LfCyiw8ABIIU96f zk;cDFjT<{rYANA}ASwNYJ``_@^XrX1C%#Y`*e4@mT=C)*uWgh!~iA~LY*LYFUN%90yZZ}*UpAgRI=7j|KuM5z+zMXa8@B)Hd?*Hj`dN`^`i>-5cScef%W`4nCH&%QGLuJ@V6Se)j1w>tjuV9$PQy zf7y#b_Y)+J>h|{3wBn#RywSG#3`u+wym7Zt~E@iDTc!&`UmwWoQ%VIP4#+rbWD5nB z=CasL)Cuy=KSo#RjP%@n49%e}SbJ*Yu`4y&twrX{G!B*e4l0)Q1wD(Y25SA76amK} zyV`PNa<*^$O|be!C$drg!4;mXIL(jjf1MvGv{zWv$*0!6)Lfk;+1`|FW;dWlQ7v~; z`;%qK<_ZBthp*Wq#TYlBZW14Fpaynz?(8ob>DZG6$=I58mIRPU>A2 zi@u+FyQJ4_?%z&`R%dCSmj1682*+DoXrT+hD7P=#@3K_oBwQ$y5D?j6`%Y)zDF`HZ zg&hTVI2v}JQ`M0nzIMT_i_t$UrB9Sn9d( zq2mf?m%eBz>5k-FCnt#g^wFhyDEjEGQz48htw{YX7H{+OWxk&^sMuwTMM zLW4szHO}7Wj1wK=zPTt3BP2b->9(=v5*u3!HMr8D7t$KW!Hn6{y5y*mq5ian`jArH zbF6c!9Ny*7pc-vicqmAkW(ul6)IFDs5%WC6Tu$z@gg& zUD>w2Sxfr}XiQr@?-j-it+>TjUnR<$zR-oigdP~0qxQf&sXX-u>owNr3`dT+Y4JZ# z_|<~K@w607O6Y$sQjP*ae0Of@UkZ|mo_}t+L2xnot$?mgm+H+bAjT5@mm ziF%l@@0;LdM`j{Dv(m2-?>r_hq+KqtPm}QwHXa&2Q5cR(ekflzpK5#?Pf@iwLh~Jm zVsSVY^|mg?aNx5X@wpO;0W284oG!1+9{E4)JQTPprgFK9@(Ij*qr*ZTvLXy`APKLe zucLMj&-nuVr=8sIw(vEA5Ce5-h(olRnmf7YmRCkDjq9aV@ z*KR{wHf&ep6I>|}C^gZLs@k5mh&Owge(u}s+>lo=Dx{iTFH#j9s!z^MUeV1&$KR|l zmN3tfg=#50@hzz7JR{T=VzS%Y;V+4>5oJsA%+RD?uQC4UW zd3}y$EbfKPg={m5&Sx!k_@Ns3IN!Rd2QwHuNcw#{HGqq&2;U>Uy16!>9i0Qw&GH7l{YuvJw;;=YJe$|x3l{VLo`zwn)l_*UY`HSn|C0;ii&0Mv^nFnV!kjCO`(dn?BWCKnP&)i6x%o=pGSqQ4`9#Oo z$$#05eg<|!czNz^P{J~q!|^MQ_|K#82}2KYUoRd<=pAAbYx`DEs(0b=QDk0?=dohI6`t8#K;DfCQ7)%dr@+iS zINvg*xy(*G)DQkgI#yH?i5B1tfRHy~+eA%VWT?5v{0)_mwlwncG*W5X&&Yfs=4*Xf zkWoMsP-8w5z?iSVo;WY`&Jqx#j+<8{C_l3Pmd{~SxoZ)lUKn$nl0f(Gl}gqZaAgJ* z;MwiUL+n16EX*?L{q|iR1ug%Uh)}1|`0zzS@-X4gAAz**ojNR<9Eku+B|NX`PX1TL zQs()uINhUuhr1$RP~s#@NMF=grD0k3v;>5=hfMMVDUv6qE=ogYNL39P41^Gt@F@Bq z!xooUF~YsEj3P{PT^}HZtyNR+4j%RNoapG3CVuaFcx#VC{DqdzR02VdS4E;D-43@Y z#;xK`kp!o&NH|d{qRc(Cd=`hCrt?dQ6SsS)F3+*FC2E=!n?UBX=r_q?F9D9Omqu1> z?DM6aYReD@#okOWJ|8bW+i*$TNs5p0BmMYNJJpRXTTsO>6UUNX$}xwD=b|{y;liku zlT2>f{y1YN$5m$IKyY4%-$r-xhrluY6e| zDh=Kx=||YP%Z0Fl)EQ8`Kw5ccOXjJEjE zcC-7Qy9OFUjH1F|eAzxeSlR~(eQz%9E8{g9n2sYa`|gF3)A98z;X;X&{>JLVrIq9<=|Y`z<%@EYlC*DmoO`Owmlp$O*5k z07sk_-0piP)yE#hjieTZTzKWxhm1-abFGh^maF~>SOeKwKVcxg!YcDYPtUtGznfas z40<%&O)Y!`lS01v9s%FMu=cW9y!f6!~!Sy z#$)kJ@wr9SkxkKD*1%!LD>+y%@m1)ZwE5d$4ZW)Pf9lM&9m>k8Ljvp}+I;Wq%wE_b5R}hu2q-mP}2Y4OuUla1BGT+e^Hk zC1T&hVBUA0GLv>|Z4IAGW?X3b^OW6#9q4%6pL=oo(l-(5@q$u?c0IGuTgbt-*-d>a z&+EdUZAz05yvqkF*b-5gPcraGDue~ri{%8}Sw~iXjXloN&7bUm3UPnMjlY{4mEeC} zy*6*E&0O6hJVDd6M(?NKv<2VBRDO)yHI4T4=(k-`V4BM5HHpls{&Z6_IdN?EyYkg*=d{%9-DF76iOmjEE%E~vs@y< zDROCO)jcu$4kU`x){Jq0bxITk*+6t{Q;1U(h|%bjF6;Ysr7|#y%2Z2|rQ~;aFvR!P z9XiWeqC)DhI^uhe{0mi=I?%F`AzoKjKOe;2n-$_TyA7SQ;Zo$%fyy%AE&87z@90*I z4&vt-OC^`*AU_4RY{Y9|q8{_+gNMWNGzUT*1Uj(v%vl`esb!SQm{CV73M%5DVU8rq z*H@gI3iJHHuQ#+xB$;}K7b)FBpzFs^FVnS);4bmd+LHTuC?#H48jl`P30gI74ATwS zxx}5E~zyQ?f>-Jsy1VE4T5l6cMg;E-TGRHPrK5-Fk+CILs|4F`(73 zLcKp6#0zaz;h*iBZ7~P%^uM=@u??Pk*;Uf7p~jNt}6N0Mrs|gM|iOsYUwuQg=G2|J^*a(P^FY_Df(=T7@&#Z)9 zj30IA)56D@jQsd4dT+&APCP4f&HTrB59B8z;3I@G?5`o=FiS22Mws_966*Y=~%>3Rap)Nt zleT<(zyb>h3>1srde`mpiC&zqKuVO^T8wzY+d8bnX;yekevMYth>$0ErU)oJd0KnvV6_W>U@#@UV2*xZ35T(>j|+Lh7$d! z%0n25XJYA%nb1yoBh?L2;@<3g_}D&Oj%gHxhTc65J(HxN##Ul$i|fCjP1-n4P4`P? zcS!Yqy6fL3#}TYzu>VyvK`_<4$9_qlnSOouBY)}8RrFvc3!CfZGuA$}WIme2_VPNe zLgTEQ^6`p3WB63nuyYpKpsKjJC@U8w1&+ZK6Vsm`c60dwH$Ut2l{mDNPSFzd&=Bn4 zI&)9^e(7xJ8gC&?D8ekNSxlBgtjC4oFSM~`@IJ^*d!%o@BzUMPks@|P+s2pMkNh7Q zCcvp&pGVzDwRz$E>ij8{dnWaN9?$4(fol_Moj1SaFWpdx&;za-P^Io&`t`53KX#++ z_q+SO_uJkoACUPtvo=f+Wu%VVl-R4+@W6dWhS8rSW3Fjo=@2`{OXq~^vv&SuA` zEA6UK)QNR>rcxsesh2jq?oQsn-uCCC+=q6of%6S|X$U|*u8q$-t(o)g>`ZIMNFE|Z}$6BX1yZ5gCc zSBt)wcn7h1k)=$Q1?AI@T6UcilY$_bh|k`l6=cU)o?&tAzU0L&NiRLHL1+;vb4ovh zMCo#Mb`*}gO1El;BgGD~G)|Pq`kH;s>UuXGiH^(`ndhek0Zz` z8SvZOEtlk}kzw|Dp5_Es?;2D{>fOU?LMf7jx!J3naE$kNV?}DvMu`(9UeKrnm-eci zCb43Q9?%v~WO_^1z`LkPr~0yStnB;+~o3dDnXWaE&udm&>{KZ|7%! z_maQPsgH^lrXdD1QO$j}gGb;SK(~?6l4t^(Cv>#4Xh87tO@h=>x9M3Onyb0sLWc7e z$z83>YY_rFg-|HSz6X1HZ&JyY?2T=`Lju>wvCAX=VmGnWA|W>_Vfqsob7F65817}W z`nS&Q=OcTUMiKd-vIGweu0-fg56|{a0!h7_JO;1|@3Z1?4K6Spdr`B$s2-FGz6l^d z^ABK0_J4TAlt0;{54R_eSC2t0utcATOVyEiO!rwtMXTi>_hW44>%q-bKosP#$(B!@a`Wdw%F5Y`WU{7*_edjq03g+gHyHbZ*Rt;4{({ zG=yMxqfU5k3>j$4-1B1iJ^yo2w9WTO>G6_aRbYr$1iv|#0fZ|e>|IwuY^ZA&ZTN0h zjdx6xLHpp6+4+% zsD2~14N|k#g4=%VM|hTxamq<5M|Wi-)`J%!{}KLs_p5ZL!8~Zu^`hBx(_jYHj_Zv1 zIAgS~?w8^{BvwB_hl??6DE8Dn2VPEpdr7-}^l>A46-b)ovmB{3ar$k1U%s{5ZE3G4 zsd?-?F5R*jILjvTSMV@iV6o)+gUqfFtN!$Rsv7$5*kfYSd99w)k?9aC@UCVl;uj{r zqod927exk~nw*x6UPd@KPAbWb?UrrUx0^UsA<8w~Holdq&9?VSuTtt+Sb0{#EZ6rA zKUKr?)?-EyRK>9+{vm!-cfzH2a#7$66C{N-JQi1?C;Eulbi0d3)|9JRXgS`@W@x#F z6o=B%pO_B2x2|qsc=t>j=NkKYmdS8N(c7FDTE4q!WBARpK;*~my@ooAqpgfW_!A^+ zusqa0Dy+A{l9714hp78>Aw?O)j0kK^N~YmIItB{f+io7|4J@t}jqXg|STyRd@}Stt zs}CQt)U#lj<&;oV)WT8~!ZMtLiT&e&=Q62f)P1qzh-Fl|ApzM8 zm;*jEBLGD{lvkf~C+9guqKXlLEK5pj0H4#CEXuafKKk0ii3bh>rH?BX<)RIfN5o~0 zPVQcz!fg+grijRP#1n|hZ$cxDIODBQVS@X1nysUf6*vQRL1D`isFk8LZWo=X3s{`} z13|kv&^%~Z?f~_79)P^?eAAWL2qFr+w%?ylplGa5!?ls43XNbXP*)?Vb6Zs&|Fm@^`ED!^wT%lX=c`^wd4GA#;47`?e z!YE?;jnTB4TE)&NZNSgXSJN?M*UxZ!ua++P_7=l20%}6c$4i z0~qWI+^}o8*eDm^=f61Jl~!3FtC|Jqm(Lx&1*9ke*zf{?WhL_YxQSvLC3loirc#3i`Wv=IXaO98HxAmKlQ>N4A%cxWd!t24#pyD|H`@U`1Aqb}U zc7B@qdtwJaO6i~YBMpgmut^D9(SBp0W`>pezf#AtK&PM^2z`v-e-^*>2xV!o>U>jG zM2wl2pPy(HF%sCQhFn9>AeOWxaC$w8U{(Le7*BgPyVB`N%l!$^)S`2t3E=vUa>Y)k zh=%gC6R;AX?9>nRXn|Epu&@*Y_hr`Tks<2NN-+;qn#GO=<)J`U7lMYF1tgb%Y^mel znopbBT(vJJDR=5tc(|b<=F)@pHI?;pMo84Om(Dwky%#3S0!5v=_L&5@d zpaZ}aVg~m4g7(A|Ct#%QQZ=BF zB39;)BK>RMpMF)?)MU?b7(*(+FI4zwc}*jro^^kd&YVls3!@OO2rWcMu#)Ol z(^8<|yILtg5-1)a(GF1iU`7+XWR@8mFY+Ol@AGI@97v9>;xRlR16VxYBNi3u!@u;h zwP}YW9*qu>)-dObhq6T5qR;I}30Co%apDTG)ZJ&FR1s>QL&tH|CJ!*REP`ZKK>VL? z+GM|x>E>m`+Fpw!Km`1$_h6ehKlvmRYNU)FFYiBRyM>Cc=82LQ`53#GE?vOV$|3(D zcFKJ^%DgQ;$oJxbppR#Kkjnhk z8hZD=Mr@XdL6Sj|AF>p!A_h2b+6{?#4Pc9C##0_C$DveYxpXAlXYbw?06g&79D54> z(M4@uTzJ&k8XZlB^}s=S==77$#}2tWr0FO!{1I5(@J2b>!@p{=qljAI%n+>uYev&f zng2LBopdL1E_*R6PiU6|?gqoX0Cu>7!Zp4q@Rc7+*t5oO6N8$SdI1lVU z90T+nqybH8X*@;`sa&tmjlm5n>EZoy`ZS8~tVbWt=uG{!=h~^0h4=S$qbYTQzP39R z6Mu`|Yl~VH!{SyQjIU21QW)Qa9A7+woHDOayctmu_?V!T@Dk=b{i9dqjfW7n_1VPe zhXwaBpV54KqVY;=1E@(dROMh)^lv?KvEF6l6RSyb-orT=&2*f7ibT`^g*%5{tPCIh)sH+cmLtr-Aq-12Ye^pT zi)66v2S-`Mws+_k%Ih{f4*k{T%7jPLr=~|1KtA5Y5@@Uvr=+2M%jYD03=t(N%4(+< zdu6ZCp7(=smM};tpw5bobh5MwwbxR4gCR7dVLJgBnh8kuW=3?T4-KDH46eG;ZyKBb-FTWIo37m$QZ4Y+W#Xundw4u%K71)p#y^dT zc;Q6%J_xFLgWhhU2*YC`cKHZdSbJzBr25uDeQpP%``MlmTZjIie|eX?t3u zFKK#jj4$k*9oeHNgrugMVbeOyr5-WAfaE`fJ1g25ND3LK>f){TLWSJW;_ih~cx7a_ zQRKBId!y&Egb*mT;yh5DKvR7J`HJ?RAsS4hrDLRqd5^;a;bo@sboe(It92+%w2yGm zDjtmSno7o%^NKWDhRjKLT2nG{g+&xsJV>TNybfc?iOM=APihB$6eS8;`g%TRdhkL9 z*!p0=rE$}vwGQw5hX4mxIZL&voTP+@N?F0TEOIG^iN zB>}3uJ{|=bmW0(ce@};S{=PL8HRO*OxhgPEsEJp49?2gtuR=>c*O?CA&mRiQANs-H zxEI^rsk}<}fu_1~j2G^4HHOgnua@B`@y|mvvoGFJVV7H9s=goe$cAIyl_&Dign*oE zygr%4BBb*{La=~p`NME5qRQ(T1mIe6b{GSXhCrT}m~soEc>qupzhhQel;YQBTW)RA z%)Ed#1EiP)?~Y-f2|S&S5dhW;3b_0Hr1pR_FWKR%c$&#z^b=G|Fq=C`$2$P_XY#|d z=;IDDtrz(&bSpi3U%Wh_>#O2(1Ky_A5fR>p^A_x;j}|0;I^8!dnR^%Ml)mSu1a(I@ z-v}Au?DJ`4@tP(JQBo>|$iCmX?`)kjWb=$P=%vycs>d7jK^0m*hq`bg2Iw@YQH@G;hN z{Fl}2vUI6KPDQPsd3GYvd7)fT3hHtV81~#AO9kmsl#!FAdWl%Q~_`AHi|E5SOgo1(Ke9r3RFkOy3(Q$p2mp5PCh*$R@*e^KWm@dk}I)(=LCd| z-gALL;PiV(7+W6SCau?%EOCu+D{u&4c-o^t64o$y1?sTHP{l|a(F~m2uwLCH$lTLo znPL9vFye*$C~Z^hEFr`ER6g=#trE!(%3q`D z@=)+YScGIuXL^#&&yEL!|J~p5hi$$3vz9+8gaKDb+hau{w2+dgE=rW^QH)p4OPtGN zMzJyJ$uXb5MPiRX-o`JR1OJG+hEUCY{F4=Y0zv>3x`jFap9s&qVcxX%nMOnagj0V& zUf(&kcN}`W*F*r@y}Qi-b`HU=AR`F()=84z0xwTqlFpWe^4o(t8Em9!0xB2mJ6!;} zc6+jJS4WxN6Br|qh^zw(F&MKsZs2FLceOi^!M*dFU>W9QbIb)?rY}@ZYF^27B97iL zr)uDE2Y2PIA=Mv&QBw&!)1_{L?Fwb_Pm-0S(wjcJ=A>tc{@Hzr-F?otl!x_9Zk|MG zJoWLax~_B^LLp+Bq+110xVwdG;192kc{a4D<`A2cwmvy@SvjB27!{Ss@x>Hg!g$}O zMTWtsw+S-fjlv+@^UEBfFRJTf;dto|V)ior9c)y14x19Bl?k84jmjtX(_u0hs#feY z{``aj=s^SYo*;3s&5WTvtdv|hp(6ij39D`s>DzP1j?QwDM~_}0;nr9a|hzXki>3D07cS-5E9uvw5RA zeW*l3>^@1`>SA^|#7IV5?tfgA2sRh!TsXMI?ORu0uWi@ig;P$j-c#CmKbKm(Be5}m>*eCprDT8#CFKTRW^;LZrPI?{QK!|sw)aK_B< zWXrdU+RhT|AvcNiCZKpPBXfLWvCo_silxkvhjMQ>7^+-d`M!wi(6i*fLn~Q{*&vgM zkM$ZyQju&;QJPKX6Gt6u$0PZ%%keQJXyiq|ub~blh)kC7axp*9bik4^_b@UG5>>sf#C>D(m><8#%dDzhawKS5TsTOd9vrgDlxZBXssvR)iN`b|$fsT;{uTj@5}k=vfQ=3#uNRS? z9_NSjemM6t;gZ~P7P6y_1SK^bKg@+)0DVRU&C1!IrMfXK_0Cax>YrMjNd41AJWKK` zw3HnNc^jYRu+FIpaF*g8Yp$T!y;}?bj|>z@+v?pGqlg%1K0gx{ylc|~I{C@_6FQGj zGO%F_+A2Ha)hs>0qv@ydm`&8VByGG^W{Ab^2KWHDAQMxmnJt$6F%QGmqq~^Xu)2{g zNzK~AavH7&-(vE#G5TECn1&lvbx0`@^lNb>`Vn!N|M#;FMLZr`*P02sDWFlz+Hv$@ z&a+Z;15cNOt+eI=FKfFl%7J!AFZ*Cfz6@0Y+ta%)%$Xnx9Wy$&eKB;)_p1`G8^vG@ z4;Auv@vbVV(qR`oEd#B*nAq#*)Ss%=?;=728mtsDXhy89f+)Cu$Ul?H{VZU|Z=>cT zq|e~od#(*HLYe$Z@`om0k3{=1UZhz}Y&9=CDRN?g(aIEa(Z}6^sQW&V3ftFD6ia1- z@YQ<`CVf`Lt?J3}=B~oj26#C|9}mW+X0-7LZr|0^f>ExOlTN#%kp;R5R|i8m7n8dt zLA0b*kowzbA_&&d*@T{1b3M1KgqGtnhmancb zEpsETqzoz;ewe$m#joT=4(Z|~WZ-Byp>Wf1A)r{E>8gOXIGLBxbi5jT*zs$P)T)}f z;%TU4!Tm>EK_zSZ5tyczE3N8|6U8kOedtEEuLJf$@u~!hTfcC3SrGCx{xOLoHs!_t zOhQlZbfWCl7!alfYbT7L{Q>rRHh?y10H`AhCV)pcxmZ2#tF;yLSerXd(<#91MYpw= zRS)58T%%od9YXn&Wu%PaxBu4?Y^w3jR933()LAs^ELx=OlX5_{oWMCs4youjZgv+8vr zS}C{t(Mlez$ne2zU;bSEbZ#8BWZb5;FfA>7S0%9zjtR+YS){cRsexhaK6D*I(RpLtrLnqOs2@s_}Zmsq!LPzCK#d~nSEGwg0!LJ4zBHZ%1b z^(|tO233VK4tCEP7 z{m0PAHqE6Syjx`qF9H>RDzwSBO*Fl%XHh+4TGf6ieSI%o9vGbd2F2lBG@8kp%WfzE z!osZ%LuKj@LySuK!i?Iwk9$@t}(^e=SwnVh|)nORZtpu~6$Nb$; zBImPl#X-#v>H76$$PLJg_z}eXxA0Az;HkxtRl^(+`Gr|GQ{>!}cz*3<%%$H%M)!V7 z9;`~dTgL6RFQ(q&5WP=h6$NYm!SD-4oJXVc^*2_PJ^|hyYVtnB4~7|lO}@612=5*( zviJrecTH7dX(S$A^dZ)YiqubcR~cuZz?S2C)E_rIR64HVMOeIYC>LrYveCzd?HbN& z^1BDwXZQ9Usm$mY;~I}f*M%qIO3HXcruUY2vesg?h;wd z8`Q9fQqztUm(uBia*reNFwYdkX-IH$OZfQ%VK|f%d2d@G@%yn#-@b%UP{DhatnW+; z^ks`1P5+O-Ak#UG*;Hn)HS{s0C-E%>hkpk#jm&V$w-g1dSnpXStC(fLBOjG+n2+Ux zFJ=MVFsEL7ewnTk2Ch5Qo4XhlqAVpRlnJBuj2s}fdXh-k3x~Ejc1qSB)MRdG;#g6m zMdimtGpj;yv`Rwf;Vanj)>G9KtkxXj6t`1E`#-+7X)rZ( zQ82ywrG2e_uM3>!vNk+*J)38$WjU}bG_3GH{JQ2Ww;k7qK+&h;RhKAvI*n#9i{>dg zkcy!mDo{WgEl-an(O)fc;Je6>hm2Or3NpK2pwhuq%EaXdYrlPnX3;UPO3TKRBY38P zb+w>pyqG~yEb>I3@R?i%3o5s(Ld0G?c^B3iGq1b$C%*j}KWvZtf8LE_r$4rIR^5w# zStRSnl^2~GkpTQ3*cigIA-tNNtZ^mE3l4V*PQInop zY53QCGxrAWp1Zoy&}E}?XPXQm;0@$50x-Be1!YtTF>2eXY-l2Ef=HVIL)#V!QaIjG z$~SQiO@thE7w_Dlhpf2NP$!)>F~Id2x<9fRoYG*XY6fEq5mE@!S2t2F z3UYWtKbqnG+5h4&W$*v!<>nr`VCv8)qO#b7en#6fsby~8X$DH}ON6bdSO256^H~W* zl+%%#+#{q%d^8UO!Rs{|`L5y@#oMKgN zufgRZnPhQ%k!;>`eGz(@Rvw&9y}tYVmNNJD8+v)g{!ol9sctYNA`zFUHKnqOD0}$w z`ohE&IdYCwihs!x3Dopq2kCghM!FM^xVb;o8s=4Tqn=UBrGS!dIy?g}0AG%)GK|xz z4JCCi3>x<0>DxrM%02N!)G`sY2kUz8y0D*t9AOPpSmeNiJSUQlQ1(dOI`7Hi1N)4K zV~#%`nG)@CGC55ogcGs3o{&eIl|DGG!L4AZMbU4^_=u#;>4q!AE#SiqAGYA*X0YTC zEUH0hE=&V7Q6l~g<7Sn#?qS|5VW9W2kt7p3fLtI$u;-<1bLrX3Q`g%lDPc-E#G+Q> zPBA=9J;$++)q2k^dE>E_#4Lo<>%@bTS`G?%SsMOQx_V@Ta4z7XqVv5sfSKhhWgAmqL_L72LPeEk4 zhPlUl*qa0}{K3D6t3>m(Z9y-Zzkzs={_N`~izGfN@TPlL^4_+~&FNfKfA?@)aaM;U z2b(Yzf`+j3Zi_>sZsiB}0WN)9Y$12b%N`0a#K=m~p6#BfLGXa4M| z=c~fXi*TUZQiUQD8r(#H2mvoTXHCq53SW!eU}%=zQv`{rh}oX_&T7Qo1LR@srXHb| zpK9LpCrSPJAMV(4kQ^BiTs%Kr5__2n4vbAgcp`hn(}F{R6y+7wpM~)h1HT5|Ag5DY zKMYbWk8q-zn8D(pOcZRY(!8#y+Wk_epsL6!p5wr$lY4{DPA3$Cy?0m3{Oh$lA|F=jx|YU1qA-1Q(1tT6@LhdDk#gSC z`o{+LQv@lwq`B3;AI=ZO^footIY>KpNG2tWGVftKKY!u*S4J7?ytgcEQC%J%s}fDG zh1Xq8QYZDpS~|$hg`;GtLV2ls)!o17^5S)iF;@r?AGcNT3X)n9s8YK`GZvxGc&hG-Z>i9hzj{J%+M#O;c-jLoNIu2KXX`<#RjXkknALcaM3 zDQHH9Hm03?4CR*<50T~ELapE@tWI1T*?@c&@)HtOQqIZY+#41$8QfftL@FVu0mqKdfaBpxcT3&PlnJqvfIcA#g@F>UnA+?!fIvY${>MQ z@OMaFrUx3mSMn^%+8}0bshQ9`OvlKmovdDkG&e_Am({+)fuh4j5&diW!`AtL!CcWN z++Qxw|Cuc93v2&Zll7aI?p$B@g(kqWh1eTD4GB|QttQnxa|v(rlv1dJyRI3BYo87O zr0(`$3_PY!nk1}bI~z^3*gF$SdPHU(xd3{T)pN70pNDdv9c(r}xC)E5X~Nh2o;@b_ zosJn>Wt`9+hpMA$vkgx|ISRkB2Bq+CgV265k);Bt!RuM_p$UA(A&;K7H3(o2pD<-Q zpsI7=sMR_166&=X_2J_164);Ms3^dDh4r)u>w%d@Iz~M&Ht(jGI_}4QIcQ@_bu-GQ z_IQ{!RU}@b>iilfJA2-nP_%*fc;f8VCjt7zDj}=XZPN(@`r~SA*j#JQU~{Yg2V=_v zH+{4x{#PxmibJ`RXlM7HI1ueAbIct!ynFo{H=vnmo?ZWRu2MdG^EXZJgwWI8SFb+Js8G8Zp7j>|ANm9%9UJgSBtqSgs z8nVPSIEj(jvx;|ASlc-`;CVkdj7o}gd0G2#K|~$z(dj1&ZR^aoVv?2nJKQ-~J!MZ9 zxrJv!$k(9dB(e|#w$4{AF}O<>+!LGE3qCZnhntxlMN$ReVX@@JE4_my@sJNjQeetL zah>PPusbOzP`c#avoJFfR%_>Of1;e24zUSnd{~BplNTSc|5NFgiERWniaY+HU7P-b zb`*8_nF6s$8-8vUD_WReLKvqMHHFPin9@Hnw?7CXg!!*)*m}P)lj|pOp!}ENj~4XH z#U5kT!byxXOjdYYpR!iH`>3n=C;L!+)O6omUp z1iYc4^BHZ&dd)|}M(;7o($cgQdNQW5bGheqm!=1OUHo5#-h)n=QeU?8mAO9!)NlQf zdK5giOA|aK<{G}nRY~e@X!a45^S()jR)n-ez1S$`G035HJBG z7bC6BqelovQLfdg79SdNG>z8hnx==Sb-|v5oclcKd!SHk`>Vy>fc(zw4h+6gy{a^qv6GdsJ#l-3bM;DBY*mqX-jk3Ap|;ZK)anm4v> zj6&hz9jVIi8)A_xk*zy{mfsj1p36qfEUkJk%MW@R`S{vWsD|;-dP+P)c#s<$5&05iS(?==b3&mvb=Y4HU=a6j_3`UR0=JK&7dmKW8`@f%kPwUE&rrlRvC$Q!tmx9Go1X-C& zyOUoO^qCE={o`EzLi4(iVMQzkr&d`A-Ra4y+dkJzdC&88>7(4pmo1Q)g-I@GySXW5 z%qM3ZwcFxC4Zl;`J@qBh^AiCz;TtrmOI7g~+JC&LCMk?F`EY|}(D}ZlUKjqjJpB+` zqhDB2YqqH1K6FO&QLN(SGeDIXHwL94r-ZVtm*3zE`bhSu*qc_z$Yp0i9@I_r( zX5PhWm3~@pf7GjUFEcscmfVV-I^Afr!=KAfiKj1cr zD3FTPoVBS#%Tr+JNG9+^a_GF}#6>UPn^Y6WI(6o^3(BQy#rR?xDKDT;PscNJg)4Bi z(9|lHv)fY6Z8P8&@=|Y5l0#j;KQvRFaHIYb-A<;4eFBX{Lr!aaPm4fop;CC%b?D-= zsyGnMDZG}ae~_&vzqgHKYoS506*+B-M9rOTjZSf|=Vw3k(15&^N7Cn?ZMO@POAD3y z?%NdyaNi4h7@7z*l58^(dPFg(VxeFw7$Ky}wI7_}Dw4xYCrSMg3&Aj0pzuI3oG-=B z3SF;@%|t@74Sw`{FD&XWq;{#kV;F^3My4p#t>H`k2OrKwsTvmR)2_q`FbEz+(11ya zU-%bSkRZBU_^81=VMjsu0m(qA!V)Vl#5}#41i2Ek_KCVS8X`5c@Dv&yQK+r1knvW> zi!uPHqD622fXxP;Dyr#5<&b_C!T3f-#PFDOd^qx{uuN;Os`a^@bwb!v#ggp1MiRJs zbfY)(U*`D5u*@G=hxz7Xv`I*-SKbS)!Z(glFI$3!8+^wgHL=!TZ7iIsoMU?~9n$Jb z(q3R4by76O{0eGxaCMS>&PS#u=EqNAcY9NdFWeRTDi!@jku&mFO6wS8_Z*LwI1%BQzq-1PkNZmAseKv*A6!WD+rS zxjuW;%j!bxgFQzVFa>@~GDSFi?36&OU@^+zO{7*d!sOs>e-Kdoz|6Mz>#0|K+jG-z zdA20x@)IP~Usl`cH(a5U9IQIi?iJALv8z+`P@=!gzI4CmIrLk6PgYO%xRHjKd#_j` zEFK0KpAl$W6h&B2kR~qQN@MOY%#QNhYgRC4JNSyPDgKo>hk6aeTS?w%tWBSStZhCW zZN8px(a0i?*5n;_l9GTJ>I0TlE)2acyYw7oFJ%HK+(i6e3z;LP!draB2)nMPghPGS zc2>H}+QTXKTu~3EYrX{j=sdLL%Yyij_N9r z*hV%F6KzGmoRF>2xV3Jf#yZJfNgbzBz`Z8!D7!q(jsm|xuc2WXLai$T&;3d_NR;of ziRB;HPT^DSrycbIt8EBzp;>o!{lfZrb?g*T46C9VecQB-qHCXFO7b24wjgtM&P z+UrZ0`EN~H&k+sGWmdO0$y$2lqp3Qw@!W}+&)b{}%X=Oe!wJwZdfCn3g3yUP6151& zu6Gv40cG1U4b(|Nmg4oYb9GJEsk7e_43q0kTO%JLN8>is!c2=f4TwzWHe(tqNJByx zQfy2XEV}f4u2U)e_y{daK-aDd8MuyN-=0C5E5g@APW6Vjf~;s8Qxzlcdh{t)tEk{_ zwKq&-A$KX1sK-TYWB zH>g4-5xaN!;g8HK-6dfUrbEaFnY@Let}Zonz;j|u5Z4>U$h@~^M+qNH12ULpMXZC# zFmLRH&{38ba|+`a)`Ssm)pJJY9}!=~8B6X<*h7XfFO~%=I1ElRdGC4yuB-sRD^mS; z0&4T}zX|AHwNc3iC-wKG)Z?)ZcNOFG8=2ZyQ(N-69VPZWu1#u3t z`f>~#qBkkOuyh6Zb;d)koBbk)Gf_1kZnxwI37VRh==nU?Kh)^F#T z`97(!K6>V9AXb}rb19_0_fAn*o(|u6wSt$O*s+O3jeuYXJokbtX=T9P$fwE)6 zToY>LIelsHgq#w^gbHFbIDL=xC&%1)ms?`^?5O0MGO-LR@=yvIl%Yy}1SihUwAw`v zapGF|MZN3C@ig>F*dWT9Qz-K&sih+qN_M%W63Nj+n4l$vtPE5H-=0wRMxx!dr-O^M z-K10s`G|WFQ8?duX?imMJR(FDw|w|!@xP=4c&juBG+$ay`C($U35ky z2m#8xw+M9ZGt+w4`%U)LQaHWQS~}nuu0JPCy%8RwrSvD~xqZmM$9Hn$y%pHQd(WvP zI3R*yCT%+n|CTmvI{&w{so05q)1mPkIvT6L)V8{Nss2)6;V)TN%lP%YH#B%}`*6p% z@K?<0jo_R^Z5%VJIlLI}J!`@rm#!e{;hRDK3EAshDWAbU`O1ukPYk+_q>u6iZ5!Xu zkj5ksT}3_RpnLGRpy_%RnGwt&k`m4=vaPuCB`j(~TD}kSS4HaWN6VjU)}KiU1SYh0 z1KYQ>EssyB4Q$zcVj=B4f$qPVNotWyqy{}T>xDJRqqhV;G@@~cU)5qj;LwR=WIr!R z;AZ4@U79Fhg7R104|T>CMYXP4X#(U{&dp(7@vVqum+ZBTh|mYwUvJF|vTW6FpC*;Q zRK79wgrc`BZhHsz96yGW*<|z8kynV*m)-u)q;TSB-w0xSQR}#%d9A1lq5k8nEq?SF zL--J<1_R#LWs>I>Sn9C9nMlC6M(#D!K|RJwZJUGp;WeO>`PBQ0yu`~|I+jDh|xYl$JX-D_|l+=BTuF@{1N z3j@`njbFP{T;coGbY#*MO4WIO;Ux3ixUw=5dSrl~D z$0q&j%=K@0Rgm|InF}4i&mR{*4N=~CO))>6lCa(Q+2f3h&7725m$|+b`Be|P>!~2> zSBKLs{u<$Fr9SLyUfM0iig5YX$B%AxxQcHakVoy9(!(!)WC7DV{=krOIzWsdI=MVe z+m?CXsDMt#yZFY*j$Uesnq)+MI^_fL+xMz30EfCmMB3_sxW3f5mY*$c*%sJ7rPe$B zf@SuQ2_Lw+52gOsMY~C5MG0Nk`latU%Be>Y(kHq5r>z55v&iDN08d(9)4C1aV8D<% zZri$fb=)Ukm2Jiy>-cT-vTYOr{AI&QMtfABRKVI+3x3XVaJa2i;91?tRia$_&&=n2 z+MX`Xi)H@zf!E_2$!;8ocGE$x{`5C#5+*p?}uqDsn)2g~r z5BO6GX{ShaGA_6X(>_j6qU<&ax2bLCvE2<5AM^5xphp*?llznQ>V*I~e6Wd8ov4&Q zctb-!rbKJMADVZNJ!g^wCTq2nxT^WD$$4TH<=fSlDpB6&qwiX=Bl*j@h+VL@bfw$d z6vZ;1);fNY@m7n3g&OYTP%5EieQgg3ISJVjf+@u&Ggc>}Y+^SW+0dox$x?Qs8s&b> zw(9P1PWnU}pt_tM11~CaD@gp0)AjuhunW)1x&rT&0t}DX88va;uhO`#`Y1Y|rZ7A7 z^ZBICUyXwnX<71Gdn&p>^$Pw(%Jzm|Tlw+c3dILSCT&zk4`&_-fAy z1?E2?zgW~}(+3C7&y_WSzY(3c3W{zIaq|=6rzt**9Rq5@pbr1OIWL@{W+u2WA zIX=B=XgO#0f0TQ7eb;A&`_Es^kulybZy4WtKBVhpkPUjMMIarit+F`fKf86jhV^6K zJFw_}KQQ=nv#QdTO`(^wIaHcGR3+0TtNkszztArF$F*`#Bm;g3P~Z9m@2vI`F<$iL zR^^-*hkkL+Ld?}f&-|^Ljkh?>EHKtc>G0Dy*Vz3z6qAxfd)l@y+;X-G(JH)Xk^C4q zo1;gF@H*KZ2=u(5uc8l{&bmE)T|9U|t6p4OZ)tvc{Nbi4zO>~n){A0m$J^2CQt&~V zUd)Nt^zP6w}6_$WkO*NiLOXfK8z35*iLI|uMGqU#Gu9PXy?A~@LCw<>< zPrX{eV{P^w_xut(?A~*8Aw}S+<5{)(j)mswv=bMNtLmGLw&64b2&N=3NnqimI;}Vv~ zN`kK`v*3>+5>Qw!cr0OBvIZK}8EbTbxh8t>wv}(f|2b69Y=W{)i@W3W!tk~sG;AgK z!a(?OFeDEn^%42EypXQ9EXp-$3GrQyzXvbNa(++*6nVis=qO4WHPUINQp(h$@?M*( zQ=63(d`|;>2bk2^^_W`!JK66yFW*r-OUEzt00LGcBu~F3`Ze>|Vy8(;dp2zzO;)F9w0zkx7enUcVWVG3l}6 zZ-$Li2fz8OEzS-{1qK=~j~_7x?N%8MY>4>XfX_&3eueS_K}MkVEwyq&;7!LqH2c-$ zBkrhQ4GZ($y8-hbf~SraU}L{-o>rCeuHBwtK?52N4x(qyyXz@$1zlI_?I=&KR{et; zY$?jRll<4mtD)cM&rLT;+$YVYPxtP-o8bF@8%{rOFA5fWF;PraaJ*+XnV99@Kkef2 z9X2D~g>b$6UNz8ocuY7pAb!!c`gWY7uI1Gap)V8h>65UL@6rT5jpuODZ6(RmF{c~{ zp{u|B!hO3pd;TnT0d50o;Ffq*DRc6{O0$CJZcCGN<_+U0qAP&kn=;uCr@B237qMeM7pc6KPX4i#Z?k`Z zx*)aB+R6*d)d*D&n^~WV1Tag-itx8?A)V9Q)#RSdKj>N>JR(O7tK}gn7dRPk%FD1O zB%LaEMw@B=m@4*Q4=+RtjQW zxQ#zF%@zOJg_=n3#w`y7H7`U)mbaL`jZAIG{j6=KbrV95!Qq+Ktyq11-`a6kdDi~` z@vuA5e?RHkZp*z@`toYCeO^GS>E(@~BrC#u`<<4H@6P61tzfSm$*Nnoxuct;U_pRgKhC?YGuwkj~ z(=)8a)ga%W;Vu@gvmby>04V0)7tP@1W4I#rP0eKIhPp4z@@dOgAxGk9A~G=Nx50AI@WcmG+DpewcFshcNB!Of>zc8_d> z8w+O17_&WBohUT}4x0^|H>K9I!S{HWcs`rueY(jO@9zez$R+5c7sMoqgDBtCspE-G z5RvN2?XpE~J~@-kI*K1OeAx*=?6yexEPYi>F}FDSu^AUM>Rxk2(ta~VVydfidNb~F z5p1@vUp#c^oORu)T8Ef&?3e;o+vA&t$UEoTUd6rfs<$`VO!%@6v6O&pWXUONtaBMC zZGkt|dEX8u#m1hWYm@LsGRfV$-?|aYZJ?`dgKj13ZOGMY-~1!Dg{^cSf*bHvUUUF& zrF4U#eS+#W!4#9+=|}qt)bipvGeNa5GvtO)HxA!0J?xKXVe^UjM~LXwimOtHGUeW4 zs)dY|lK}EyG7<-+Q`;61vwxzFif+(lFebro`4-) znI|>huK(6xDGDCC-A`f+bl;bR26`V(Rq@{(w^k&j4P3vliGvN?RNvwUA~1K)Ql!y} zIp=Fzh;k(7Vv}-wy!T!FKqv+kaq~tgi&Fol==!y?`6X=QvNuZovi30HQ2E!z)yZm$ z-`?>qgWvIGllhr#-xjp1&)jwLs)`LH395D9J$9z6W{=zI&~mTVqKqxR*Sn5N&z{|+ z+O>Rl{C!zBaJiDY+AOtMIi~#UY9Y!PFOl)~HwM}4*7@3{^(vP_1g%{#AMB>i_4{UI za8mB&ug{0gvPfE6sL1j+!<&&{rNex8Kk1A4LKmKwkB|NWfgr!xoD}i+O#c(JDx%D* zpGY>T#-J`r@BZ6U_arWtIIq24^F`bqw+2FkPe0`7!J`hu=I}3@qK)LA zp4wg+o)#xk3GFsI-n-t#eH2GNk z;6FU>ZtSC(J)3cvdNU*$9OWI&6eE3_Ne*WfA(nOu8yF>(dbQd5_SyL4b6{rxmJ+b3 zO6H-%HsS;S^C$d)o7NMVgJqZPVkTK zC%-1B8E?*3Lj{(7b#*Ywzy-5m!Y%2-OO{>9qlwdQ5V-O|;Ci{sktVg*pT{Q60G!sM z3$*#7G)X)$N7(TXWu5e`&5=sOga`rYMDANaXfBNYR{ z)~@;~o3r<>gzKbEJ(E;-Er45M$+@{o^|i?L>MqAR&K-L3V{0ZUXm9O<8u;6;CZXw1 zH{CQipCWv(`!Ko_{2?bqE#KB=(wY&QkuJ`;r^moDo98p2SW@S1W0MvQN3GsFf$L2i zyWF(mm%ZUt8KNd52n^-fGgN+RVgLLR|L|M~@9Xa$R(am}9*-a330&LWN%}5+R+^MVCvXe0hU4I^!W0+(hF?D#S{9s?M(}dqHX2SM{7)vo z|1a|KG{1<8jV(pxxVbx#}*)GYT^hbyE3o5pd^swL@o@RPa~Uty<=kuePwwNT_RaEp z#z}~;KC__2?M?T4^WDTdQ!2HbXm#V6&`ndf-s<$_O7>w3y~Ob_PhE3>FZW?% zQtl(^=VU8^l71^`)^^aWvxAmN3+dg{z@lsE>D)%I4Lk6L2k=c>BEOBrp)V93)VBw~ zW%!P=>?UL!pTiw;39?WAZVvlSH2kOm1sO1eWpI+X72?k?%>lt!exq`Om6x)GKZibhJqviUK965B%>1rXtF?Y3F|R5~xNA7+>rUosWr%9Xhdj#J zlU~#?YcTyyvMo%vMI8w~ot z79iw3m@%9Yw&PrV8+geVqlz8j41N2GUC-#1=-``wcb_{4AJjAmed~VY_ za{HbUrpMg|sWy-6x-L9%?jpQC!}lS*Eg3&<5iRz1`_*p0g6?++dXS#x1-a|10&P9J zB0o)g0Q4m$ZrTSXm(0JP-)zukpZV+u<$o1;>{92SyKCivb|=$F>-V-trATOL0m4WE z=Tm@Tm~&eE42UmYlilKu$Loid%XY`X;03vk1J$kh^Lcf-mV@M%aqSC7HP3JPAATTQ zcKR*_*~@=;_?{|ob@&3izur5?CSR3`^g*zFGuPcWn-$L5*T3CUdnMr)7LG)RrzcO zFMJ)>ee=*#B{6=itqT$qVapS6)3XgzoDLc^|eo-8ke_lA(L$Go=%&=T^a z=jn%jEWRMhEOX*L)aqE|D1wa`27}dt-Y+5xLe;IkbXesGTA>i$&AzDx!z1RPUqV(d z_&F#_83oxNTbr#rhkqVY-+gWgB9V*P6TRCTgf(bOr+e0{{-3>hvB1$7LUlU0j{pa? zQEo{);cSF8*$R5O-3hS_d>n2>_QJ33o)N93A-L5njQitHhF1Wyv2323ex{XySDu#4 zgqL=IZ`{kITR;2flzfQ~XtcXcWbR7k9V+JXDd<(O9)PB%p7eYbpe*mxHB)=Pu7}E_ z`L1Kg?ycU#Mbe7?^~#31?}GWw!wYuwf_w|_x!tTg*5(KH2ae;N8R~Y=b$)vtr^l7o z-*2P<>bp2#z3xoyYID3u?I6A1Xm(_7B)-@Ol)4rL{`5pC<= zZ@uOo(>eBoGlTZ{=BwAcJMQhvp8a)xFRwT}G4I;F^d9%-*jY0{dA;7!*0hq)0(PADWw4C}O490B(cqMb zfKi%O`f5y4tw*l^er;O)OWY{|YFHl6C&S$zN(r)(jl+k}* z)~}r`Ou$p)qCifj;cnzts=n6?o@HL>uVvo=%m5zn>7yR!^#cFv$IiJw zm>dJO3DBdTVN=1VuqV{NYmfb)siXLz?3ePbxy)MCa};Hkn<_84d)oyGK26OX(%YW87=~;_)U2G^%2YKBoP&UAvsuO&t*V<@+PmaORY*Bldgl zj-ve)?4NS?qS=;67a0#>&!WQ>vzEIa&+Ziu_zwKOcw(hkyrV$rI*19pdO(EeDYv|$ zmy|&{&b;g5FEStxe}=#HJk^KCD6ZJI_ySO`#94RQI5TvsD!vJbqW_KL>vl-AvuQdn=K)C)eLr_0LNb*ZQiQ@07k; zR<^f)Zq-v%#C&){r=S31kvm;{`Dba5Fkr_c!rtqQDT~pA3g(VYs0ukja`%)CWlZ@N z`@K~$Ke#fOSGPtlNYQg~R7fFdgpp&1?@%kl9duOEhG7(KuJ)Hc_&|Z`kD2BzGiC?- zT-pGs-YCqb()?MSLIo{}3zFWs2;=0Sq?HUGxh=8v8YahuYxR6+FPYq;NKpK&TO+s? zCSeKt#M)+X-YfAnrbDRLiNr8CzPg5*==EIl6L5{@x*z^2dg-MR38%4JPxK;suM<{- z%Z|I;dlZDL!gX!X1^um;A-~J3$8F?One_gksYNziuQOm`G9iYw4ag1s_qYRY7=CSz z6F7w`F+1Iz@}oanUnu*nm_r%vYhC+mRL5ne?0~9LuPH7#L?kmAL50VcpTiZ-M$#UN zAJ`ukpLfh$y)EUqNWGn{o|4F7;cOYnQh^)<2&9M^3q2Kpb41_e`^l_6antogo^;l4 z(Dzddyb1b!5oyv1hfNtbS_!M-93_AAT~C|k;ud3ft)w?~P#U?BRl>7Q!I3mriPSVO zj^FgoS8r6jHK zO%-Il!vlorq+7L~{HZ&SoW<;RWK73~C97ZXZf6pQOS*E$<$+LDGZJrm6;(>FUuKGW!UZu+M+2zlg?0d_L+* zNy}zT9pEN`$RW)Lrxwt%6O#g8P7;WB){CX5!>SjwbQl-0gr*=Xw9yiN?1fg5Rl*5Q zX~)P(O7r(~XW61Y;k}wG)RR78UqCyI-U!JSU89&a(!9;B)y}n^wC5v{SvcZ-1xo$2duVD zPy?9DUc7k0;!ok05rg?>^zYk|cZOg7Yp(=2D~O4YOpbFDm3(4VLJ<+|?%I|JyuVaO_z{RoV==jp9}q_p8WR9MNYqVF&< zFb$mJ#qido!VH94FH(y`=UCqp=!QSO^B!68Dt^d~TYVNjXffmeVx~qC<0QGZpg`4j zN`}&7>0!}*S2%AbBHwNk1-qI4@ z*x$d9|J7^8;-^4Ql>d@x@+xd~HyFfOx{)#c0b}D+L_!9;Y62F#gn!n*Z~b)o)mOQO zBuO}^lx1DN3C_T>)8U61+xLL00@yjEj#`p5R?R`IoyblLMfQ*7ze5z1;`OW}xCkgz z*G!N}2241E529=%e_MRY{d)4s=1paukKdLkoHPt#I0NGJP;iI%NbRfe#%^(}lr$ek z^r9j}nm)Y+;c_fBwpm7<7n!imGqtfs>3cv*Q7l!E6H7{8iqjzwiN!20w`z zW_KUoQz*DC8Krw-Q}q}2b+pjOHY?yo#qU{3)N%_KlkDdWwCMf>>s5Y4BcdS-s~b*C z_<@HZo+XTOjNEiJz92v;S2Ns|WgI-!*v7&HNwxfzQ)|Yz6OE{c`LWtc{yP5O2{w;AN~# z>Xp~!2XgmDXIve=KCBmpkHVH%^xLR2!V^CZw6iKjv>LWJrPbzeIiLUT*)Z}Wk4e_D z>%pSNZKZ%}ztZiDG1A|OgBb|9%JpjzP|}duekXY6$Wv z{8Iig^6gtFKDk44b+iy|?sF@rZLsVw2QroTH+mJenvjJ}5Uoi&|3Nm_n9$t)RjSj+M~s6t2q0 z=uosvEVPy3+j@~ppUjB7i&y#bv<|r-z8dp`>Mgc`F{9?xM-63OX6}vRCYY*P1ynwr z&nyPA1)L?r9}iy5DgzXKmR*OtMaf47ZK8ScNneC&5qh?7+MU7C?p=&5kd6+sj; zHR`6;kz=}J)bmqpg%V!y{pJcDf(OT|=4}Us3CYC-#60Pwg5YTjBU)_>Y#V{R;K-3V z#zsllT3yvlmbTuq)Jm%8lsBA>cQwEABj$E1Jv(cMWfbF)7wf5{hHY)i?HrA_8Rp(S z-#?l7u5;ng_G;!v;577LvGc)tNU{h*FMjOb;oYwOU`ki;TM_rFljlzc;YvPry z@~TdeQJ}~HHNyp_nfE|&Ly(pQks&{-!{WyygHD4Lu6VcW-n`gxE}?FK z;etiUDXqp&5fDReLmqKatZX1;dZRQDY3O)tuc@f`Q80T&>`TAV1@Z?DSX`xNR!Cq| zgC&Y^?zQ zl`$wtbM?wZ@WvPxO7Vbou0(`eevt8DQet~`pi5l=Bn3As-v+*AvbJ%1K{Rjdf9c@c zg?(nHq}y;F(w}&7n(7>ymov9}P-Q;qHne2-cFUe78_i2)D*Rx1h~Qx1{$Sr4Gl11_ zKYvoagFu#RhyRjyX_Be)sh(DR61nly3=E#g{F8)sK5T zLps{W9*uS{Q(jm}*-XI_xiY+noq5Nx6T>hb$~c7si_h7;`6z3~%fXfyqie?yQ%k`? zh$Y}PBwVcPBQxQ+u*x~`*PB;SQ&S7|vvzWJZn9eg{=%)e^lHGE6dDCu)doG#i&>~a zVu|K}LAcF;bkiT5s10!6V+k}k+U$Jwco?TBO zGTY-8&vUDVcDDTDpr<3C{);UvH&|Q7k>L>Qnx9#O_rZ>bOC`aU|8}z2&l#{ieu|F{ zU-E%XPRruC1u3k)(K(qj^BY5ah93j2ZXcqk%py65M@B}5hXHC}p6Yt3p{O|J!Zc{) z=J$7iU_U4KprRbcYJQ>X_P!(9x;WPHDu0SDLQhin)u-)=kr|4|u{W-{MK*hUE{u-I zBRU-2U$h)jNkpWf!c@CFArh1alY)X&`mHQ-(+Trz!Ljzoqp170?dtz|4+D-!Z`}X1 zZd?+NXjtE+iSh|*67V=tj-oRd+9&gNZ>U8q4gbCTm(I38@Q*AgbSK<)r2)0^!q&vv zT>I9|wkB5>RVju+aen>6LHHb*_CpmXqN?{x$KVE}4nn*G0(urRdn@75Ii70WHV*WW zPj78jJ6q{Jf?}wcGhXK))K5lbsI^Q*oxE5Y?{yN1LR0Lxo_sli_qKXUPt)XEiS8{$ z^-yi@KC9vz5v~{SZFyaUKKE(Y|Mnay?R%&4h}A9s2LQF{>FL10!2SJwP}HmD&7Hb# z5BYXIK|XkZe(8B&kqgXnue^U{y03d3b%0gCtr>a2kRIR+`2ZBB7@%F8IsVE?#}yFT z?R>b|v+ukP4J30F5;DbTmO@rQtcRa3>ox_Js_o_u*Qbyn?25US)#DbR)TdgmmP>*d zh0h#HrGxRhAMWP2MNMZo<&Ol5PQH(0i#0CA|tLq($i+KU43G{ z=}5?G_OrL&e-8UZ6{U3e4I_(LJg?`}8;03_bhO=!;^e?SI1S~>*(san0}HQQ`S%)n z(O^zUZUv6!HeScv|BibK#fX2ML!EtjcK49tZt~lj^$LA8WQyLg^u9(0&b#+zEKUBJ zZo5BIec!Weum~uOI?81=_6`1@tntq-036>CPIG2NCZDmJ{jO8W`cI36BJpODkIgkT zJ}Yyf{&t3M5J!?Poq;9Gom^HFkG+sB}|b%;~Zz{Bf%^ zG;nN3MOay`g~?!%Yi=;a3Hli^J&fl!z*+;rBL| z8L4bAQ{|HaIVaPf_^|4B|SYI7?SIN`VXY@ zZlNj|V9oKU{m(Zd`}Px{+}HtCWbC}z-2+Nbz>&A}5(G)tqkt#W*fkF5F8@SMni_Ib z!FEdWg6ixWbfKn9QpXU_$wrh#RF|=?2{~r%b4TNps%Rz z;WenNW&po?rQT8* z2`|p8ra9lUukg^*fzr0tCNR7rcI?Oeau~pb;=A?38G1T`IvQ+072*RDtHoIAR&5jl zMyCzFs(0RiM9fmULD$z^J-F`ae{zHYQaWrCdyTXC*rBZMw`nipclAeP+I%a^p{8pJ z77Mw?ZLuUL9%8q#wl$?M7*`raabwhkX#Q9|zm+@Sb5UZB8XR;Z;jOp+o}0PqQ`A#K zGIbJ8L7;Z1$tPkjAC!8%tD&gjXyXoV!}~JVy}m}#rl1TiqGOHp^~Hf9?Lq7CfxVIf z{+98<<`-<%x?PLb+=_@P>AqbFBE+8J3b>d7y}PxNwiAWnY^0)bFbQN39JjRa8Mwgk@~8W-yNKIcG< z4lu}VAX#if^^to~na8pPAAxk|yB|PE)Kk|3sDT~d{x|?p_Zrr85w2c4aeWVe*T20b zPT@h6Pgql2MDeL+&XZivkp9l86`0bK`w|9V`UGV9zVD5D{vJp@LG6f&7ZzbqW5K{O zwu3kQ#3~w?`vk=$7|l$~2Rl2B4392&*BqI_)*qQvCA5mYdZ8bo70%5O2R-=hM;3(6 zfhhbcy$(;{^?kJf@0IT76SvUnhSA@@ucYzxS^C~!D8u=4}>o7@hTo2=GaJ^tWTYBvR>idin8o7!3) zFrLYxA_~L5z{I1w7XOIAXpJRzdqIAOpo>!8`LSSdHil9)Ks^!V$2MidtwaK$4~1mR z5Ab(W?4Gl53SgVOex9Tp8b@Hrr*X8F-}=?-5~#p}x-aMhbhob5AMP)|e`Stb(DOQg zDiS_`Z>kK8gSml+5>#2(6atjvLY@o=oJRJx-F1UBB3u(kz5(R5%Z=1IfqvmjaUqP9 zr&`3jYM{dKbXtR8nFDaceyatzGgC>Y94oHc=ezrRL+1+Kr^CPs+#>7aycuo?8*!+R zQ5KQViw>3|C5d;;`KT#rnA-zSjc(Ey)Pt_h3`G;Ra4%l97q;uB`VIexv2f656jj0y*f*rIYpRvtA>V_%-rZR1GU zL9*%!9bFk6T{)fYN@!)7lb7n;MVYOu5_e-?^*0SH+SZ7s0=GhO<5@(Tgp@odFRCJ{ zx^I9{zW zem7`2BM~gv^nCPp;0XYMXkPuoxCbv^*PpSyFXQ5D76AJAz+hcjVz%s%aiIy~dp@U5 z3MvE?IRHieuCr~KkW~bSQBl+px!^A}o`_v25>vxz6rvfZ#YP6#hUTIg z*nP%tC)fgU`lxUu)Gy+5f4%@zJnAw;V_-@!3>Au=sL2;A#s_zWu13}Nc|*x=cxlNq0>W7%8_5##_jM&3D9L6TrU#u=hKg39W}R49%-fW$ zg*YaM$*Lvls%nx^&jK*ve%8;<#wPU%OKQaMGWy>mF&tv#Xi$am*IQRnU zo&G9}I8X+vfF|D&QH{{9AVGK>h)O&aPDW#mCyU9zCoogy_27PaWpW7a$AP!_U#fgS z(eX$^ep{(~GscTXVNIEYS$GJ}kizhG?*{2sCjhq0C?Yz9N#q48!ZMtc7Ch6?uS9u) z9|vATERt(KzYmD2C$zqM6@4`+fbkSbg!wD^u~AP4i*Q9ZDs#JkVRxW`W|k`OjNfbG z?(J58S|0G~ZF8T=TY4ljg7DvLD$LXFNPrF~DB3p*T@UAJ#<49sMH!$=NQ8z~lCm6d%{boy z@dUa@3SZz(uPAiB2;@S41Y;`*X)Hzq?}OiyxgbpMz6w4B3{~$>=E5yM2^G370bzDN zs~pF7_~s2LWal7C1Np`_zL|W&(ZKeeFE~t2PX6(o(9is^)^rqTkcWXx^O4q^s#K{2VP(eVEJ#iHm@~c4CFBjPma)kBlsshne!Ff$K)c#NcsjAg z`%S8!%X8f~WQK!V*Bf;94ivg;&I+??glbo zZ}Ek6Z~8GDew}fWv{7N4uu3h$ij<;j?no^vUBUJ~>vVZ-gVgSL1j^%pk~dI11*Q<2 z-`7S*MtZv}ph>4qI31=W*0@BBGRJ1E2Q!LIi@xdp9qyO1+S9Vl)3UtNk>1*oz}m<_ zrKQMGI_Z(ghD6S*O%8ABSLuxY{Rn+XTX;HL! z_UX%|AdNk?t*R+%HuRN?dgR%@%s;r6;zOlkup$q8@=LhhJs^cxtgEg(232AaZPW9p zr=-}^PtoqFY3h7QEUYNCOj5T=eVvpaY@3J)VGe$S3|r+AfXA6U@hAWwEFmMwKrr?m=zP90>JLXF;#&3oGj9Ib zQ39H(gcOG@tB9S3UM=W2j{{q!UjTSGYzV>gT&_Ap3ls2oF*PyK0kWXQnQnwAsX9)Q zfZhDYchoM;+)?j-vB49lgJAcOV*|k7Yz{x@0vpT5mV@2IJK!mGLWbw=M zpQ|J>H*W+A_}u8YOo;=iXAp%skgSKOTNCPhp8k&6P*nmd#OS3 zO^$sYjG9{OojSEya#>ZxZ#5+~MTRB}J9@e*I=UIRxffHaT1+AZZv}KTRhj5=hqUwD z9KU%AYE=_o=zFWvi;o1~`GVB}1po>v-nUQ5%Xvr`s;u$Ko zA8P;XWMYcIbya5bn(gzJWJ{tFZMLV{9M)d9zlOv|&Kf%n_zF5Lv5;9eO{S%>5X;}a zBh(Z|5Yv-U9?qp|qe9bFichMP!jTCjbhZg}Qva`*{m)H*>XJiHfluZAZe~E~x<2_z z+66l0zOd(AKSGH%TmhSs<$JRO!0QL1dpM73o8k|-9)Gsi+T6SLzO?Cq_yl6|nO=u2 zK+X0iMci99fS!Rucg#!vn;s<6{sd?mLJmKLDiC(VJ(tNAxCi2;B2P{L?z+&nYeCQj zqTx5c1Rr^f`jMl3K_?2Nn~kCUxNXxKqW+n{Nk2B|)R{-1wlb5sqO1ygzbi?2gQ($) ziGda=UT-0YUeLS^3=Dut01ppO2A8c?of+EW&CBn~!ZFOVaWsq`uV&K}c4R-NbZ##22r|BmcsNjsVi1cu zkj097ixr`yy+o#%TwLowz}5%XxoZB?FWn%aXhdx6>~(c@VBTDvU(@CxS@HceElu~? zgt$-xVP8GJ>Sg$g9mgoTRysOyIl2_>3$fWzTDl1)hVNPmjSbZ{){2^Tj+(xX>6UtV z6}G9`yCvfhgj7!2j+#`SQ6qGbQln8)BdF3o<-z%Os*C-I*@Z^-?qd7`ZuV zbVMl0*HpM3h3|8SGfH9#A=k*-N|qTk{&}xXxtdNb%2ZFQEzgJ36O(`GK@gj4A<1kA zltBu--)r|pmYh&V>rl7YtD0eT5lkWC5Zt`j(y?N0tg`(f+NkYt&MCAgiVTZDWNk9+ zR6N}mOCuv?4vjQnUN}gHbVhdcOqKDn>M*%1)|#SXCFt6UG}3f?M-;o6p(-aXe@yzD zVNt{H{z%hTdtQr|q~MRd+&YZk(tSCQXDGZyEf7MFxb-12V##tNTm4}>?kPYGo`Cg~ z#oNCGy9+S??#!U?lc6~9;qti;?yv7Bn_HrYme$X8IlBXSRN!a}dcg0$wADyGf9Ha% z`UiL!rM+=90v#0)&HUzd+3N)nTd`jFqFHAKg{B|~fetfDD&Un)fz3i2Bt?5Lj?@p- zNs4c0J2PR=Nd-)XFbLj)&I~9qcK~F9c>$%F_G?ECJTBMV`#OL$Gmw3z(o*n+>i2?x zBj|Pnb1RVVpW6Vh2FEFJd|k%@T<{)%e6!2ZddE+%%Y?%?V#@`^7XQ1@S;^n4ry^RVvQ zb2Tvg10ygnMyXI$&}eajoI*x{mCm~&v{64Kg;Qf#|C7?FCtOZAV>p8@!Y>%%hr3VN zJE)G~d_G@P{yswN#QMR#r#N-1@Ld-bAN|LP53)bRwC6_-@6Hy&8SHPw7I&GdGPbe0r`=xD~77{-~I)CXkiDMz#mA$caaDXLqk5fUk= z-}A6E$VI+Hnv$bS<#H5Pb2L@MYU?SAXZdd9t8d|^{=#*npFs|5Oya0f=crMq^5X8ml&Dd0 z9c3P@onbYswO8STn^FvcV%6gDI|ge`rZ28`$ z@ho2EBZI(xjh$vl<545tP>QlY6G8ZvI+>GU`o7d!#+0nL>Pp_PG!Gj=VY3MI!Bw!`sA*|w>F7lJIbL}mf|;#am7Z)z^h5`fUi+0-h!d6ql~g}% z_ZL#%s{n+s4#~->Yp&j1Oq&3H(N|XhgaIV~uAts%AQBq%+D+(4>w_^wCr?XGJeI4) zmeJ1zsA1laAeh!;P>O2C5PkFWmU}NYN z1`?|eayNvE!C7HDe^~7&=2ZmQ;UQ}(qxPVx78o{yun!{nl$fZjpy1!3qo#&e?&U>A zXUFlv)&AD6tZ`V^egLA1P)Pp8b{JpWUQ}-QX5Yw$#$-F$W|(=HmLWe+h34{;s#B1( zuce2aq^8@)RY+4y&Ie~-Ni%`{QLbO9dF?#%T+QZ?WZQA(Q6`%2pY%H$ggC^cGnyPb*;IX@^JfLmZ`rpXM8`eAcdgkzTSKZYynPsitSC*7;t&WuVYwz|_g>)9RDg z@|BU@VT_7viC>-016HR|cGGZM20q&ihpy(iE`?Z|(rY#0VlywLMQKWVV_r$ogsI}- zsE??T6Vf!clVeVakw$N^gZ4dnh+5YP-$c$)(@s(|>wSO|5eXtLXSK#5MuAtOWJ;m7 zX@5dRU_#~9*t-@6<@suyJ!;f6{aRdIVsUElnkZ3n>`ZwE$dMyU%nvm#re!^-GEQCM zwsz$D^B|)di<gQ zYCNdp(1Xyl?zzVg{?&r6`w!>M{)ljP4dEBM0ALA%sxuf%;@0$Dvc?Bz1{u zR7zFRF-BOVXEm(=Jxhm^@;x>cc=li% z{H!P^O0=6`5_O0J=L7KfZJBOTIC^q-_h$masudFV)i;;9Jmkrkjw5Q=1`Po$OCN^I z6yhM8$9OtItF<2DzRxFk>3-E-UIXC|3t57R+KP$+e(fd6i+>HcdUD^Z^t1oPRoHdO zJ{svt4sd9$MH9ZB&5o1jcQx9>|kWM}$ z?PMA3#INqSjNULUIVw0c44AB}OL=peA*0;C7{7mhR5t559S@;z!ZEtpb9SBgz|uVA zPtv}oGoi2M+o?sB;`)Vad=`@?Z8z*`!!wZK6v=K%uOzEXImC!isEs0Bhaz2zB2|ZC zQaKqbtHz+teJ(k44YX4=gc}$9qGEkwwZ@gV#+OQ379_B1#hb=+UxU_9s+aU=bdh1RuII+r=?|z z{ku&JNLJ0iciCyiI8pvp0!DC^FXX|D_;9oi_-UU%fK|?mCKdDrt|q`f655f1nEBFn z*cwa1H~l6VG==Vf+enaR;`s-lLtjhE>#Pr(z>LCugtqvz>%1mDC@&zvS2b^^1p(L>PV*V~s?qc{t5@j(^Ob{zD$?&^Q4%V^Bhm+epYQ*oO4cpDqk=bj&5O7?I#?}H&DtHT)mX?Z&io(Lea&mHRZWrLEIpQt1 zd$3cnzdK4{udw_nu}sNXE2X48kED@^)i{Ze4Tgh5@Yg1$rmvb-S9Lz;eYEoR6+kH= zH<#xFJDt~05XDTS47%SvA%Nwoe_i6)TU`*|DDpV=9S}Bn?=Im^xr9bM+WTT7UyiAL z(SfcBym2BM7YQ}66O#W^+l&5{>W336e@^MsZH#UU_&xu*?vaf!F-J$%qvgKXFVpH) z4o6@6_npAtU+P2f^h=?oR=CMAqD!YJ`bNAI+i%#aa&un-Nx2~p^|bbo?Lbb=kiAAc z+mU4L<66`!hmyCFpYorN*$vY#B~d7?-Pkzlv=llFYzN|I{Hdv|SU**>|EAwjXfU24 zvS^@P*Pu|Q83JNnL9eaBL09eM6Qj6wZREUNvV78l9j#VJp~GBCU~&ekx*1-@P*U0` zyXy*NOnH1-xV|`bU&NJ$o(j2N-hwsvQHwe{ zyH=uZaIoJ91Gs8)-x+MDB05d68@hEgeuy0FRUM*h!}!?rJ0`dt!cv|S-9%-!oox3_ znTi8xX{6o6O50SAH?c3A~5lzqedp*XmFh{$sKM6w);; z%7J9>5JlYna>E_~>YgC`|G=2D2E~ z-;+N;>ng6n@zQlx5d`s+rg>(F1&e3{Xb2d(_bm|ejdd1b;BD4gIXx#pMfd}FKrkbC zM?={6Yz}Irx|Jv|0rhz;IQ&6J_=^Mo3P9&X753Dz@XRdO3X0uYDFe%M9R1Wnr8eXa z7G4P57F;|5Tfg8(aTFApG#+-_MLq{4JXVF7iZ53*!Auq=%+c(s?toig1G6yj3me|v zu=`1$vFfcCh3(dEOu)95{5p9O81*b2_A3Gh9NQlQ$x2n=ZAUAq>M!1HWnd~LB~>k7 zV_p*_+9K8kVP$P2co`$4(t)gc0iRUKm&2xX=@co}x}2n4t9H0df5*!1w-dT*O606= z5=qy@RqkLM`_{OPvrFuuHp6ZSflB)fvHpCCoUU?7tKP`DM?T}!Z#A6p@~iCXsS4GY zZVj!yxY@dt>Tk6Y7x4x=@DP&0m!uZ{c#I-mm!H+p;^1obanXF6Vq2cjT(hX4Ks#&Q z{B;xFmvJU7=F3`KiuC=!+CVI?9kGU1b*kN$jnnVf5{WKBmD$Ftn*W??JEGtI%KgN1 zZ5|TY-BfCTptP*j{HmCSy~?KUEs-@*8PT5&dZJLhI$WM#RU`doM#PPC8KwjCw#j@) z%_p&MTWS=KBvhU@AfvVs#_k4k3O_+TO|(hNw4*tW70F~6sny9qRU0mnu5U3w
    # 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 MyoOvA#4_an08*wr?f?J) literal 0 HcmV?d00001 diff --git a/docs/user-guide/work-packages/exporting/openproject_pdf_table_export.png b/docs/user-guide/work-packages/exporting/openproject_pdf_table_export.png new file mode 100644 index 0000000000000000000000000000000000000000..06df77bdf40626b4618d97ba822f45137aaa18ad GIT binary patch literal 99112 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 z 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∾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 literal 0 HcmV?d00001 diff --git a/docs/user-guide/work-packages/exporting/openproject_wp_export_options.png b/docs/user-guide/work-packages/exporting/openproject_wp_export_options.png new file mode 100644 index 0000000000000000000000000000000000000000..185254afbcfb6324e39ce18523b0857c378d8f33 GIT binary patch literal 46606 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 z͍F#}n|mTnai2(%CkGJw{4*{X;=sI=>%_q%X1w)BqcV>k;9aDHxXAO`c4wYRtT4m$+}g;&_e z!D@3i$6nF4k!05^SC;~)PKI0lmGBMsEC?W&(pDOOnUZpGo%Of7WB>A{w8r;=fdTiV z%hlIZ^z`+Y7Z(>77NY&lKuP$CiJ>8mYg$UAmNkgGhe!2``vs&_3XMkJ=qUFYf$4(- zAJ&-YdDh>~5SzTao7)Phc;Mxwdz8@o>C*$6{%t&#J15p0qBK=-SveG@;iCAQiG?NU zk|~MWVB{f~*;zBr#nsg$W8t2`!F!v(4kVd-EHk?yO#hyjmsf7?i~FYKI`lW`>3eDH z$yb(_wHh_pHP1)p<@H-Re5ZgT^;KUL#TR(VSvA&=WF-b zLWhTSIMq4Mv?QLx0AW%-T0hGr{6Yhz6H)ZlZzREv< z3*?_w?H?@CW3Oy8)c}YVMn**`OVfltZ8(4eT;zZ2u!|x&EG)g%)S2Y4obO2GO77_3 zY%s>?=e4HA{L8&L+y3Rt6Hd+>|KX59Ml%E>b0@Qv_X6|Z+P5g*Yn^qrl9kLH zqPe5O1WYP}W}x*>Q=vOgwvvo8uUzNwePpEl`X~t;4i0LIA6CeNn9`S+mA7F3fiS~` zex!vF41Lpb zzx{PA$%)G?g+ie#eDp7n&vpKX(V+9chz6vvWhHfSfnV}(gU(e5O%lsqnV9JBzsnvZ zb0@X4?en*9?}{BYEiEka84|gY1ssKh(^b724MCl=&ev@qPq8M7=bv)T-YT+P?6Iyd&&Y%-)3*fpQ`gT_nKKK4#0VACN z4UKqQ>&(nd?&S|60DZYCbd;wm~V?Ku=8!= zIo_u~WAbZsi~~4|4X#qC?aOJIlI!1vEOmNheu03~C#Ryi+a;${TbdvKd@S&f$G!lM zi#h83vQ_KcbF=8IPlkOB7C9NF67bJqM+qWsDopzIt^<8*925$zaOq{ap6VX>*;i42 z45YLpob#mlp35*+U1*4UMv}zm4@r6#O1ZwlKbsHiGzS^7m+tnIWd$w#%r8v6I@18V zpQ_DosE3IodzVCMr4O7C?FN{CHkbLWoqvJd?UyDEuoFSs|C1U>ev#8BV`D(HcA$#s z8AdvCZ%&M-{~?W zoj>^eHtXL^@-eZQ{ZZ%0@Cap1ytGg6f9xo0Lse2K`B!=arGHxZ#Zg0&UMyTWPyNHd zS#7;9!KKqMebt5I)!XAmyFc;_;{*BFuNwVlVHOzZ{&-bT-WB++jPZjwipQk0d-|X2 zB4Pf2c$Fk(nQ@*oIYgZyF-HJd16M$B0mNx{jlbT1a!`La=+D=sV!9U=7HI43Myooz zyO*qGZQf$G*U@^!jsg;+NRyptYM`(BY`%`T9_mTb^>_RyT2Jr9DFk7VNKrRa;h1Nx zuCC8oNvWocj|IXFu*(aq#X54L|L=_=J@QZIbLu~9PT;S1Lhw5u)O(%h^iG>QV3yjMy|;0nzV;9-X;b+SKj zBc*okMXM_oolKpSlmyAGuQv+DNbBjPcC=F_UZo?!IpsBjX_%q=V+Ptz~+oH73jXnBco)&ki% zIIRA3(5s7zR1)*@;?-BD0IFx?_5U%?)c+zwef{TwF#M*awH!~?{cowt=?Umu&((h! z^|RZcD_5>4DUy7C<7!ucC!1CuSQEX6JBQHBTVZ%V##h23}QT>dblkS<@n{ zlC|123F&civ}|njB{w^eLnV4kW6iV4bmLryv2QD#9xz<}*SUG-74JGi3M$UX94^CH z*8zt-5q-nM$C!M9UgDr4 z&nAiau`gg2fS&2Q5n19#^hNYtI~XUSg_DNt^u}<>vr*QFb`v6RD=D*M1rB>T{n0uu z=@jYEni4(e?My;RnIQIdl{gh}^<%PeF3}q_-!9jZ181z0Z$Cvo*rH zE`NZprg;l-n~8Pe*ps5NtS_;X5Kq-fsfkV;`g157RffL-iXs@>9>aiF=h;EvAkm1HjUbFiGL|OJNX$D6fGF=_Yh;T&z zgwJB;qZW}irejBa3AYzY*q{P-mV+dzKHl&(VLqBndTHf9;8u>ZsIJaW)+jzjtYXSA z-r9jcm`a=a5gX)hUHLZlM;Tc~83O~I8{vCg$f^@R)25M*xr6?DK1h@UF0A`<7UU1C z{TK{1(raURe9+Xl;4IvyMu+!H*-o!$~TCkfw^?Q?F zO)T2E4RuT5(uSQ@U8G{JRnBZM$^Fa3e)Bp>vWf9qA-adD4(Z|=(H{q7EhgNW39%~^ z^jAo$+|WF2DdD!HF@7*hrFP5NUu0>4op^zIQR8&#pKN7qNm%Lp1k-DqD4M}?%f>1b znf!H*52_5EcQ3*cUugI#krmC;qT-vHXXEJeMUtO0dCU|ZQCgr)YvMnfKmB7#VRoxj zk>b32s~Ns}QK?$#^FJmz)G|;T%F}h84w;7r`BOVoTOJol99vFOzW3%!8~vk?9>dA9 z!hG9_t$&;A{~W(wtU}kZ+_Why@c~NZ%Y)8MvDGxsE~$yt6ZKEfli-yi;ye8V!G8IjKffCO zZ&h;s_Xm@fxY88<8?=JR&;OA;vIR;Z_4(|+&2QGQ=0Y2-okcf49bp6i5gf{sibp#n zzPI!9Gt_1zMTJ#StJoR~d5OP6f-ZAHP6KXiEKRH|MGhpT=BtIRly zI`7#e5x1hHmWcrXdy96R+inDvk0xiLRl*4#ON4T7Rh$ZJRY{7x7uTATv<3R0=YQOm z>UHB?;Ja;2_D7ZF-!sQSn96m>!#=?atA0QHYYwuR5e0)AJ4J>PzB~9gQOER@*Gg3h zcH3=4F%n)&gjxv-d0Q%7ze@_b+({oaNJ#J=w=I1C{vpiVn}|Ba4Pr&3?| zrlLRhU2gHu;&>ozQ%=nBck8KZct`O+Ypx)A&yXra{VodR8gsJ}h|VjyQpva= z3w)eI&_Fg#`C^rd9>9``3pQw`Kg30*!rON!Bt+;$47g0}kEyvTvKfjyX=AsyFyK0b z^F{}Jh)`fRiP6mnSSraB_uTk61U+9WPuiEk!CuQj^Hoy9zZgOAozYdQ zOsQC61kMqUzdb6AmK}xNA+68BJP{@A}#k;T2^4U$o~d-aaF0E)Cdcw%+Hdj}uJ_ zV><3itv5t(x6y;c-h|XIj6#?o!&J2>iG!~7{LG^`7GJhEcp7Vbr48JS z*3i~7O*RiU>uEjfJsXu)qy3Gh!ju#=#>PKe@62$JwxJNIFH_hXGHj+M;WtP6 zXti23oUJoK@K{rz>CExLe*M90!m8m;n}u1WqJWQT-9WdCa&o;`e>X~@Oo^wkzEea zdxq4LBbs697VTfoTLVTLFyU)V7Mi;45Sn-I+q-!Yo|_QK$qa)roSjv`-7GGicg z8EDr<&=a&J;xqVafd;k5VW0Z&$OTF8K}QgUMI;J7S&UotAN91NnRt(B?-pxEtKqty zji4r4<(6Kv_8&lIy8>Qg!T0!Ep%+lJVjfJ+-1!Zj`aVLj0PK^*% zPogS_T1#PN% zgJ{RCk6^9Iy(W%alxIoZR(m=Y?3SF`tdtZCJ-3ti!!f)a{nB8Cx3Lp8EOW;!7eM^1 z>@?sT1EI9lsTP-;oa{5uldN^sGL%OOukn6idZ1ghG%uO?9HMbj=&fhX|NQ8p7W9&9 z65&TO7<+B93s)r9B+`f;Un%CV$JsTfiaaU{%bWEZSQ=c0LTIRzyxN%33kR2x{yXak zJyjIY)_I^j!C`w~BI3Xs<}y__WM9+m@Q^_%D_iEWqSrDG7i-CN3h)v7-b)04TUkly zO-@esk<3)h4+#l5Y2tv9>JC%4fSn}9ellbG@&Y~p;NE~f5$ zLb}c;pS!!eDHh6lEAC&y{G|v*(Wr&b{U`-ct;us~ig&J3lxk>Kwe`n9bvur7jFBI( z#_oceLBbP+*#5E^AbXb_8?(mp!M0s^7nlB!bsrKwAC+7CbYalD7ei8)dsErk=NmGF zp!N#=I`+4;^Rxw&S)h!bmy$%~mfUiCNvMnUt98lds;2ny%LvGG2`@fJ0oI=QF*O%# zibQ2aw7`Bz%23PDGBT+oFVb*hMM)KvN3FRk4qsEjA9z$%Pg#%)5QztNtL*w4l8$lFw zV{oA`LRHm>zT5<^=I$47jQBjMJ6b|oFw9lTEq}1ZxPC6J6t%UM>DfYnt(sODrhe*1 zl_&A#W5zTNQT$cs-U&3ZH^*ou0E`UX9J)ScEMo9apy3hfHin^^fY0(weyz-_bvOxqKCJ=meDc`iiw0J- zRS8yW1clyh;7W<_^-9!S9F=D3=Q$*lOo=FnPP&mAFOu`q;MHR#uP-o*FOS{J207Tk zJM#%euf?zLxnG~H%L*{RvFL|O)lH9O5UWx*=5QI3STk*2a{oAJ!mRdmZ)t8txM-&@Rf-px#+pN{UpR(TdS}ZMi0cXyeVO$q)CA zDcq_@`muDjV>#PaUWN_7ID0My&5&rm!7Dnpj8vvL{Gzr{zZnR5?ALnK@6Y50U$P3@>S4Qt`ed=S^tD76{1HxC?My)>M zDQVvm&gg37?pwXIK1{tz%f`fIttxO*03DPB zz{F}QWPrnbxS1@qc_^r!PnO>B^ijUZTm0%t!o42PGl^Hyy?RAwye3gcjX9MF4^kh8 z=wxk_{L2d|VJOY`(J%4R)20`Ny@h!?Z-AUjhh0(&Ucp~o8)*#c9o!Y;Wd@&?&`fTI zXr#XJxLru<<}`nYBKR|o`5eA?X;j*Dh#;+p>tf*>@x5J_ak~qrwS$prlQz>Onf^i^ zdZ!&|{9MP7n&DtZ>e)G!a_3=cL(Q>YH~$oamXdSat`jVAjzq0d;B8d zl);g~h=H_+UHgswN9pwgF?S(_uzno1Lguqw!SsDrWybF(r}v6-Obg;|&lDGJbz?&6 z=j9y#yTDCBM@g&aH+;#CxqVy7u(QuwvEhG~wcUI6uAF^yfw1xX*XFrL-!$MX}GOAAYdj zZfNXATTVc*=iUwtqHpuMEqtY#@S6^bJDO1Ab?Ud~GGjia-Xio`+11F@>Wm&O^M?jw z&W)Wxv90S|v|3iDF*={wN$xupv*d1UU2I8Ts?*`_UC;d4gCBXDHf8gXH)5e7U4xD{ zXy3g?X$}+(!;P)-V4WFt-m8HMwZZMXOwa~FDMvqqj+9=Ixmx$pqDd2z@Lx}oo14(} zx|83KBI8Gs$#HcovGV%AattY2MHA=!`oz6{a8B^Qw5i%g!+wa7GW<(ptmBog-P7D9 zhTxI;SLn?f#7wVQ$TYq?@zVU#4@@6e!;%JAf-c*r_NIQKz_kf&$%L?H^t1L^BPeefdN`8*ttC1w>(km3qQ^mJE-<^-e8!`bYA19F ziNK>yknjAI;GQ)gzj?y>v`RCU6ZgxIC_BeX9O?+KKgsgWvUtpmEqO(0h`TnKuMUYA z9lH?QT$_gbjX1H7Vb7<_ya-!wye155R)>?0bm{KO|EdCk80RHFVC>(xZoUy7<80M= znJ{|&Of}8m|HIx}heg?SZ^Kxqh@wc`popTNw6rt^-7zyXqU2Bt(j_XQASf*$AThuM z3?U$`AR;X>bO;hMbPUb#?E$mx#An1nL=DD z^Id4Y?CsuA-$ z#+?|*Au`(=a@gaAO>3E-!BT*q6)9eea=PI#)LpMx4JX?t=&8&5`-MwA_{sJ98P=0C zFMEC@x~MR%R=V@pk;NWvJlCPTM=p(fVEJ}b6g z9tM!c{~9&*C$dC>F9Fl!{}vd%lIX=&afOOuPLA-C^bly_98o{o`qXQn)&ojH(w%B^ z{Ch_)92m&>$;8oa!G!!V6!H_{r)>m0nZJQsvQNr?d*cx%V}9|7_U2Y45sk!+w^-*`8JywR=9WxlL zvngIYJw1KYgn+4tf8n&A%Mb@!66j=seOL_evFJ9Yd#8aa*T|Pqr!+p z9|q_FJ3BjmfS-{D`u61s&0z$ERq}s;Q2Ye1|1+Q*5cNqvab7bH4wt$L4kx8=f_DAI z5G}L{8ziy{zqDOIg$-S?N;$PFM(FYc zC-n6vxB7pD2=~80NN17bVNw-_4h`kOV1)2}U1tFdZ&FBhJZya_kJqGAo&0tK{iP$|M2xAj-;@dw&O^ZZ!Q~yz_L$U!H#HH>mVRB>Q|9qI9wrJNa}d%6nSjI&ZrS0M#i0ZmqOy*!id_(ek_#fnx91*4Y6A zfZ92Y+d9?vN>@YY|>m;Y4N|aeP)QkiV=h*s2Xsf`4h-ty55cRxCim zyE2f!aKmd5}{B!(o0Vp28H`3`hbPwH0N#ilkCg=$m zIOTiHA2mX^AP(M1f!F6|N&9&dN@hz0Oe&0t?Z*0anBC+D7P;hO=u=yMG&0|1>7f^G z+sFiUaZ%<*nM(KBqeGa>bcC~7b8k294IX%dhAS{9gwAi-9)d9*OI|VWmFgb}?Xp`x zDLiN-!Tp&>Tpa+eVk;zpVFOXp8cYDpS})sTZ&ZM|XNEXHv)6lpFa$ub~z`h^b zSd7_BmN5Hp1_z@4fLgG7p^b`ez5>{M*Id1%iE7|-lIh+B%Ek4XQOGL1Badjoy^>#V zEQxiQUEh8X{1|kY!5KOzQ;f9R{KYa|&~ZDr|9Q`Nb_z797;U{$K5CE1FG>c~0qEUI z`104;5?`X27nbK<^Ff~pMtSIc8y!LP#lOYZ1Vqd`PqHcA&Hy8Z$MTuxzmFJhK;BF@ zu9%4W%?fk?M=UP%Ph72^UB_o+k?>iFlpR8Jj+W<0H6nfP>k}* z?Cj)Z_z@1){{DU~aR~{-D>OQgYZwal2@pxx7jxgoM=Dg|i_yRMGPx<#~UXfv@f9Owm{X!5YeaFm(?^=@hA|BqI0VbaFtN$#5Y)Z?w zGnMnF2AGMXE6%X{@qv;m(xgc{Z+Z0{^}o2+vB;5zIxDJQ{90pdcP}OB{!`EvrJdc6 zojIYlR*~VV1ImnFApJ-H#3_c2L^S=&9C?`?2&Mj8!88Em$DIS5jef8xwKJR2X5MPO z3xh@9(mt9&tqRDkNG%5k?2D#`hLOd!2V#;E5~X)*PC(2p)UNARrvVnXhAa3mv`E%O z;#<9R8xdRAn*A6AkE>Q z)Ew$RA>A*)j@!<(M{$5^?e3hr<1fF5-9_#}(SLl-p56V!?LVz4xk!bG^ga8YwU4Tj zZ~#B$;J)=6^ec4rWCME7aL_Nd6&E|`+AI|jHteZh3SAF<2BMyHsZ&I4uu+NxjBX5% zkrGk9HQ@D&$B~P(tG*V1nfnQv-)|to0#YYTI$4Js+X7N+zewHJtkbEdnK_YF?ld2> z5%oq)o^-CnGAiE#ue|ezSH_tz!TPQ6y57^D$`JGXri7~KkXm{<{D<+7L=Zz>9rBC{ zLtbq5&ETX3bOr;Qt3y9hhe;s-ZXNi2nFkT8$QZR3Z{6(k(^(i8_etgyB25*5bN<|@ zQ=`UUTM&N2*KSvYVugoNIfqsN^uYrlb7~^S=G5mrEF`%;i8~|mXdHJE>&mZiJfG-SO zlz+2LQDeL?6R9JNfrGrM@73eyT!@tnrB&3VM>D!QI7{j+`$`P=?PGQR@xVGc*GLKE zUo~Ujhz_3 z7+rDcsK^E)+WYeE*qg3&Fe!O|y}5lUsuTInm3?rlN&Dq?5Iw=WH}JC8z0Ct%T)%i6 zTKQ`b%eL1Q*_pm>gn`po#Z^ilr)L{5pQQ?k(FECW!@5E5mCOA>GG60D?*V9L3+XQ- zY^lGfuU)b}Q=ECUKxOy`LWJ1pt!5LZVlL&r((k?!=(gRceHKsxyOMwLLnFslQtD0C zW@pPcz6lVa8;uTU%MB!!8xyzJr}HW%DPw(Brg|%g05&u>bjR;Y$C&^Mh}Wk7oI}^n zoX++1T}ttFSLg|>O7|`_D)E_!d91ZQ=sUU~UqSqMzfg#eY1>bbtD@9#W_9RsVnb@G z!5W|v86RJ|e8@=Ye8JvF-{`M|d!zt1))U#zO_CE8cyA?*Wd8Qt%5PuxOz`g}?jM<^ z+lw3BSi`RKCcXsNpLDn<{kIoUwQA2H{759K`7Md*TAKV*m5)IVZ~zKnsD$kyv$~@nZ(OZ@d=fK9&H};a3v^GFIt3 zxq=RUTm3mO-E!|ec)%(LM#$%MDxL;fgUAi*y4)8O{pR9L7WQWn~dW?v? zJb_S!3=W21cinuDiJj4p$7#2AT?YH6{6o=?XBP&Y$(vu z>#)PKQp5w2!yXf_ON8JK4qs#c6#0mIB$QRGDdcQbE$*Vhhbi|QyKWsq74NZ?#`Auy z<5=_Av6s(f4i)$$<1f;ML@mb$dLuqhyLXyMyDp4WyOs(M<)3yv)R8Pyg~!4M*9Pip z1+X3E{*_q6sQHv*^gcR0*JSF82^Jao21)P^YN)itwpE5~331((*K37fFi2-*PaE<` zm=SoopYXWIn`4^o_jEGPk}^a!4#um!#TfzWzUwMWpFE}y*7IJ{fiQgfW4={Ob}=*x zcH&blxA0Bw0SZW7RJI49{o|NJ%h!{;ksDo36GQLCca-TT;+ONAfV}E>^L)+C+jb2; z!vVZZPV3Kr3t*(CCyD9E9rs>Jk#=97_&&%Ny)ZN??Xx~1y=+vnHs%^4y|t9M`9;*T zxlEzIOwNv!g>ACB9`4E-?kc%PI2JOyjS$eziTiODwVCXc)AO;arWqpj=$m2Za@PS@ z@o=B{2F^~Nr*aP?ke}j?i;t^nC}p`_meA|b*gYqD}Xa&<9$L}m89m{>sGu1%sER1 z-_F}38T6}GwtIQKx;w^n8Pj+xzP*_;*oJ=TWiSz4jF`GlwYfOEz1_F4z^y(PDXx94 zGq_Q^HE@ERlpYSoVl2s0yUh+*8JD&t zT@szT^;hvL$pBzvdgag6Kd!R5bT_f~?3FLac=FlNux2U4SL3S^UUO>I>uY^n z9rqjZu_XU&t$?MPl>2G|Vr0vA$+t+TqMV37nmz#z19RcIeV3&#tB0*UrjP$Hoi)@V zFyqb=qdpehp6@V2&Mk!&aO`Zm975MVHPbhs$T|ee8jXkPd#L-&Z=TXCYWHgv<$POk z)4Gx1B(d&)INGauDBeYH2(ju1$sV0<0R3DLjz4FY`WSq5h{)$I!+3 zFab*`=hf9B&doBaj9{^dp=?492Z6dXcf81RuB>_M)=M!xA%iQaFW%t?no_Unm%a_Jaune}Ut^o=*)&5#RKp=KS$^P%h3Oi{2IU-e3Q)r^pe!pwf;F{;G*gzr_#@`!+} zao+9LhsPfrYt)#|d=&=`E~~Fa`QP}cfM%BRy)+t3?jluRp3(D0-{8WQ7|>K5jk-Kn zC+#&o73exvjRlO63#w^3H)h@ujl)XBh|nypyPBhf_rB_aC+=Ve-fLPY-`#;iDmjFs zwR8zanW)t`!!zDdaT|rQnr^GMRu{-_D3#sXHov1(ZJdn$EZN-eU#1p)D|ITGCjrQe z%wG#In3aVMwkK%@Aik8D)t6_@sPZvOd>1#Zn(EPuN;^RWXGY@}aX++PCJ5Y2S7t)- zQBj@gGiQ{%Tiu!TZixqX!E(i#seo2s@O0sT1pmk!?bF1nvSl^;NN?*8a>dma8K0pF z2;7~B2f3Y(EqNqev97J)ozrT5@y)rs`hgtpZmc^;5G^iqDPPr3;J`{`I|R5o=da$0 z5!cGe$yo5{%l4R!HepQ?X4-LBt1XhTIz~l5&gmYhhM0sKv;Y9Ae3iHFO!r1PHJL6A z?k6=`2t|dN?uQ#b65~AAu+%e4; zC~8fD`#rz+cpFEw6BYg3%_lPE#V>y>AICW;9Nc(bP_A_-a#?~mlP(XH&^IAjR73sZ zVuYWXcD_`^9ro6~*vIKvc+Kjmo}#LXmCThJQgcm3PE`F~pUVz5lr*3>1t>fbYZ&6G z#)@jYV|?k^+(~#EKbA@51HwvWaY;&<8tkMeGdi}Rob`-ePOTY zA62tmhpq4!W4Dxd#=i0XmQ&S4^)ZT$-ndvl?oJHC_;s^J)uiT%adAy8rWWXAe3a%q z&$t^CZLEBTI^oRvblc}cIa?vQ{l=N~(<~3E^IraV??cqARMHNl0s;mc@mR*rrIXzx+ zr+(zflvlox=yJdDu~~PV{<-gwC6X7%<+KJMXurKtgO=s!R!tVIb%>4|tA1RBoIJia zVkb$T)k!UowH|9&fkUS=`<6afIT^72-L`1<7}=0ia#h*B0BoYwQskqK@^R64#4d@U zSP6MKL@IQ_wQIj*YR|gHXfdR+vDQLbC$VxUpIusv=gdVno9H-^M*8vliSkT^_rb2y zN1b&o+S}QSNy+t7v~z#LI-`B|NWy!oO@;ib3QA?F4y{xM-s4?lg*}v+WwefM-ANba zmGmI_Dl5#A9u*bA;47oNa|)8F>l0vzQ9k3M60=1SkA|RTrYJs6H;dcN_ucGnfW|A-& zYXSJ){tLlnHPhQ>R9oc(LxFFYnGI_a#?x>*byKHM(o?XB3uS=Q)OPmG>QJvk={>D2 zjp3eRNHuX5a2!@Y1H#1pwT2w^!#>4w{d7(f<(5rG?i-RZBh``VGX_eMtH&=F8u=0x zh~<{XZr>lrH3{8s+IMKSGk=M>L&_U-trx7B)P->^a}y?$fL5ma2}_6c&?^Jwjx$~9 z2O5(`Bhf{rhtRa0*oIu76v`o|=^srl*pn%8bJEJcPx=*N)AyVcl~`TESV^!$zrlsx zCS9~A&jH?R=zO{HqX)w1WZ9Fe-n&$MMXsVB0ktkIEA?}f+R)1`H=21M`7AKO$ z`CF*N=12;>pCf1zE4A{<7^3$Slis@`C>An<*6h3^+GZw2SallotTAfAx$;P*@J>8{ z_Z9W)8FrcoSr`DnL2;{uY8f~04C@cQOdQ$Nu3oD$xVl-_NJQHZdXz5{WX)J2*BS&6 zrw<)a&-hI?(uDD=48i(o#{dOV`qf%`?dOT%P5dZ~)ml1omET6!@pX%VGWRt0T;#r@fwq%Zxk?r9(Kqn~(faC9FccwQ5nT+lIWp1)>bin!h zJr{$7qJF(iy5Qm-F1)kWcgnK;*BA~zA^iWnkN(MNw znF-q$Ss(FVW+1fK{+kR05#60IQy1W8x*<>Z5Vs^HB}obHx!o8_pcnRoLd4(2#RX-G z3}ZhauiZBBPGrg-XUKCo2ddOA8D%Dus>RM=ADq2zaP#!Q?@2EIp{hsQ!yRQAm)-0} zU&vU*2kV|a z!^GAL#t8hBDe=24dhOa3AVhGzpVs=$og1*#-7H4OMh?=L+DiP3${v6RjavJiK=6;` zJ@}~5(4U$S4acJJO^Q&h(Jduark_lNz4I~Y^|$49jSl>-AF;Q1!N32%u6*}vzSK`n z0ja@nccl8{_c#@M_5}RTb}iYn$lxP8+43A`PLVDm`}$&UH^~M32Ea>by!&{E z2|*ScviCG$9t;KGA1K-yl869gGERGNy3$pQ&oU=Hegtf^=}R|`0|J4-k*B!ze6GRu zs+&-EiHfB?b%8+5We7qC8QNX=;2YewsrU7AAs z&YxrtEp{cBo<))eK&~4f5>DLxlT46%$L7gm1f_PGR}20Oyz8#$c7NDu#8|c;kPc`>17I3? zc^}#B?|Wns^Sir5k`JGsLO#xePh2E@A_junQm#v#F?Q*FH$jd4|Cxh;t z%jTGJkBmA*mOb=97@cUy6D>Tl=x%hXwcXU2Jr3Vp!a4`mLiTeO427~W0tDgZX-pxy z3mn|X$Zl6nfHb#1Y9x^~5yy*bsLSw4g$%b(YwFT|v?PV@<^Mu)sNYZ4bx$mgBzofH zL!=-lgj(KQS4k%_ zR{0KzJf(6zB}^Xz0DK-^US&mJ-wH~!A3$hh3W2EPpo+ZjJgF~0;nSZ_Ch@@3tUw<9 z(vkwm*#2UX$A6WdKbffJBQdka?i-Keif5uoWU^4eSNLb)-fR+urGl{%<-5OAi%5#?l`Pa7 zDDISY9r;t3b@xjqkD+CiSI$ZiD-9-tFkptrjO>Xw?e?NQH-jnZtaOV z34;p>Fri(&%x|k5b@S=Wp5MY_A`-4zO?(_TE-FA-q5xNb?4;^FqX# zUxPLF?9HC(A}u;BT$iAp{h)b>H(||mbp-<0#lER;(=`F+&B1I;(j{csm3Q5pFa~#Z zaR3C?JKDdo0`O#FsmJW|PL5ANuY~OU-cd|Yy(e0F-(`j-zEkZj#Tae`I>4G&G#V&Wm$*CMEadIppzQ7Mbyk(!aJ5Ndtuq z7OlRRy}TYhjH2h6+>I_Pg>;<%8iF&n7wrHf%S!ZZU!Bxj zR^~NOn*fXK_o0Y%G$jCJ19>qOp$*q{dW6qlVsD2YVZ&78{0c!*ls2 zeRYx6_MG}a?q=+^dV+Sp;_QpT;i8Y_ZOf!C&lJZ5erSx??4((xvsM260l!1OU0qf9 zfN^F>in`%DbI9y_^gXqM#NoQ2@~`VNF^Bub;-Nu$xIt^cQk{p~)HNzwZoTiVx!EeI z9xvjX$#%~fg}pz=y_R(vJ8_334Z5=sK7>L(1xjM*N<6pwVJ5EW6eVlxF*UP%ygbTG zt2dB^dXy#hB01NFnXDjtv%*gzRs~QqY(GJ^amey;{y=)h_b1|g4Cv`eu3hLJS*~t9 z1kezC-A79XJ+f%@mAB-+e;QnAmKve-_pu_;R$%$r#Uu`&_OOk8AU(*v85=^}MZ~t} zL_e@5QCELord?GiR~CmD8|Zko8mSe>ndg+o#U>ASqq;_diwYev(g_jp-k+q`aFw4 znP|~A&0>tV5`Al!)Bu&BaQ+wua6y@iGy_Er(G{4?0=?aNh!BS80glK4%CJlx$sa_f zh7s|1c=7&DTZt11#VBQ=Usn`6Gc^7#a-dO+3E5zoAhsCj`I@jkIUeFWBQsH)gYZ1T zTwyiP&^F2>b`(@N2R33JA_;0V*AMVMt1lS*uuf>C8sJ>}@H*Mn{|~L^@Q0{6Q(|eG z*Mxw)4>T=}oYaf(W9VQKt@n2WA@l@CPI@R{&XC#O+4HhUmWZ_MZ=c>9Xr-(Cz@u!U zH9IrJnTS(I0!rra#ori2vdq^2qBJqCW2Hw%cIKzi`Iybf1Xu%J2dm%@{_r0pTT4>t z{QEBg>;#!D(iDq({fn{P^>B8V8Ob&Ovk>S19E1NwBL4pzga7|?3>FS1xi0}of^cYG-iJ*On%xV%_OY?bH?;mQXUA9K0J=OuaU__pI;yxMQ z3c!Ht)wXM*>xF=f=%-z>%^ht(T91)Gks20)D1FkRZqcqVG!zNLmS}_Yt*vii5vlx% zOL*8O$4URE5e4xX9;^^z3_JwES#&aG)FE?U~*}@N2Npdoo`aO%3 z;Q2$q9bie^V;VtV$GOxNF>Qi+2cLKyl}UC|eMT*DtF>O*iTJ^MLmUUh%t@shuI(L< z4ebJ?Ai6-8+F9wIZVW<4>iTaoQ}4ygdTHLvYiz;D`hKSOBOt3&FrN2Wn>S#Y#v4IS zmzh0fO!$1q0xATz-Il*Q6vIAQIah7-=!D%|6<}P^w-{ zox)!I>DSy3yEM{u-KL*29#7C8x}-j6{Q(`F7+HXLi+$;uG5JGTv@;$764%S6*YIeQ za?ThfZb=X0<{`REBnb<~Lu9va?z-p0s_}ycH+7wVoF?=gxTrQb4`Lm`=TTYe1hF(! zqSDH#F2VhF5AQYi9Wi`&juMTI4yiMwiuX2oS+eP$_#_Qj`l`K?ebe;! zOg=5KiZAQDeayM@gc}eEp=Pp?4y6xcr=+GkJ$z)Z!iqb8d(v~h@SU6ABS{RD>zBLj zRRf@^GyU3OKzk{(h6xeEUI^VU%#hz^uttp$!aR*V?;KN_0NB1{R(l-(_ns?LH`x_m zs~d8;rVl#y4Gg7>d%LQ03}{VoknW`?q@#Qnm<}-a^qZ^&;1G$p@8NLPx3yutd*I!0yG=T>^*_&{`Q|ip(`Uon7EQFElE5*HV$l%fCwn;hqIx7$@FT* z%y9xtg#-zwp-O*;%(K2z0u1b0r4@N1_g_O~VJwS=2J*tQJ zsiq7I;r-5UwDP6TUvr!ZF7$O98*zOj?K%;+?X%uh#OYA6GT`Y@y86ax^8WYb4X5qVnvSx$)M9%KY)M^KA;H^x^nQxRL_!Vh(cwF^IKELw$n8ZE2sr*C z&{6sU$|o+(Evp)jYnz$we&aGyZfUY^;~Ex+-Con48LZJMddF-0{UYh8w-;dQGJ`r8 z0^DdtYHs@}yta{w1Gis>`%ToR)>qf6JMHgnflwV{cb1TRga3myGk%R6f{p>de^ibm zRt!V8JT9;%>;C1T2zYE*~M>^L%92R{+vT7C?-~1?Es{b78e(b zdwwQnA+4bD9GIrYM&w2G^IN3q2TF8wbW1cp6?Ef4_F*be=vM{7nx{{nF1h_o7Zdrf zBxme~vHx0{sLtl!lqTBCrxPcM0YPL={|B-8-EsnCQIjVv)_aEhaQc7`}Q`1hT@PjEcN;GqeerPqy&c@q^UhTwFcBT zd7ehC!5RxRfwU1M*(p#MrFMJ~)cJ68bE^qqLe>32m^)0Zx2MNUCL_@Za;Y4Zh|m-h z7Y7sr{sX1~TwF0oR?s z|F=rX{Cmq{uYrGp0sb!q>+-Xu6Ki?vZjzU3{v55eWId))$D(%^5?yl>Ab_VlYUpS? zI^E#FzKmYq6QOND>pm)ZTgj;0%*I5 zUX4~9Ra*Rlf~hq@Kj(v=-@e*A+S=N^M*QC_gzWC$&jG7uM`7C3sMr^1043hiV4s+o ziRuB8&LF`RRcQ)QPy{(UlwV!|8w3jNB#?ks@XHSWYeiGze^b#^d3R0h!gKp$e@sk- zf~?wCjTYv&&CG7W-m|~U%hNut9I3)^EjCsyz08ysGv+AzJYOq$Cg;)tmPn=At00;H zez!0GXNskJ{kbci|Ieeqq*v{w69c8UznLRNy5a-RNv^|(4MD_GGAV??fGNl0lR%Lf@k&*o8;xc>S?XL+> z?H;BC7^yK2k8A#aEJ^quF#q3rFSW?~ZWQ`%xEOx135BJa^cI6X{tspWuiDygvQ04A z?tK5MlLf0#QLvLwdRA}8zD`dU4t9w0@{G_7q%U|Vr+a)CNF!bN^$2?3-+LJd0&kV9 z_%7#h@|Mpf5}OmtHbg2~&CiTWCrUYve3{tB)YP5F*q_}s4Q~hFC(yntpA)wSh{&9w zuzuuWb+6g+GYonai_avcFAlccH9rXz3E7nq&~V82$E}nvuJ(1!b@e5IIBZ?B;r6)i z`ueQ7E7j~q+4h`Yg2jQ8(6|@B-|z%yGw5yxwwl3V@e*QGsI%T@T@SGMPxiJQR{ZPnXrOQF)MZOr27C%5yq zhwKYydZmTv7tx8nv+c~+gkm<%30pW>-ixBU!iEuM`1yIL0G!SCjNi~uP7Uu5%{Vk? zMV_ad>+<5|^7}LG(&d(eb6tMpK2y+Z6a3p$#E*S_>BM<<5wCqEjKm?A0OW~LEN!S@R#<&FFGn5_7#+Pvz9&xE4=Smwpv|1bfDQNvM!1e)DIzPX2xSIaR7c4jXrDe z-sl|vw_yA(ErS4+#1zlpUuE|0E$tATnk80jPxL*PzK7LUy(WE6TL=?%G{L^LUow2D ze)Hw{o0J@GhMfv+e-YW-HUDoRROoHOHnHcU>36NRY?HF(KFN}rDB{p_hteOL*^MjP z)@e_(*DJQ#o^ZPXSv}PE3{&p2f1|$3Uf~ui5JlWxCq1&r0nDaxV*IRHxfZd_*LP-g zMd!7U+K!EYwshLDj!ZOi*BtD1U75ugIy*dncW=sk{DgAF`r3-x*{}t?DP)imysn%`@4JZJUU!`} zSz8}M46Y?2#(Ml~;x~>mdlTz6fEIj(`%2xSubTqIRz;WTx8GiI2@473_p=_bhqnC# zZSP1N*WZ)&Ce5X{I6A2RVt7X4;H+T?>V+z|q}#CPjJJ<3p{KL&A%{!)If?lNgtTGC z1x(-y@w@bL)Q=`)NIFL@~^0Y@9mwLW7+ykqz|=} z_FQqeQE1>;H^@u$YK-0N-&kfae;zfC#CKGoJ}J|Fy``@H5;&#)w!)kTE?&G?T&bEA zA0H3bMVZxoXlZ{SHhtXFR4BS$5d(@)ykuoKiPTYgy6d99%@oB5ml;r@{}aGM{V{ck3-{b4iSA=D)iLNGpa9}j!v?bgnc`&s>Ry=>N7 z-9ePpV3{g~RT9f1lO9^#>rjy?a&G4{_FZzBAfpQfCh!J}6p)@EUD>bL9=QA()r#63 zl9PA$9HBOVPmpf9`hGdl%eV=0UA@b zghd1t!Y@S$bldW*T8CC5i~Jw3tp9lWf^^(s6tkXLQZQ2V?7B4Qda5TnCj4PB_tL8y$kx;T z3hFmKP8Gc=OH9*=|4`>uGP$s3O`BT;>I94uvhJp2K9&fQNReNs+!2BPi^j#-{*t~F zwj-}qsbbrjEibocti9Il;b2!*t+33wsbt0@gr85iGWXhefIWW!EAAoBR`E7XL{Z_4 zN#C$4S76&=<^`_m%f)v^qcu)@winkP?0^kPmPSU8M~*7g&Q!ZVk~2mlJiix^%#yyU@0qUq}d1Q{PqMid8AdzTN%! z6DZ6DXeNX&*rC!iRrC9u5Rwb~A4n`pTMy=TcP zF9nhBhp(D8qFbk<$mJPXB+HFkzbZPV%j1=xykWB?`TW~sx+c`}jSm@pK&g~g|5urv zpm^BK?DrDa*{Gv(@|}GQivu$r-afI34|+$;>w*Zj;E-soSc4!BEtHei3za|;9J+xY zka?XCrVF)hj2j3t#m{{k7#)~DbXiX6jdl_mt{bn94|_5uNzE{Rde&dv#v(y)Mmygx zn?oJWqjV1FnXKF@q3<=@!Yu{TL!%w@2Dm)w#1R^m*|4xWHPpm-Yt>Bh8}3(iQOT9% z4=O}*#6M1lEBBUC$DBV4wQReI`ea}kBO9s0<>KLv3;LLQ5RxpYs2e%Lp0qSOdv;L^ zA!u3X{L*(ZUqza|4_Ru|5@T%V}E8eSzE8%Ybvi`6Ue~9FamZ%15>HYOb2pweb z)%y<$6goB}w%%_X)&Is-!JZSYwM-|7APw(?UcH>Hqj8 zA7A%w0j1rPu0&d)l!HJ(G1aiL8FWzNZ3_!I;k&C`D=KUk-62o5e;D#|U}BA~6B6n? z(`$nCc`-_IS|4rs3e{EFbd=7T^d+kqL)rqWP*)G2L~SV~93E06hAWE$?c8=mZnD1Z zv?)%~uB+B>EH=acAXH{l1_`Qy<+7(53MeG|t-zo-*j$T$mKDL#Drauk=RHH*NE z8j?P%Ln90&P*173Kdm)vC zDf3ky{dz`u0g}`s?jQrBX>4qCc6P263D7yT-%ctq`UW!Ws9CP#DTTC9Y{M;<3*mNy zk^*4B!4;UqaVmChnF zR>UpiXXkjsXrae+Y?76O&gdnmB^bd+P1ZiQI_H;Z=SG?djchTUJ*(5Jq3KXa53TC$ zo3#645jt95Ia*X2q}xs&x=-&t=AjCf0@r&1D_a&xcE`dExo!#}ykaLvkXy?&SQOk4 zun%*zhNseMneg~6-4R|zjfVP~57nk(n+qHU%Yl@ekYU#G=;g1rvgV=#W@93cC|?E# zyW7xO72+ntpqd>}RC{+^2fJ($IWz%=6En#G<(q|}U#41L*L#RHKFDFkMi2O37l?@R z{9@)o{uuKdg9EI&Ct42Tob~nfTC92s#%aJtVU2X$N)99@I-0cMkB4EE*+UD}quBfx z4Rs+$waZ?yi^w)3xLx#&$|E! z!a9mguKa?TZn^M&yF?Tu=T=V%U`%5D!=ABBM@J~+3Gwk=7(8jLO?w`~kJ#i4uT3`N zwH;{_H=DqtswstQ(YbuY0Ea**WJy2;2isW$E~yoUQxY$?%ez( zFO=%hsCJWhbL#WbX{#=~R8FtFCu|@h_vG3gD+h;Y z)?)-5i{vE;r_OT^6A6Al8dTv;JF(egx^!1YbBPNyH##&5o_lcGc%_@!WSG~Dwf5#< z)#c22kPvKraU%{^&ZS`-QmUdSqW6dr{SITH!_2K0++X5aFQ)vw;fi*h+$+NUgmW^b z8J^o63%hfW0dD>IK&mfSK0fY-cfT9=3wTiFAa85Lp(r+1j$06`D)TM_$$YcfpjJ%S z1Y&{|27Tw&x{1Oq_Si8*(X$GmqVy7A7CQBs+8*r1jt4kd;XH&e91K+|=Wfj4+-q&3 zU*ZgD-Up?MQE9%dVG8LmG>U^;oFnj$#wiy(EkxFrxo8eepYZZ2MI6mA^PT+U2Qf;6$d-FS$yhHLJ~gpR&BDy=fyj(i+k+=)$ozwx31g%pbB7V ztLJrj$m!d-tWSh%Aax0sFkAy}RcDqbKW=ZW|<{hQBE!*#yUqdIRO zT^dVxZVa5VevMI0_p&@P%MHW`;$-Nu`TvvS*#sSGy5#nlaxUP58$q%Jec2Dmn!*V(8lQp>`-CRSn z3hr?CmrKul87)sc^y9aV>qD7OiB4LXc{G)RlP z0DfT7+vXTj%LI8tvV<`UYnNoGKa*s6)y+h3fl)k|S4weAD=Vy^l!AcM9?FNgmH1P> zPGrs(l(iEi2xSU~7H)#n7zV-sFQNO0Z!1fBLDE|C{*h6%YLYQV6yY_JdP~^HKmLXS zq$pnPIQsY%$6d;^XE5cFd_@Bx3`!yGDUP9N?4y=Y8GY5}OYzc6X>2EIIA+~lc?TvW z$6D9z=0LeKbuK$d)xh)j)UR=in;X62(<>Xa{5cJrwc5vFx)^K6rXtO3cfBdLq!Zk+gHEk#iU+l- z@JC*|`$TkqQr*PDn0kIvpbk=#a7Y?fYG#sw17&_O8mt0O6Fa#=Ya1+j zypHk*uTh&-KRL&zPKP1f~x1?&W@GUS0=FP79Ee?m+vvet8_tB8;7zla1j>KzkM3n{Jc=I-uveiFssi{J>_#0FH~1k;@HfQy*Vdm+i{N6>K5eHOY#U)1WeZ$X`PA+)IR<4+(C?KEz( zMU}a(N||dnBs#KD`xg_c)n?66i{UH9A{#=ANfP_7xA!W+btE0W%_s$Wnq~_i0zdi* z>F{cI_*xXf$XSk}!z5TaXA)ut^VFs72ZhSL-IU0qTDymkqDaX2JO@6)Nb$8tpZah{ zd!5W^HR?I-(VVeqf036yD^SPQx9GMfPu|&UC9|}FIyIDWc5k}%kqnTcJ3b<>_mA>p zdNiufKpGR@d9xwI$lu+FZ1_#L{Hn6qXUF4NcryiN*{GBgjA&zphY{GjYjBzTF*ZVa z&72teMELsSoXuXn%}EOxp6GDesF?^ZrSfxTq9}=M8NGdav6#n{^)mhhkr*d-ew1;% zho~{+_ECOR(;6T0X!{HJW6oCPa6>sR>chLP8Xt_wdsid-@j|e0dnFaA-ztrm5PAs0++ovcE)+;qX-g_6%Wl4bdh^%|5Ol?TR3Xgme;xC7KOdKhsu!mz zB;$MW!W>jZ5*w|CTN=n{Sa2%sl9;0mF zY{xDrL^2AA0H zAyA>n?FCAIm!BD#yp>ssqTtei%A`e1n7?0GkK0?&lKC)N-A7N<3F$Leg;ILHv8~yM zpG&fJUwm_qEa!fZ>jB|24A=`=b@?3lD{s!-ucg*e9OXSVYer}7hLF_?kmM{J(n3Jh zxka=22kPqK%9$KGI?v%tW*@wa{9JHnjI{qUkR|&(2if4_^%l|5NTnyG2lLH2N|z}d z3g-$Ej@Vi{r5qC0yzLpakt%e6AYwARU=;540#Uaa7qmvL^W1j1PTXGyGGH|-93*-d zc%(@omL8TLCHP@kAB;DP6yNx{yLB1+O8K;qku9irjgQx?raZ znNeEMq5nv6G#QT^O;RhQ8%u*a`kOnG=SqNuX*#x6TvoE8_Jowb$%gD_`!b=3PMCN9Dq%Ye|7D&wHX{^GMRq=*{ggPn zmcL!cQ9`Gg2Ug9m&8|*AUDIz$uOGLe!30*;Utbtkp&>`NxI*(Aa?zWo7z|{Cn4Zxe zLI+-$7EW94c9cLfY#nB_$rIC!v=;k1pl{(>nr2j1)a^O>{i7+&vpk=i99>nrARngh zc{#;88P+-Kw!E@3=<6+>JLkOpZhLTg`Ti_CwgHj~M|nY(4*gbp7_C3=Jphe_&Jo&Q zZIwPLyPQ7cwJ_tKn7ihG&Nfcl^15RhsH!)DFA*k61y1@@h`nl@c zr#^o4+fI5G$a3s+1XAlveu^H-_CtO%({m_2(<8ZQtG;ObMTnMBD)}_jv`cnb6yBI` z9Sgq!`Hpvr(@T+>f54?*J!3m=?JOYdrpB^JgAnpo70RdW04-?F?aJU!mtS2-Q{G`H3)IaEUtZ4pgCy`_6+ z6ojSW>JIcc3ns&h4bo)D50o}5aZVF8LO(N?iZX76-O|s=c!c&a@JY@Q7^dbFJ2)8= zco!?xZ)youX>)mmiM_R@x2$4wWJA=vu^N9;a%-tHm#Svswzr!@z}s^gR;Uy0PP&TB z#RloL#Dc2VD}t?zn~YOT_IkzxADlDt!h2Yixo_8YGt^|h;uRz%BNud>lM z3&M|6LPv+;$z%{s1h1oV5Vrlf zl0%z@bsI|<4@0yCS*;Sj9+19aZJ5W>IL|mGh+iwZK-0vK{QtCercp_tYaF+!rp6hw zEUZYd8qp%f7RXY|#>BnU5L^(k#Z+8MOLLO2aYjo$>P=j7p;9LW7sM17R0tSTbIW}T zl}uESj#i4G#4vTg+;8{XbKg(zr~i4*dC$B4fA90OlFZe&f)iIb?5o}tS*klU0CKFx zpJ297)Fjl+#GjlZJR81Dh}2pFawG3Up+D^^`dMpSyV0IZ-TacB438gaIwVHNrsymu zmi+3DK+x(xhnfeo5nT?f?Mt}b2r9@G1S*FFKcNMh{Ck?utoeM(ryCig269e%C4j=# zkp)!AN7>4TroBnXjt`Ykj`5|;Tz<4oQK33dc$v_nw^-lch~W-5+VM{}rm|9mjtW6P zOV?me${#@OiZ+-;T1h?JWq~okyw_>CZ0S6t|8=mDcS(1l`D0*vVW3cn_Rm6=rauk* zczY{5;B_hvdhyOk44}V;0xUChi^W*>19_Ycq3}Af1HG*uFsT<;h*H5Zn>{e{Lf7NO zhy>ha3TDVen3S>&v-Ga7#khT9Ou#e7I+GiGyeP|G}^p8uGl}xZi%{o}B>KN_NVi≧$<_Zb%T0@gb3LBsA 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∋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 literal 0 HcmV?d00001 From 19f8414119208b4b3098bb988bc0b157b354ebad Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Wed, 5 Jul 2023 14:06:51 +0200 Subject: [PATCH 013/180] wording changes --- docs/user-guide/work-packages/exporting/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/user-guide/work-packages/exporting/README.md b/docs/user-guide/work-packages/exporting/README.md index 069c3ae24eb2..e0166ed61ca6 100644 --- a/docs/user-guide/work-packages/exporting/README.md +++ b/docs/user-guide/work-packages/exporting/README.md @@ -8,13 +8,13 @@ keywords: work package exports, CSV, Excel, XLS, PDF # Exporting work packages -You can export work packages from your OpenProject instance to other formats using the export functionality. +You can export work packages from your OpenProject instance in various formats using the export functionality. ## How to trigger an export -To export a work package table or card view to another format, visit the *Work packages* module or a saved view and click on the settings icon in the top right corner. Trigger the **Export** dialog from the dropdown menu that opens. +To export a work package table or card view to another format, visit the *Work packages* module or select a saved view, opening a work package table that you want to export. Click on the settings icon in the top right corner. Trigger the **Export** dialog from the dropdown menu. ![Exporting from the table](openproject_export_wp.png) @@ -28,7 +28,7 @@ This will open a dialog where you can select the desired format. Below, we will ## Export contents -All work packages that are included in the work package table in the currently selected view will be exported, unless a certain export limit has been defined by the instance administrator. The limit can be changed in the [work package settings](../../../system-admin-guide/system-settings/general-settings/#general-system-settings) in the system administration. +All work packages that are included in the work package table in the currently selected view will be exported, unless a certain export limit has been defined by the instance administrator. The limit can be changed in the [work package settings](../../../system-admin-guide/system-settings/general-settings/#general-system-settings) in the system administration. Newly created instances have a maximum of 500 work packages set as a limit by default. > **Note**: PDF export options includes all of the work packages in the selected work package table, regardless of the limit. The possible export limit is relevant for XLS, CSV and Atom export options. From e08c17e39d8e8c0ad37c162a1282e2e48c30202f Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Thu, 6 Jul 2023 03:20:50 +0000 Subject: [PATCH 014/180] update locales from crowdin [ci skip] --- config/locales/crowdin/js-zh-TW.yml | 2 +- config/locales/crowdin/zh-TW.yml | 22 +++++++++---------- .../config/locales/crowdin/js-zh-TW.yml | 2 +- .../backlogs/config/locales/crowdin/zh-TW.yml | 2 +- .../config/locales/crowdin/js-zh-TW.yml | 22 +++++++++---------- 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/config/locales/crowdin/js-zh-TW.yml b/config/locales/crowdin/js-zh-TW.yml index e5e777d35435..dfbaec2170a1 100644 --- a/config/locales/crowdin/js-zh-TW.yml +++ b/config/locales/crowdin/js-zh-TW.yml @@ -713,7 +713,7 @@ zh-TW: reset_title: "重設表單配置" confirm_reset: > 警告: 確實要重置表單配置嗎?這將重置屬性到其預設組, 並禁用所有自訂欄位。 - upgrade_to_ee: "Upgrade to Enterprise on-premises edition" + upgrade_to_ee: "升級至地端企業版" upgrade_to_ee_text: "Wow! If you need this add-on you are a super pro! Would you mind supporting us OpenSource developers by becoming an Enterprise edition client?" more_information: "更多資訊" nevermind: "無視" diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index e10e0170782d..6de57f5a9f00 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -801,7 +801,7 @@ zh-TW: is_not_a_valid_target_for_time_entries: "工作項目 #%{id} 不是重新分配時間項目有效的目標" attributes: assigned_to: - format: "%{message}" + format: " %訊息" due_date: not_start_date: "不在開始的日期,儘管它是里程碑所必需的。" cannot_be_null: "can not be set to null as start date and duration are known." @@ -1235,7 +1235,7 @@ zh-TW: default_role_anonymous: "匿名者" default_role_developer: "開發者" default_role_project_admin: "專案管理員" - default_role_project_creator_and_staff_manager: "Staff and projects manager" + default_role_project_creator_and_staff_manager: "職員和專案管理員" default_role_non_member: "非成員" default_role_reader: "讀者" default_role_member: "成員" @@ -1399,10 +1399,10 @@ zh-TW: blocks: community: "OpenProject 社群" upsale: - title: "Upgrade to Enterprise edition" + title: "升級到企業版" more_info: "更多資訊" links: - upgrade_enterprise_edition: "Upgrade to Enterprise edition" + upgrade_enterprise_edition: "升級到企業版" postgres_migration: "Migrating your installation to PostgreSQL" user_guides: "使用手冊" faq: "問答集" @@ -1425,7 +1425,7 @@ zh-TW: admin: mail_notification: "電子郵件通知" mails_and_notifications: "電子郵件通知" - aggregation: 'Aggregation' + aggregation: '聚合' api_and_webhooks: "API and webhooks" quick_add: label: "Open quick add menu" @@ -1618,7 +1618,7 @@ zh-TW: label_enumerations: "條列項目" label_enterprise: "企業" label_enterprise_active_users: "%{current}/%{limit} 已預訂的活動使用者" - label_enterprise_edition: "Enterprise edition" + label_enterprise_edition: "企業版" label_environment: "環境" label_estimates_and_time: "預估成本和時間" label_equals: "是" @@ -1671,7 +1671,7 @@ zh-TW: label_index_by_title: "按標題索引" label_information: "資訊" label_information_plural: "資訊" - label_installation_guides: 'Installation guides' + label_installation_guides: '安裝說明' label_integer: "整數" label_internal: "內部" label_introduction_video: "簡介影片" @@ -2058,7 +2058,7 @@ zh-TW: mentioned_by: '%{user} mentioned you in a comment' more_to_see: other: "還有 1 個帶有通知的工作包\n\n還有 %{count} 個帶有通知的工作包" - open_in_browser: 'Open in browser' + open_in_browser: '在瀏覽器中開啟' reason: watched: '監看' assigned: '指派' @@ -2262,14 +2262,14 @@ zh-TW: permission_edit_own_time_entries: "編輯自己的時間日誌" permission_edit_project: "編輯專案" permission_edit_reportings: "編輯報表" - permission_edit_time_entries: "Edit time logs for other users" + permission_edit_time_entries: "編輯他人耗時" permission_edit_timelines: "編輯時間軸" permission_edit_wiki_pages: "編輯維基頁面" permission_export_work_packages: "匯出工作項目" permission_export_wiki_pages: "匯出維基頁面" permission_list_attachments: "列出附件" - permission_log_own_time: "Log own time" - permission_log_time: "Log time for other users" + permission_log_own_time: "記錄個人耗時" + permission_log_time: "紀錄他人耗時" permission_manage_forums: "管理論壇" permission_manage_categories: "管理工作項目類別" permission_manage_work_package_relations: "管理工作項目關聯" diff --git a/modules/backlogs/config/locales/crowdin/js-zh-TW.yml b/modules/backlogs/config/locales/crowdin/js-zh-TW.yml index 9ba9590c3452..8849176fbbb9 100644 --- a/modules/backlogs/config/locales/crowdin/js-zh-TW.yml +++ b/modules/backlogs/config/locales/crowdin/js-zh-TW.yml @@ -23,5 +23,5 @@ zh-TW: js: work_packages: properties: - storyPoints: "故事評分" + storyPoints: "需求重要性" remainingTime: "剩餘時數" diff --git a/modules/backlogs/config/locales/crowdin/zh-TW.yml b/modules/backlogs/config/locales/crowdin/zh-TW.yml index ea20f249910b..781147550624 100644 --- a/modules/backlogs/config/locales/crowdin/zh-TW.yml +++ b/modules/backlogs/config/locales/crowdin/zh-TW.yml @@ -70,7 +70,7 @@ zh-TW: remaining_hours_ideal: "(理想) 剩餘時數" show_burndown_chart: "未完成圖" story: "使用者需求" - story_points: "故事評分" + story_points: "需求重要性" story_points_ideal: "(理想) 需求重要性" task: "任務" task_color: "任務顏色" diff --git a/modules/boards/config/locales/crowdin/js-zh-TW.yml b/modules/boards/config/locales/crowdin/js-zh-TW.yml index f91e9b44c6cb..7e2df7387512 100644 --- a/modules/boards/config/locales/crowdin/js-zh-TW.yml +++ b/modules/boards/config/locales/crowdin/js-zh-TW.yml @@ -27,9 +27,9 @@ zh-TW: add_card: '新增卡片' error_attribute_not_writable: "無法移動該工作項目, %{attribute} 不可寫入" error_loading_the_list: "列表讀取錯誤: %{error_message}" - error_permission_missing: "The permission to create public queries is missing" - error_cannot_move_into_self: "You can not move a work package into its own column." - text_hidden_list_warning: "Not all lists are displayed because you lack the permission. Contact your admin for more information." + error_permission_missing: "缺少建立公開查詢的權限" + error_cannot_move_into_self: "不可將任務移至自己的欄位" + text_hidden_list_warning: "因權限限制,清單無法全部顯示,請聯絡管理員。" click_to_remove_list: "移除列表" board_type: text: '看板類型' @@ -37,8 +37,8 @@ zh-TW: select_board_type: '選擇您需要的看板類型' free_text: > 從空白看板開始使用,添加新的卡片和列表到這個看板 - action: 'Action board' - action_by_attribute: 'Action board (%{attribute})' + action: '行動項看板' + action_by_attribute: '行動項看板 (%{attribute})' action_text: > A board with filtered lists on %{attribute} attribute. Moving work packages to other lists will update their attribute. action_text_subprojects: > @@ -56,7 +56,7 @@ zh-TW: status: 狀態 version: 版本 subproject: 子專案 - subtasks: parent-child + subtasks: 父-子 board_type_title: assignee: 負責執行者 status: 狀態 @@ -68,10 +68,10 @@ zh-TW: add_list_modal: labels: assignee: 選擇使用者至新的指派列表 - status: Select status to add as a new list - version: Select version to add as a new list - subproject: Select subproject to add as a new list - subtasks: Select work package to add as a new list + status: 依選擇狀態新增清單 + version: 依選擇版本新增清單 + subproject: 依選擇子專案新增清單 + subtasks: 依選擇任務新增清單 warning: status: | There is currently no status available.
    @@ -83,4 +83,4 @@ zh-TW: title: 'Configure this board' display_settings: card_mode: "Display as cards" - table_mode: "Display as table" + table_mode: "顯示為預覽圖" From 35b9caaa55b429201cddab3830e354ab5f9d05b0 Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Thu, 6 Jul 2023 08:23:59 +0200 Subject: [PATCH 015/180] Changing wording --- docs/user-guide/work-packages/exporting/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-guide/work-packages/exporting/README.md b/docs/user-guide/work-packages/exporting/README.md index e0166ed61ca6..67ac6db536ec 100644 --- a/docs/user-guide/work-packages/exporting/README.md +++ b/docs/user-guide/work-packages/exporting/README.md @@ -60,7 +60,7 @@ OpenProject has multiple options of exporting work packages in PDF format: - **PDF Report with images** is the same as PDF Report, but also includes the images from the work package description. - > **Note**: images from the work package comments section are not included into exported report. + > **Note**: Images attached to the work package or in activity comments are not included into exported report. ![OpenProject_work_package_export](openproject_pdf_report_images.png) From 3fe97310c1a16b7adb2022cfa9f93cd44fe03d15 Mon Sep 17 00:00:00 2001 From: corinnaguenther <131807161+corinnaguenther@users.noreply.github.com> Date: Thu, 6 Jul 2023 08:40:25 +0200 Subject: [PATCH 016/180] Glossary: Deleted image for Gantt Charts --- docs/glossary/README.md | 2 -- .../glossary-openproject-gantt-chart.png | Bin 561290 -> 0 bytes 2 files changed, 2 deletions(-) delete mode 100644 docs/glossary/glossary-openproject-gantt-chart.png diff --git a/docs/glossary/README.md b/docs/glossary/README.md index ef99a1ffabc5..f58e46510c03 100644 --- a/docs/glossary/README.md +++ b/docs/glossary/README.md @@ -163,8 +163,6 @@ The Gantt chart in OpenProject displays the work packages in a timeline. You can [Read more about how to activate and work with Gantt charts in OpenProject](https://www.openproject.org/docs/user-guide/gantt-chart/) -![A gantt chart in OpenProject](glossary-openproject-gantt-chart.png) - ### Group A Group in OpenProject is defined as a list of users which can be added as a member to projects with a selected [role](#role). Groups can also be assigned to work packages. New groups can be defined in Administration -> Users and permissions -> Groups. diff --git a/docs/glossary/glossary-openproject-gantt-chart.png b/docs/glossary/glossary-openproject-gantt-chart.png deleted file mode 100644 index b5d00d4ab415492250b755308c6feed853e025b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 561290 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%0AIX+&B78dXpHXLBcJ}UNTKh9xBCi{v%3bUMIgr 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 IsNIYM<(x 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

    e8T)o5AB=A5zPahQHg? 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 z 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%0DrldO z`X=lvG8Hc6tu`z$p7nijfH;Np+uSeif$@+099gNt&%33*+L3N~_+(}>W;q5ASY(Ly z@|%lf#s)mU81H-&@uqUAdN$s^DA*+Txno9X<)cy~GfbKY=W8nvOCx?Mm)7-lmiyLQ zgFB{t?psV-k(-r&RQ(KxY)b~zO0S+M>HJmkE_x&>-TnWu_mxp`c1yZR2$J9s96|^I zlHl%6AVHJhZo%CfcefA%1oz+;pmFQQf;Dc9H3SLnF83v$%$+;uJL}vtvu5VrHNSfG zyWm~B_pW-X>Z#gQMc6av&F4Jn1Oq~MOWzf=5aeDkSu&<#y-TG�BZz(HMc(#y?BnCiNHCK~e(z0o7 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 From 4a69a75257a422a968f48fbd6efdf6496acd9933 Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 6 Jul 2023 10:18:15 +0200 Subject: [PATCH 017/180] fix(links): adjust anchor links --- docs/faq/README.md | 2 +- docs/glossary/README.md | 14 +++----------- docs/user-guide/projects/projects-faq/README.md | 2 +- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/docs/faq/README.md b/docs/faq/README.md index 8ae194e0f5c9..6124cf04f2e8 100644 --- a/docs/faq/README.md +++ b/docs/faq/README.md @@ -135,7 +135,7 @@ On a work package level you could use "Assignee" for "Responsible", "Accountable To create and print/export reports you can... -- use the [global work packages list](../user-guide/projects/#global-work-packages-list): Filter for e.g. phases and milestones (which would make sense to use in your projects in this case). Then use the [export feature](../user-guide/work-packages/exporting/#exporting-work-packages). This will give you an overview over all projects' work packages (or all projects' milestones and phases, respectively). +- use the [global work packages list](../user-guide/projects/#global-work-package-tables): Filter for e.g. phases and milestones (which would make sense to use in your projects in this case). Then use the [export feature](../user-guide/work-packages/exporting/#exporting-work-packages). This will give you an overview over all projects' work packages (or all projects' milestones and phases, respectively). - use the [Wiki module](../user-guide/wiki) to document your project reports. The Wiki pages is optimized for being printed using your browser's print feature. You could even insert a work packages list there. If you want to use the Wiki we suggest setting it up in a (global) parent project. The projects overview is not optimized for export via PDF, yet. Nevertheless, you can try to use your browser's print feature. diff --git a/docs/glossary/README.md b/docs/glossary/README.md index f58e46510c03..2beb940d4b4e 100644 --- a/docs/glossary/README.md +++ b/docs/glossary/README.md @@ -18,24 +18,16 @@ keywords: glossary, help, documentation, terms, keywords, vocabulary, definition [F](#f) [G](#g) [H](#h) -[I](#i) -[J](#j) -[K](#k) -[L](#l) -[M](#m) [N](#n) [O](#o) [P](#p) -[Q](#q) [R](#r) [S](#s) [T](#t) [U](#u) [V](#v) [W](#w) -[X](#x) -[Y](#y) -[Z](#z)** +** ## A @@ -58,7 +50,7 @@ In OpenProject, authentication is an important element to guarantee a data prote ### Backlogs -A backlog in OpenProject is defined as a [plugin](#plugins) that allows to use the backlogs feature in OpenProject. The backlog is a tool in scrum: a list that contains everything needed to achieve a specific outcome. In order to use backlogs in OpenProject, the backlogs module has to be activated in the [project settings](#project-settings). [Read how to work with backlogs in OpenProject](https://www.openproject.org/docs/user-guide/backlogs-scrum) +A backlog in OpenProject is defined as a [plugin](#plugins--integrations) that allows to use the backlogs feature in OpenProject. The backlog is a tool in scrum: a list that contains everything needed to achieve a specific outcome. In order to use backlogs in OpenProject, the backlogs module has to be activated in the [project settings](#project-settings). [Read how to work with backlogs in OpenProject](https://www.openproject.org/docs/user-guide/backlogs-scrum) ### Baseline (Comparisons) @@ -257,7 +249,7 @@ In OpenProject, the project overview is defined as a single [dashboard](#dashboa ### Project settings -Project settings means project-specific setting configuration. The project settings contain general settings (e.g. the name and ID of the project), configuration of [modules](#module), [work package categories](#work-package-categories) and [types](#work-package-types), [custom fields](#custom-field), [version](#versions) settings, [time tracking activities](#time-and-costs), required disk storage, [file storages](#file-storage) and [Backlog](#backlog) settings (if plugin is installed). [Read more about project settings in OpenProject](https://www.openproject.org/docs/user-guide/projects/#project-settings) +Project settings means project-specific setting configuration. The project settings contain general settings (e.g. the name and ID of the project), configuration of [modules](#module), [work package categories](#work-package-categories) and [types](#work-package-types), [custom fields](#custom-field), [version](#versions) settings, [time tracking activities](#time-and-costs), required disk storage, [file storages](#file-storage) and [Backlogs](#backlogs) settings (if plugin is installed). [Read more about project settings in OpenProject](https://www.openproject.org/docs/user-guide/projects/#project-settings) ### Project status diff --git a/docs/user-guide/projects/projects-faq/README.md b/docs/user-guide/projects/projects-faq/README.md index af365edc1917..cf8b5d939aeb 100644 --- a/docs/user-guide/projects/projects-faq/README.md +++ b/docs/user-guide/projects/projects-faq/README.md @@ -13,7 +13,7 @@ keywords: projects FAQ, project questions There are several possibilities: 1. To see only the projects without their work packages go to [Projects](../#projects-list) ("View all projects"). Here yo can also display the Project list in a Gantt chart view with all important milestones of all Projects. Therefore you have to click on "Open as Gantt view". -2. For work packages of all projects click on *Modules -> Work packages* in the upper right hand corner (9 squares) in the navigation bar, to access the [global work packages list](../#global-work-packages-list). Use the view configuration to group the work packages by project. +2. For work packages of all projects click on *Modules -> Work packages* in the upper right hand corner (9 squares) in the navigation bar, to access the [global work packages list](../#global-work-package-tables). Use the view configuration to group the work packages by project. 3. Select a project with subprojects, go to the Project overview, add the widget "Work package table" and set the filter "Including subproject". Find more information on this topic [here](../../project-overview/#add-a-widget-to-the-project-overview). Additionally you could add the column "Progress" to compare your different Project progress. 4. Add the widget "Work package table" to your My page and set the filter mentioned above. Find more information on this topic [here](../../../getting-started/my-page/#configure-the-my-page). Additionally you could add the column "Progress". From ffbfae633d535be2f470f7751ef1b17ff94a0dc7 Mon Sep 17 00:00:00 2001 From: bsatarnejad Date: Thu, 6 Jul 2023 11:06:44 +0200 Subject: [PATCH 018/180] on calendar date.now is not used so no need to set the utc date --- frontend/src/app/features/calendar/op-calendar.service.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/features/calendar/op-calendar.service.ts b/frontend/src/app/features/calendar/op-calendar.service.ts index e89acd098cab..042e22b22eac 100644 --- a/frontend/src/app/features/calendar/op-calendar.service.ts +++ b/frontend/src/app/features/calendar/op-calendar.service.ts @@ -36,10 +36,8 @@ export class OpCalendarService extends UntilDestroyedMixin { applyNonWorkingDay({ date }:{ date?:Date }, nonWorkingDays:IDay[]):string[] { if (date) { - // we need to find the UTC date for each date while highlighting non-wrking days on full-calendar - const utcDate = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds()); - const formatted = moment(utcDate).format('YYYY-MM-DD'); - if (this.weekdayService.isNonWorkingDay(utcDate) || nonWorkingDays.find((el) => el.date === formatted)) { + const formatted = moment(date).format('YYYY-MM-DD'); + if (this.weekdayService.isNonWorkingDay(date) || nonWorkingDays.find((el) => el.date === formatted)) { return ['fc-non-working-day']; } } From 39e10641cf62bbd062f61b66bebe367d80d83fe5 Mon Sep 17 00:00:00 2001 From: bsatarnejad Date: Thu, 6 Jul 2023 11:15:34 +0200 Subject: [PATCH 019/180] fetch nonworking days before calendar get initialized --- .../te-calendar/te-calendar.component.ts | 129 ++++++++++++------ .../te-calendar/te-calendar.template.html | 13 +- 2 files changed, 93 insertions(+), 49 deletions(-) diff --git a/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts b/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts index c2d8d1197dce..642226bccf94 100644 --- a/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts +++ b/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts @@ -5,6 +5,7 @@ import { EventEmitter, Injector, Input, + OnInit, Output, SecurityContext, ViewChild, @@ -20,12 +21,15 @@ import { DomSanitizer } from '@angular/platform-browser'; import timeGrid from '@fullcalendar/timegrid'; import { CalendarOptions, + DayCellContentArg, DayCellMountArg, - DayHeaderMountArg, + DayHeaderContentArg, Duration, EventApi, EventInput, EventSourceFuncArg, + SlotLabelContentArg, + SlotLaneContentArg, } from '@fullcalendar/core'; import { ConfigurationService } from 'core-app/core/config/configuration.service'; import { TimeEntryResource } from 'core-app/features/hal/resources/time-entry-resource'; @@ -47,7 +51,10 @@ import { SchemaResource } from 'core-app/features/hal/resources/schema-resource' import { IFieldSchema } from 'core-app/shared/components/fields/field.base'; import { VerboseFormattingArg } from '@fullcalendar/common'; import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; -import { firstValueFrom } from 'rxjs'; +import { Subject, firstValueFrom } from 'rxjs'; +import { WeekdayService } from 'core-app/core/days/weekday.service'; +import { IDay } from 'core-app/core/state/days/day.model'; +import { DayResourceService } from 'core-app/core/state/days/day.service'; interface TimeEntrySchema extends SchemaResource { activity:IFieldSchema; @@ -70,7 +77,9 @@ interface CalendarMoveEvent { delta:Duration; revert:() => void; } - +interface CalendarOptionsWithDayGrid extends CalendarOptions { + dayGridClassNames:(data:DayCellMountArg) => void; +} // An array of all the days that are displayed. The zero index represents Monday. export type DisplayedDays = [boolean, boolean, boolean, boolean, boolean, boolean, boolean]; @@ -93,7 +102,7 @@ const ADD_ENTRY_PROHIBITED_CLASS_NAME = '-prohibited'; HalResourceEditingService, ], }) -export class TimeEntryCalendarComponent { +export class TimeEntryCalendarComponent implements OnInit { @ViewChild(FullCalendarComponent) ucCalendar:FullCalendarComponent; @Input() projectIdentifier:string; @@ -101,7 +110,7 @@ export class TimeEntryCalendarComponent { @Input() static = false; @Input() set displayedDays(days:DisplayedDays) { - this.setHiddenDays(days); + this.hiddenDays=this.setHiddenDays(days); } @Output() entries = new EventEmitter>(); @@ -119,43 +128,65 @@ export class TimeEntryCalendarComponent { public memoizedCreateAllowed = false; + public hiddenDays:number[] = []; + public text = { logTime: this.i18n.t('js.button_log_time'), today: this.i18n.t('js.team_planner.today'), }; - calendarOptions:CalendarOptions = { - editable: false, - locale: this.i18n.locale, - fixedWeekCount: false, - headerToolbar: { - right: '', - center: 'title', - left: 'prev,next today', - }, - buttonText: { today: this.text.today }, - initialView: 'timeGridWeek', - firstDay: this.configuration.startOfWeek(), - hiddenDays: [], - // This is a magic number that is derived by trial and error - contentHeight: 550, - slotEventOverlap: false, - slotLabelInterval: `${this.labelIntervalHours}:00:00`, - slotLabelFormat: (info:VerboseFormattingArg) => ((this.maxHour - info.date.hour) / this.scaleRatio).toString(), - allDaySlot: false, - displayEventTime: false, - slotMinTime: `${this.minHour - 1}:00:00`, - slotMaxTime: `${this.maxHour}:00:00`, - events: this.calendarEventsFunction.bind(this), - eventOverlap: (stillEvent:EventApi) => !stillEvent.classNames.includes(TIME_ENTRY_CLASS_NAME), - plugins: [timeGrid, interactionPlugin], - eventDidMount: this.alterEventEntry.bind(this), - eventWillUnmount: this.beforeEventRemove.bind(this), - eventClick: this.dispatchEventClick.bind(this), - eventDrop: this.moveEvent.bind(this), - dayHeaderClassNames: (data:DayHeaderMountArg) => this.calendar.applyNonWorkingDay(data, []), - dayCellClassNames: (data:DayCellMountArg) => this.calendar.applyNonWorkingDay(data, []), - }; + calendarOptions$ = new Subject(); + + public nonWorkingDays:IDay[] = []; + + private initializeCalendar() { + const additionalOptions:CalendarOptionsWithDayGrid = { + editable: false, + locale: this.i18n.locale, + fixedWeekCount: false, + timeZone: this.configuration.isTimezoneSet() ? this.configuration.timezone() : 'local', + headerToolbar: { + right: '', + center: 'title', + left: 'prev,next today', + }, + buttonText: { today: this.text.today }, + initialView: 'timeGridWeek', + firstDay: this.configuration.startOfWeek(), + hiddenDays: this.hiddenDays, + // This is a magic number that is derived by trial and error + contentHeight: 550, + slotEventOverlap: false, + slotLabelInterval: `${this.labelIntervalHours}:00:00`, + slotLabelFormat: (info:VerboseFormattingArg) => ((this.maxHour - info.date.hour) / this.scaleRatio).toString(), + allDaySlot: false, + displayEventTime: false, + slotMinTime: `${this.minHour - 1}:00:00`, + slotMaxTime: `${this.maxHour}:00:00`, + events: this.calendarEventsFunction.bind(this), + eventOverlap: (stillEvent:EventApi) => !stillEvent.classNames.includes(TIME_ENTRY_CLASS_NAME), + plugins: [timeGrid, interactionPlugin], + eventDidMount: this.alterEventEntry.bind(this), + eventWillUnmount: this.beforeEventRemove.bind(this), + eventClick: this.dispatchEventClick.bind(this), + eventDrop: this.moveEvent.bind(this), + dayHeaderClassNames: (data:DayHeaderContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + dayCellClassNames: (data:DayCellContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + dayGridClassNames: (data:DayCellContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + slotLaneClassNames: (data:SlotLaneContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + slotLabelClassNames: (data:SlotLabelContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + }; + + void this.weekdayService.loadWeekdays() + .toPromise() + .then(async () => { + const date = moment(new Date()).toString(); + await this.requireNonWorkingDays(date); + this.calendarOptions$.next( + additionalOptions, + ); + }); + } constructor( readonly states:States, @@ -174,18 +205,28 @@ export class TimeEntryCalendarComponent { private colors:ColorsService, private browserDetector:BrowserDetector, private calendar:OpCalendarService, + readonly weekdayService:WeekdayService, + readonly dayService:DayResourceService, ) {} + ngOnInit():void { + this.initializeCalendar(); + } + + async requireNonWorkingDays(date:Date|string) { + this.nonWorkingDays = await firstValueFrom(this.dayService.requireNonWorkingYear$(date)); + } + public calendarEventsFunction( fetchInfo:EventSourceFuncArg, successCallback:(events:EventInput[]) => void, failureCallback:(error:Error) => void, ):void|PromiseLike { void this.fetchTimeEntries(fetchInfo.start, fetchInfo.end) - .then((collection) => { + .then(async (collection) => { this.entries.emit(collection); - successCallback(this.buildEntries(collection.elements, fetchInfo)); + successCallback(await this.buildEntries(collection.elements, fetchInfo)); }) .catch(failureCallback); } @@ -212,9 +253,10 @@ export class TimeEntryCalendarComponent { return this.memoizedTimeEntries.entries; } - private buildEntries(entries:TimeEntryResource[], fetchInfo:{ start:Date, end:Date }):EventInput[] { + private async buildEntries(entries:TimeEntryResource[], fetchInfo:{ start:Date, end:Date }):Promise { this.setRatio(entries); - + await this.requireNonWorkingDays(fetchInfo.start); + await this.requireNonWorkingDays(fetchInfo.end); return this.buildTimeEntryEntries(entries) .concat(this.buildAuxEntries(entries, fetchInfo)); } @@ -624,7 +666,7 @@ export class TimeEntryCalendarComponent { return 1; } - protected setHiddenDays(displayedDays:DisplayedDays):void { + protected setHiddenDays(displayedDays:DisplayedDays) { const hiddenDays:number[] = Array .from(displayedDays, (value, index) => { if (!value) { @@ -633,7 +675,6 @@ export class TimeEntryCalendarComponent { return null; }) .filter((value) => value !== null) as number[]; - - this.calendarOptions = { ...this.calendarOptions, hiddenDays }; + return hiddenDays; } } diff --git a/frontend/src/app/features/calendar/te-calendar/te-calendar.template.html b/frontend/src/app/features/calendar/te-calendar/te-calendar.template.html index 70c560e1c47c..d4e00f1cfc8c 100644 --- a/frontend/src/app/features/calendar/te-calendar/te-calendar.template.html +++ b/frontend/src/app/features/calendar/te-calendar/te-calendar.template.html @@ -17,9 +17,12 @@ aria-hidden="true" > - - + + +

    Ed|srPqFI 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

  • From 965d624bede4dbd0d74068e9fd8283b6e1fd9850 Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 6 Jul 2023 11:58:16 +0200 Subject: [PATCH 020/180] [#48652] Show relevant attributes in file name of pdf export & truncate to 255 chars https://community.openproject.org/work_packages/48652 --- app/models/work_package/pdf_export/common.rb | 9 +++++++++ .../pdf_export/work_package_list_to_pdf.rb | 14 +++++--------- .../work_package/pdf_export/work_package_to_pdf.rb | 6 ++++-- spec/controllers/work_packages_controller_spec.rb | 3 ++- .../exports/export_job_integration_spec.rb | 2 +- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/app/models/work_package/pdf_export/common.rb b/app/models/work_package/pdf_export/common.rb index 180cba35b50e..2968839afaf2 100644 --- a/app/models/work_package/pdf_export/common.rb +++ b/app/models/work_package/pdf_export/common.rb @@ -215,6 +215,15 @@ def with_attachments? options[:show_images] end + def build_pdf_filename(base) + suffix = "_#{title_datetime}.pdf" + "#{truncate(base, length: 255 - suffix.chars.length)}#{suffix}".gsub(' ', '-') + end + + def title_datetime + DateTime.now.strftime('%Y-%m-%d_%H-%M') + end + def current_page_nr pdf.page_number + @page_count 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 db3bbd3532f5..9e8fd378745a 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 @@ -223,16 +223,12 @@ def project query.project end - def title - # export filename expects to be [project.name, query.name, date YY-MM-DD, time HH-MM] - "#{project ? "#{project}_#{heading}" : heading}_#{title_datetime}.pdf" - end - - def title_datetime - DateTime.now.strftime('%Y-%m-%d_%H-%M') - end - def heading query.name || I18n.t(:label_work_package_plural) end + + def title + # ___.pdf + build_pdf_filename(project ? "#{project}_#{heading}" : heading) + end 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 e73639c033fa..0f168410886d 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 @@ -74,10 +74,12 @@ def render_work_package end def heading - "#{work_package.project} - ##{work_package.type} #{work_package.id}" + "#{work_package.project} - #{work_package.type} ##{work_package.id}" end def title - "#{heading}.pdf" + # ____.pdf + build_pdf_filename([work_package.project, work_package.type, + "##{work_package.id}", work_package.subject].join('_')) end end diff --git a/spec/controllers/work_packages_controller_spec.rb b/spec/controllers/work_packages_controller_spec.rb index 38b034f73e4d..0c5675c1fc3d 100644 --- a/spec/controllers/work_packages_controller_spec.rb +++ b/spec/controllers/work_packages_controller_spec.rb @@ -290,7 +290,8 @@ def self.requires_export_permission(&) pdf_data = 'foobar' time = DateTime.new(2023, 6, 30, 23, 59) allow(DateTime).to receive(:now).and_return(time) - expected_name = "#{stub_work_package.project.identifier}_#{stub_work_package.id}_2023-06-30_23-59.pdf" + expected_name = [stub_work_package.project.identifier, "##{stub_work_package.id}", + stub_work_package.subject, '2023-06-30_23-59'].join('_').gsub(' ', '-') expected_type = 'application/pdf' pdf_result = double('pdf_result', error?: false, diff --git a/spec/workers/work_packages/exports/export_job_integration_spec.rb b/spec/workers/work_packages/exports/export_job_integration_spec.rb index 532b33e28a6e..5af29f733614 100644 --- a/spec/workers/work_packages/exports/export_job_integration_spec.rb +++ b/spec/workers/work_packages/exports/export_job_integration_spec.rb @@ -75,7 +75,7 @@ expect(job_status.status).to eq 'success' attachment = export.attachments.last - expected = "Foo_Bla._Report_No._4-2021_with-for_Case_42_Query_report_04-2021_äöü_2023-06-30_23-59.pdf" + expected = "Foo-Bla.-Report-No.-4-2021-with-for-Case-42_Query-report-04-2021-äöü_2023-06-30_23-59.pdf" expect(attachment.filename).to eq expected end end From 2ec26ab6ba4a7aebc9ab44812900a083fba7d45a Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 6 Jul 2023 12:07:34 +0200 Subject: [PATCH 021/180] test(pdf-export): add test for long filename truncation --- .../exports/export_job_integration_spec.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/spec/workers/work_packages/exports/export_job_integration_spec.rb b/spec/workers/work_packages/exports/export_job_integration_spec.rb index 5af29f733614..61e7995e7033 100644 --- a/spec/workers/work_packages/exports/export_job_integration_spec.rb +++ b/spec/workers/work_packages/exports/export_job_integration_spec.rb @@ -79,4 +79,21 @@ expect(attachment.filename).to eq expected end end + + describe 'with overly long project title' do + let(:project) { create(:project, name: "x" * 255) } + + it 'exports the job correctly, limiting the result file length' do + time = DateTime.new(2023, 6, 30, 23, 59) + allow(DateTime).to receive(:now).and_return(time) + + expect { performed_job }.not_to raise_error + + expect(job_status.status).to eq 'success' + + attachment = export.attachments.last + expect(attachment.filename.chars.length).to eq 255 + expect(attachment.filename).to end_with "_2023-06-30_23-59.pdf" + end + end end From 6867c600f078989a24dea27b62c8c1c834ae407c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 24 Apr 2023 08:53:12 +0200 Subject: [PATCH 022/180] Pass asset host to frontend This allows us to use CDN for dynamic imports --- app/helpers/meta_tags_helper.rb | 5 +++-- frontend/src/main.ts | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/helpers/meta_tags_helper.rb b/app/helpers/meta_tags_helper.rb index 975996418163..bdd13090653d 100644 --- a/app/helpers/meta_tags_helper.rb +++ b/app/helpers/meta_tags_helper.rb @@ -45,8 +45,9 @@ def initializer_meta_tag firstWeekOfYear: locale_first_week_of_year, firstDayOfWeek: locale_first_day_of_week, environment: Rails.env, - edition: OpenProject::Configuration.edition - } + edition: OpenProject::Configuration.edition, + 'asset-host': OpenProject::Configuration.rails_asset_host.presence + }.compact end ## diff --git a/frontend/src/main.ts b/frontend/src/main.ts index 5ddcf1a806cc..5ef76396785e 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -19,9 +19,13 @@ const ASSET_BASE_PATH = '/assets/frontend/'; // Sets the relative base path window.appBasePath = jQuery('meta[name=app_base_path]').attr('content') || ''; +// Get the asset host, if any +const initializer = document.querySelector('meta[name="openproject_initializer"]') as HTMLMetaElement; +const ASSET_HOST = initializer.dataset.assetHost ? `//${initializer.dataset.assetHost}` : ''; + // Ensure to set the asset base for dynamic code loading // https://webpack.js.org/guides/public-path/ -__webpack_public_path__ = window.appBasePath + ASSET_BASE_PATH; +__webpack_public_path__ = ASSET_HOST + window.appBasePath + ASSET_BASE_PATH; window.ErrorReporter = configureErrorReporter(); From 80d886e9e03055e17d43b4cb90a0b55408353416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 24 Apr 2023 09:11:06 +0200 Subject: [PATCH 023/180] Prefetch ckeditor on load --- .../ckeditor/ckeditor-setup.service.ts | 13 ++++++++++--- .../editor/openproject-editor.module.ts | 16 +++++++++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-setup.service.ts b/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-setup.service.ts index e4d5d7dfcddc..2adf852a0468 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-setup.service.ts +++ b/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-setup.service.ts @@ -23,9 +23,16 @@ export class CKEditorSetupService { /** The language CKEditor was able to load, falls back to 'en' */ private loadedLocale = 'en'; + /** Prefetch ckeditor when browser is idle */ + private prefetch:Promise; + constructor(private PathHelper:PathHelperService) { } + public initialize() { + this.prefetch = this.load(); + } + /** * Create a CKEditor instance of the given type on the wrapper element. * Pass a ICKEditorContext object that will be used to decide active plugins. @@ -42,7 +49,7 @@ export class CKEditorSetupService { initialData:string|null = null, ):Promise { // Load the bundle and the matching locale, if found. - await this.load(); + await this.prefetch; const { type } = context; const editorClass = type === 'constrained' ? window.OPConstrainedEditor : window.OPClassicEditor; @@ -108,11 +115,11 @@ export class CKEditorSetupService { // untyped module cannot be dynamically imported // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - await import(/* webpackChunkName: "ckeditor" */ 'core-vendor/ckeditor/ckeditor.js'); + await import(/* webpackPrefetch: true; webpackChunkName: "ckeditor" */ 'core-vendor/ckeditor/ckeditor'); try { await import( - /* webpackChunkName: "ckeditor-translation" */ `../../../../../../vendor/ckeditor/translations/${I18n.locale}.js` + /* webpackPrefetch: true; webpackChunkName: "ckeditor-translation" */ `../../../../../../vendor/ckeditor/translations/${I18n.locale}.js` ) as unknown; this.loadedLocale = I18n.locale; } catch (e:unknown) { diff --git a/frontend/src/app/shared/components/editor/openproject-editor.module.ts b/frontend/src/app/shared/components/editor/openproject-editor.module.ts index b9e597bded29..dbfc575eb663 100644 --- a/frontend/src/app/shared/components/editor/openproject-editor.module.ts +++ b/frontend/src/app/shared/components/editor/openproject-editor.module.ts @@ -26,7 +26,11 @@ // See COPYRIGHT and LICENSE files for more details. //++ -import { NgModule } from '@angular/core'; +import { + APP_INITIALIZER, + Injector, + NgModule, +} from '@angular/core'; import { FormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; import { OpenprojectAttachmentsModule } from 'core-app/shared/components/attachments/openproject-attachments.module'; @@ -40,6 +44,13 @@ import { WikiIncludePageMacroModalComponent } from 'core-app/shared/components/m import { ChildPagesMacroModalComponent } from 'core-app/shared/components/modals/editor/macro-child-pages-modal/child-pages-macro.modal'; import { CodeBlockMacroModalComponent } from 'core-app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal'; +export function initializeServices(injector:Injector) { + return () => { + const ckeditorService = injector.get(CKEditorSetupService); + ckeditorService.initialize(); + }; +} + @NgModule({ imports: [ FormsModule, @@ -52,6 +63,9 @@ import { CodeBlockMacroModalComponent } from 'core-app/shared/components/modals/ EditorMacrosService, CKEditorSetupService, CKEditorPreviewService, + { + provide: APP_INITIALIZER, useFactory: initializeServices, deps: [Injector], multi: true, + }, ], exports: [ CkeditorAugmentedTextareaComponent, From 54b6478b9fd3a6d87f4360f8c8261e58f0a5f9a2 Mon Sep 17 00:00:00 2001 From: bsatarnejad Date: Thu, 6 Jul 2023 16:03:27 +0200 Subject: [PATCH 024/180] reinitialize the calendar when hidden days change --- .../te-calendar/te-calendar.component.ts | 91 +++++++++---------- 1 file changed, 42 insertions(+), 49 deletions(-) diff --git a/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts b/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts index 642226bccf94..b79fdb51fce8 100644 --- a/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts +++ b/frontend/src/app/features/calendar/te-calendar/te-calendar.component.ts @@ -5,7 +5,6 @@ import { EventEmitter, Injector, Input, - OnInit, Output, SecurityContext, ViewChild, @@ -102,7 +101,7 @@ const ADD_ENTRY_PROHIBITED_CLASS_NAME = '-prohibited'; HalResourceEditingService, ], }) -export class TimeEntryCalendarComponent implements OnInit { +export class TimeEntryCalendarComponent { @ViewChild(FullCalendarComponent) ucCalendar:FullCalendarComponent; @Input() projectIdentifier:string; @@ -110,7 +109,7 @@ export class TimeEntryCalendarComponent implements OnInit { @Input() static = false; @Input() set displayedDays(days:DisplayedDays) { - this.hiddenDays=this.setHiddenDays(days); + this.initializeCalendar(days); } @Output() entries = new EventEmitter>(); @@ -128,8 +127,6 @@ export class TimeEntryCalendarComponent implements OnInit { public memoizedCreateAllowed = false; - public hiddenDays:number[] = []; - public text = { logTime: this.i18n.t('js.button_log_time'), today: this.i18n.t('js.team_planner.today'), @@ -139,51 +136,52 @@ export class TimeEntryCalendarComponent implements OnInit { public nonWorkingDays:IDay[] = []; - private initializeCalendar() { - const additionalOptions:CalendarOptionsWithDayGrid = { - editable: false, - locale: this.i18n.locale, - fixedWeekCount: false, - timeZone: this.configuration.isTimezoneSet() ? this.configuration.timezone() : 'local', - headerToolbar: { - right: '', - center: 'title', - left: 'prev,next today', - }, - buttonText: { today: this.text.today }, - initialView: 'timeGridWeek', - firstDay: this.configuration.startOfWeek(), - hiddenDays: this.hiddenDays, - // This is a magic number that is derived by trial and error - contentHeight: 550, - slotEventOverlap: false, - slotLabelInterval: `${this.labelIntervalHours}:00:00`, - slotLabelFormat: (info:VerboseFormattingArg) => ((this.maxHour - info.date.hour) / this.scaleRatio).toString(), - allDaySlot: false, - displayEventTime: false, - slotMinTime: `${this.minHour - 1}:00:00`, - slotMaxTime: `${this.maxHour}:00:00`, - events: this.calendarEventsFunction.bind(this), - eventOverlap: (stillEvent:EventApi) => !stillEvent.classNames.includes(TIME_ENTRY_CLASS_NAME), - plugins: [timeGrid, interactionPlugin], - eventDidMount: this.alterEventEntry.bind(this), - eventWillUnmount: this.beforeEventRemove.bind(this), - eventClick: this.dispatchEventClick.bind(this), - eventDrop: this.moveEvent.bind(this), - dayHeaderClassNames: (data:DayHeaderContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), - dayCellClassNames: (data:DayCellContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), - dayGridClassNames: (data:DayCellContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), - slotLaneClassNames: (data:SlotLaneContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), - slotLabelClassNames: (data:SlotLabelContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), - }; + public additionalOptions:CalendarOptionsWithDayGrid = { + editable: false, + locale: this.i18n.locale, + fixedWeekCount: false, + timeZone: this.configuration.isTimezoneSet() ? this.configuration.timezone() : 'local', + headerToolbar: { + right: '', + center: 'title', + left: 'prev,next today', + }, + buttonText: { today: this.text.today }, + initialView: 'timeGridWeek', + firstDay: this.configuration.startOfWeek(), + hiddenDays: [], + // This is a magic number that is derived by trial and error + contentHeight: 550, + slotEventOverlap: false, + slotLabelInterval: `${this.labelIntervalHours}:00:00`, + slotLabelFormat: (info:VerboseFormattingArg) => ((this.maxHour - info.date.hour) / this.scaleRatio).toString(), + allDaySlot: false, + displayEventTime: false, + slotMinTime: `${this.minHour - 1}:00:00`, + slotMaxTime: `${this.maxHour}:00:00`, + events: this.calendarEventsFunction.bind(this), + eventOverlap: (stillEvent:EventApi) => !stillEvent.classNames.includes(TIME_ENTRY_CLASS_NAME), + plugins: [timeGrid, interactionPlugin], + eventDidMount: this.alterEventEntry.bind(this), + eventWillUnmount: this.beforeEventRemove.bind(this), + eventClick: this.dispatchEventClick.bind(this), + eventDrop: this.moveEvent.bind(this), + dayHeaderClassNames: (data:DayHeaderContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + dayCellClassNames: (data:DayCellContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + dayGridClassNames: (data:DayCellContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + slotLaneClassNames: (data:SlotLaneContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + slotLabelClassNames: (data:SlotLabelContentArg) => this.calendar.applyNonWorkingDay(data, this.nonWorkingDays), + }; + private initializeCalendar(displayedDayss:DisplayedDays) { void this.weekdayService.loadWeekdays() .toPromise() .then(async () => { const date = moment(new Date()).toString(); await this.requireNonWorkingDays(date); + this.additionalOptions.hiddenDays = this.setHiddenDays(displayedDayss); this.calendarOptions$.next( - additionalOptions, + this.additionalOptions, ); }); } @@ -209,10 +207,6 @@ export class TimeEntryCalendarComponent implements OnInit { readonly dayService:DayResourceService, ) {} - ngOnInit():void { - this.initializeCalendar(); - } - async requireNonWorkingDays(date:Date|string) { this.nonWorkingDays = await firstValueFrom(this.dayService.requireNonWorkingYear$(date)); } @@ -667,7 +661,7 @@ export class TimeEntryCalendarComponent implements OnInit { } protected setHiddenDays(displayedDays:DisplayedDays) { - const hiddenDays:number[] = Array + return Array .from(displayedDays, (value, index) => { if (!value) { return (index + 1) % 7; @@ -675,6 +669,5 @@ export class TimeEntryCalendarComponent implements OnInit { return null; }) .filter((value) => value !== null) as number[]; - return hiddenDays; } } From bba51b71ec1f460719bf1674638d844709acfbaa Mon Sep 17 00:00:00 2001 From: bsatarnejad Date: Thu, 6 Jul 2023 16:04:35 +0200 Subject: [PATCH 025/180] spec for check the non-working days on time entry widget --- .../spec/features/my/time_entries_current_user_spec.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/my_page/spec/features/my/time_entries_current_user_spec.rb b/modules/my_page/spec/features/my/time_entries_current_user_spec.rb index 4b249412d1ba..ab88ce5b01cf 100644 --- a/modules/my_page/spec/features/my/time_entries_current_user_spec.rb +++ b/modules/my_page/spec/features/my/time_entries_current_user_spec.rb @@ -113,6 +113,7 @@ end let(:cf_field) { TextEditorField.new(page, custom_field.attribute_name(:camel_case)) } let(:time_logging_modal) { Components::TimeLoggingModal.new } + let!(:week_days) { week_with_saturday_and_sunday_as_weekend } before do login_as user @@ -130,6 +131,14 @@ entries_area.expect_to_span(1, 1, 2, 2) + expect(page).not_to have_selector('.fc-day-mon.fc-non-working-day') + expect(page).not_to have_selector('.fc-day-tue.fc-non-working-day') + expect(page).not_to have_selector('.fc-day-wed.fc-non-working-day') + expect(page).not_to have_selector('.fc-day-thu.fc-non-working-day') + expect(page).not_to have_selector('.fc-day-fri.fc-non-working-day') + expect(page).to have_selector('.fc-day-sat.fc-non-working-day') + expect(page).to have_selector('.fc-day-sun.fc-non-working-day') + expect(page) .to have_content "Total: 6.00" From ccbd1ffde129329fc293dcd3767e6d5e7859edc4 Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 6 Jul 2023 16:51:30 +0200 Subject: [PATCH 026/180] [#48816] Indent third level in index https://community.openproject.org/work_packages/48816 --- .../work_package/pdf_export/schema.json | 8 +++ .../work_package/pdf_export/standard.yml | 1 + app/models/work_package/pdf_export/style.rb | 4 ++ .../pdf_export/table_of_contents.rb | 71 ++++++++++++++++--- 4 files changed, 74 insertions(+), 10 deletions(-) diff --git a/app/models/work_package/pdf_export/schema.json b/app/models/work_package/pdf_export/schema.json index e0d6b2675830..70a627cc8e24 100644 --- a/app/models/work_package/pdf_export/schema.json +++ b/app/models/work_package/pdf_export/schema.json @@ -87,6 +87,14 @@ "subject_indent" : { "$ref" : "#/$defs/measurement" }, + "indent_mode" : { + "type" : "string", + "enum" : [ + "flat", + "stairs", + "third_level" + ] + }, "item" : { "$ref" : "#/$defs/font_and_margin" } diff --git a/app/models/work_package/pdf_export/standard.yml b/app/models/work_package/pdf_export/standard.yml index 8ae2a29a12dc..6d3c172c512a 100644 --- a/app/models/work_package/pdf_export/standard.yml +++ b/app/models/work_package/pdf_export/standard.yml @@ -49,6 +49,7 @@ overview: toc: subject_indent: 4 + indent_mode: "third_level" margin_top: 10 margin_bottom: 20 item: diff --git a/app/models/work_package/pdf_export/style.rb b/app/models/work_package/pdf_export/style.rb index 91aaf5c58f8c..1bde1d6b8e53 100644 --- a/app/models/work_package/pdf_export/style.rb +++ b/app/models/work_package/pdf_export/style.rb @@ -133,6 +133,10 @@ def toc_margins resolve_margin(@styles[:toc]) end + def toc_indent_mode + @styles.dig(:toc, :indent_mode) + end + def toc_item(level) resolve_font(@styles.dig(:toc, :item)).merge( resolve_font(@styles.dig(:toc, "item_level_#{level}".to_sym)) diff --git a/app/models/work_package/pdf_export/table_of_contents.rb b/app/models/work_package/pdf_export/table_of_contents.rb index 96fea5a8909a..e6726b7879fb 100644 --- a/app/models/work_package/pdf_export/table_of_contents.rb +++ b/app/models/work_package/pdf_export/table_of_contents.rb @@ -62,36 +62,87 @@ def measure_part_width(part, part_style) measure_text_width(part, part_style) + styles.toc_item_subject_indent end - def write_part_float(part, part_style) + def write_part_float(indent, part, part_style) pdf.float do - pdf.text(part, part_style) + pdf.indent(indent) do + pdf.text(part, part_style) + end end end def write_toc!(toc_list) - max_level_string_width = toc_list.pluck(:level_string_width).max + levels_indent_list = toc_indent_list(toc_list) toc_list.each do |toc_item| with_margin(styles.toc_item_margins(toc_item[:level])) do - write_toc_item! toc_item, max_level_string_width + write_toc_item! toc_item, levels_indent_list end end end - def write_toc_item_subject!(toc_item, max_level_width, subject_style) - pdf.indent(max_level_width, toc_item[:page_nr_string_width]) do + def write_toc_item_subject!(toc_item, indent, subject_style) + pdf.indent(indent, toc_item[:page_nr_string_width]) do pdf.formatted_text([subject_style.merge({ text: toc_item[:title] })]) end end - def write_toc_item!(toc_item, max_level_width) + def toc_indent_list_flat(levels, level_max_widths) + levels_max_width = level_max_widths.max + levels.map do |_| + { level_indent: 0, subject_index: levels_max_width } + end + end + + def toc_indent_list_stairs(levels, level_max_widths) + indent_list = [] + levels.each do |level| + level_indent = level <= 1 ? 0 : indent_list.last[:subject_index] + subject_index = level_indent + level_max_widths[level - 1] + indent_list.push({ level_indent:, subject_index: }) + end + indent_list + end + + def toc_indent_list_third_level(levels, level_max_widths) + indent_list = [] + first_section = level_max_widths[0..1].max || 0 + second_section = level_max_widths[2..].max || 0 + levels.each do |level| + if level < 3 + indent_list.push({ level_indent: 0, subject_index: first_section }) + else + indent_list.push({ level_indent: first_section, subject_index: first_section + second_section }) + end + end + indent_list + end + + def toc_indent_list(toc_list) + levels = toc_list.pluck(:level).uniq.sort + level_max_widths = levels.map do |level| + toc_list.select { |item| item[:level] == level }.pluck(:level_string_width).max + end + mode = (styles.toc_indent_mode || :flat).to_sym + case mode + when :stairs + toc_indent_list_stairs(levels, level_max_widths) + when :third_level + toc_indent_list_third_level(levels, level_max_widths) + else + toc_indent_list_flat(levels, level_max_widths) + end + end + + def write_toc_item!(toc_item, levels_indent_list) y = pdf.y toc_item_style = styles.toc_item(toc_item[:level]) part_style = toc_item_style.clone font_styles = part_style.delete(:styles) || [] part_style[:style] = font_styles[0] unless font_styles.empty? - write_part_float(toc_item[:level_string], part_style) - write_part_float(toc_item[:page_nr_string], part_style.merge({ align: :right })) - write_toc_item_subject!(toc_item, max_level_width, toc_item_style) + + indent = levels_indent_list[toc_item[:level] - 1] + write_part_float(indent[:level_indent], toc_item[:level_string], part_style) + write_part_float(0, toc_item[:page_nr_string], part_style.merge({ align: :right })) + write_toc_item_subject!(toc_item, indent[:subject_index], toc_item_style) rect = [pdf.bounds.absolute_right, pdf.y, pdf.bounds.absolute_left, y] pdf.link_annotation(rect, Border: [0, 0, 0], Dest: toc_item[:id].to_s) From a3ee99ac656b3451e00357e672dff7b2f338fa4d Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 6 Jul 2023 16:59:16 +0200 Subject: [PATCH 027/180] fix(rubocop): obey linting --- app/models/work_package/pdf_export/table_of_contents.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/models/work_package/pdf_export/table_of_contents.rb b/app/models/work_package/pdf_export/table_of_contents.rb index e6726b7879fb..18818a34f3bf 100644 --- a/app/models/work_package/pdf_export/table_of_contents.rb +++ b/app/models/work_package/pdf_export/table_of_contents.rb @@ -132,12 +132,17 @@ def toc_indent_list(toc_list) end end - def write_toc_item!(toc_item, levels_indent_list) - y = pdf.y + def build_toc_item_styles(toc_item) toc_item_style = styles.toc_item(toc_item[:level]) part_style = toc_item_style.clone font_styles = part_style.delete(:styles) || [] part_style[:style] = font_styles[0] unless font_styles.empty? + [part_style, toc_item_style] + end + + def write_toc_item!(toc_item, levels_indent_list) + y = pdf.y + part_style, toc_item_style = build_toc_item_styles(toc_item) indent = levels_indent_list[toc_item[:level] - 1] write_part_float(indent[:level_indent], toc_item[:level_string], part_style) From 137ef133f113331e3c87d1dd37d93de2e7cf27fb Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 6 Jul 2023 17:08:25 +0200 Subject: [PATCH 028/180] fix(rubocop): obey linting --- app/models/work_package/pdf_export/table_of_contents.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/models/work_package/pdf_export/table_of_contents.rb b/app/models/work_package/pdf_export/table_of_contents.rb index 18818a34f3bf..2b7174b604c7 100644 --- a/app/models/work_package/pdf_export/table_of_contents.rb +++ b/app/models/work_package/pdf_export/table_of_contents.rb @@ -143,12 +143,15 @@ def build_toc_item_styles(toc_item) def write_toc_item!(toc_item, levels_indent_list) y = pdf.y part_style, toc_item_style = build_toc_item_styles(toc_item) - indent = levels_indent_list[toc_item[:level] - 1] + write_part_float(indent[:level_indent], toc_item[:level_string], part_style) write_part_float(0, toc_item[:page_nr_string], part_style.merge({ align: :right })) write_toc_item_subject!(toc_item, indent[:subject_index], toc_item_style) + write_toc_item_link(toc_item, y) + end + def write_toc_item_link(toc_item, y) rect = [pdf.bounds.absolute_right, pdf.y, pdf.bounds.absolute_left, y] pdf.link_annotation(rect, Border: [0, 0, 0], Dest: toc_item[:id].to_s) end From 7fa468ed0c2a03414634419aa35d5b3fa3e767a7 Mon Sep 17 00:00:00 2001 From: as-op Date: Thu, 6 Jul 2023 17:11:41 +0200 Subject: [PATCH 029/180] fix(rubocop): obey linting --- app/models/work_package/pdf_export/table_of_contents.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/models/work_package/pdf_export/table_of_contents.rb b/app/models/work_package/pdf_export/table_of_contents.rb index 2b7174b604c7..21fb9e6c473c 100644 --- a/app/models/work_package/pdf_export/table_of_contents.rb +++ b/app/models/work_package/pdf_export/table_of_contents.rb @@ -141,18 +141,18 @@ def build_toc_item_styles(toc_item) end def write_toc_item!(toc_item, levels_indent_list) - y = pdf.y + y_start_position = pdf.y part_style, toc_item_style = build_toc_item_styles(toc_item) indent = levels_indent_list[toc_item[:level] - 1] write_part_float(indent[:level_indent], toc_item[:level_string], part_style) write_part_float(0, toc_item[:page_nr_string], part_style.merge({ align: :right })) write_toc_item_subject!(toc_item, indent[:subject_index], toc_item_style) - write_toc_item_link(toc_item, y) + write_toc_item_link(toc_item, y_start_position) end - def write_toc_item_link(toc_item, y) - rect = [pdf.bounds.absolute_right, pdf.y, pdf.bounds.absolute_left, y] + def write_toc_item_link(toc_item, y_start_position) + rect = [pdf.bounds.absolute_right, pdf.y, pdf.bounds.absolute_left, y_start_position] pdf.link_annotation(rect, Border: [0, 0, 0], Dest: toc_item[:id].to_s) end end From 152a018d33126e564bd49d4c9314ce87e7a88344 Mon Sep 17 00:00:00 2001 From: Andreas Pfohl Date: Fri, 7 Jul 2023 10:21:10 +0200 Subject: [PATCH 030/180] [#48573] Implement a copy command https://community.openproject.org/work_packages/48573 --- .../nextcloud/copy_folder_command.rb | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/copy_folder_command.rb diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/copy_folder_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/copy_folder_command.rb new file mode 100644 index 000000000000..49826b6499c5 --- /dev/null +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/copy_folder_command.rb @@ -0,0 +1,73 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2023 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::Peripherals::StorageInteraction::Nextcloud + class CopyFolderCommand + using Storages::Peripherals::ServiceResultRefinements + + def initialize(storage) + @storage = storage + end + + # rubocop:disable Metrics/AbcSize + def call(source_folder_path, destination_folder_path) + source = Util.join_uri_path( + @storage.host, + "remote.php/dav/files", + CGI.escapeURIComponent(@storage.username), + Util.escape_path(source_folder_path) + ) + destination = Util.join_uri_path( + @storage.host, + "remote.php/dav/files", + CGI.escapeURIComponent(@storage.username), + Util.escape_path(destination_folder_path) + ) + + request = Net::HTTP::Copy.new(source) + request['Destination'] = destination + request.initialize_http_header Util.basic_auth_header(@storage.username, @storage.password) + + response = Util.http(@storage.host).request(request) + + case response + when Net::HTTPSuccess + ServiceResult.success(message: 'Folder was successfully copied.') + when Net::HTTPUnauthorized + Util.error(:not_authorized) + when Net::HTTPNotFound + Util.error(:not_found) + when Net::HTTPConflict + Util.error(:conflict, error_text_from_response(response)) + else + Util.error(:unknown) + end + end + # rubocop:enable Metrics/AbcSize + end +end From 08b14994b2b9aeb79ba8db4e9f34db42101941dd Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Fri, 7 Jul 2023 15:58:37 +0200 Subject: [PATCH 031/180] Align headers on user activity page --- app/helpers/users_helper.rb | 4 ++++ app/models/user_preference.rb | 4 ++++ app/views/users/show.html.erb | 20 +++++++++-------- spec/helpers/users_helper_spec.rb | 37 +++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+), 9 deletions(-) diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 8ccb5fb2215c..f1d9b955bcfa 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -118,6 +118,10 @@ def change_user_status_links(user) end end + def visible_user_information?(user) + user.pref.can_expose_mail? || user.visible_custom_field_values.any? { _1.value.present? } + end + def user_name(user) user ? user.name : I18n.t('user.deleted') end diff --git a/app/models/user_preference.rb b/app/models/user_preference.rb index f710029d341a..1eca2b38a17b 100644 --- a/app/models/user_preference.rb +++ b/app/models/user_preference.rb @@ -94,6 +94,10 @@ def hide_mail settings.fetch(:hide_mail, true) end + def can_expose_mail? + !hide_mail + end + def auto_hide_popups=(value) settings[:auto_hide_popups] = to_boolean(value) end diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index b5d3cb82b321..91c7e4cc1197 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -45,16 +45,18 @@ See COPYRIGHT and LICENSE files for more details. diff --git a/modules/reporting/app/workers/cost_query/export_job.rb b/modules/reporting/app/workers/cost_query/export_job.rb new file mode 100644 index 000000000000..90472f7add9c --- /dev/null +++ b/modules/reporting/app/workers/cost_query/export_job.rb @@ -0,0 +1,61 @@ +require 'active_storage/filename' + +class CostQuery::ExportJob < Exports::ExportJob + self.model = ::CostQuery + + def title + I18n.t('export.cost_reports.title') + end + + def project + options[:project] + end + + def cost_types + options[:cost_types] + end + + private + + def prepare! + self.query = build_query(query) + end + + def export! + # Build an xls file from a cost report. + # We only support extracting a simple xls table, so grouping is ignored. + handle_export_result(export, xls_report_result) + end + + def xls_report_result + params = { query:, project:, cost_types: } + content = ::OpenProject::Reporting::CostEntryXlsTable.generate(params).xls + time = Time.zone.now.strftime('%d-%m-%Y-T-%H-%M-%S') + export_title = "cost-report-#{time}.xls" + + ::Exports::Result.new(format: :xls, + title: export_title, + 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 diff --git a/modules/reporting/config/locales/en.yml b/modules/reporting/config/locales/en.yml index 62e391dbe0be..a59d5d0826de 100644 --- a/modules/reporting/config/locales/en.yml +++ b/modules/reporting/config/locales/en.yml @@ -99,6 +99,10 @@ en: validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" + reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/xls_export/lib/open_project/xls_export/xls_views/cost_entry_table.rb b/modules/reporting/lib/open_project/reporting/cost_entry_xls_table.rb similarity index 96% rename from modules/xls_export/lib/open_project/xls_export/xls_views/cost_entry_table.rb rename to modules/reporting/lib/open_project/reporting/cost_entry_xls_table.rb index 1b80420e5e94..11851766e81f 100644 --- a/modules/xls_export/lib/open_project/xls_export/xls_views/cost_entry_table.rb +++ b/modules/reporting/lib/open_project/reporting/cost_entry_xls_table.rb @@ -1,4 +1,4 @@ -class OpenProject::XlsExport::XlsViews::CostEntryTable < OpenProject::XlsExport::XlsViews +class OpenProject::Reporting::CostEntryXlsTable < OpenProject::XlsExport::XlsViews def generate @spreadsheet = OpenProject::XlsExport::SpreadsheetBuilder.new(I18n.t(:label_money)) default_query = serialize_query_without_hidden(@query) diff --git a/modules/xls_export/app/models/xls_export/cost_reports/export.rb b/modules/xls_export/app/models/xls_export/cost_reports/export.rb deleted file mode 100644 index 6986541d538e..000000000000 --- a/modules/xls_export/app/models/xls_export/cost_reports/export.rb +++ /dev/null @@ -1,14 +0,0 @@ -module XlsExport - module CostReports - class Export < ::Export - acts_as_attachable view_permission: :export_work_packages, - add_permission: :export_work_packages, - delete_permission: :export_work_packages, - only_user_allowed: true - - def ready? - attachments.any? - end - end - end -end diff --git a/modules/xls_export/app/views/hooks/xls_report/_view_cost_report_toolbar.html.erb b/modules/xls_export/app/views/hooks/xls_report/_view_cost_report_toolbar.html.erb index 518faed2ebd8..e69de29bb2d1 100644 --- a/modules/xls_export/app/views/hooks/xls_report/_view_cost_report_toolbar.html.erb +++ b/modules/xls_export/app/views/hooks/xls_report/_view_cost_report_toolbar.html.erb @@ -1,10 +0,0 @@ -<% if User.current.allowed_to? :export_work_packages, @project, global: @project.nil? %> -
  • - <%= link_to(t(:export_to_excel), - { controller: "cost_reports" , - action: :index, - format: 'xls', - project_id: @project }, - class: "button icon-export-xls-descr") %> -
  • -<% end %> diff --git a/modules/xls_export/app/workers/xls_export/cost_reports/export_job.rb b/modules/xls_export/app/workers/xls_export/cost_reports/export_job.rb deleted file mode 100644 index 9512d1a44302..000000000000 --- a/modules/xls_export/app/workers/xls_export/cost_reports/export_job.rb +++ /dev/null @@ -1,62 +0,0 @@ -require 'active_storage/filename' - -module XlsExport - module CostReports - class ExportJob < ::Exports::ExportJob - self.model = ::CostQuery - - def title - I18n.t('export.cost_reports.title') - end - - def project - options[:project] - end - - def cost_types - options[:cost_types] - end - - private - - def prepare! - self.query = build_query(query) - end - - def export! - # Build an xls file from a cost report. - # We only support extracting a simple xls table, so grouping is ignored. - handle_export_result(export, xls_report_result) - end - - def xls_report_result - params = { query:, project:, cost_types: } - content = ::OpenProject::XlsExport::XlsViews::CostEntryTable.generate(params).xls - time = Time.now.strftime('%d-%m-%Y-T-%H-%M-%S') - export_title = "cost-report-#{time}.xls" - - ::Exports::Result.new(format: :xls, - title: export_title, - mime_type: 'application/vnd.ms-excel', - content:) - end - - 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 - end - end -end diff --git a/modules/xls_export/config/locales/en.yml b/modules/xls_export/config/locales/en.yml index 463ca2721f6f..ff907b35a7bc 100644 --- a/modules/xls_export/config/locales/en.yml +++ b/modules/xls_export/config/locales/en.yml @@ -5,8 +5,6 @@ en: different_formats: Different formats export: - cost_reports: - title: "Your Cost Reports XLS export" format: xls: "XLS" xls_with_descriptions: "XLS with descriptions" diff --git a/modules/xls_export/lib/open_project/xls_export/engine.rb b/modules/xls_export/lib/open_project/xls_export/engine.rb index d63be150d3b6..884d18c94076 100644 --- a/modules/xls_export/lib/open_project/xls_export/engine.rb +++ b/modules/xls_export/lib/open_project/xls_export/engine.rb @@ -8,10 +8,7 @@ class Engine < ::Rails::Engine author_url: 'https://www.openproject.org', bundled: true - patches %i[CostReportsController] - config.to_prepare do - OpenProject::XlsExport::Hooks::CostReportHook OpenProject::XlsExport::Hooks::WorkPackageHook end diff --git a/modules/xls_export/lib/open_project/xls_export/hooks/cost_report_hook.rb b/modules/xls_export/lib/open_project/xls_export/hooks/cost_report_hook.rb deleted file mode 100644 index 7b8508dea468..000000000000 --- a/modules/xls_export/lib/open_project/xls_export/hooks/cost_report_hook.rb +++ /dev/null @@ -1,5 +0,0 @@ -module OpenProject::XlsExport::Hooks - class CostReportHook < OpenProject::Hook::ViewListener - render_on :view_cost_report_toolbar, partial: 'hooks/xls_report/view_cost_report_toolbar' - end -end diff --git a/modules/xls_export/lib/open_project/xls_export/patches/cost_reports_controller_patch.rb b/modules/xls_export/lib/open_project/xls_export/patches/cost_reports_controller_patch.rb deleted file mode 100644 index 278b5e8176a9..000000000000 --- a/modules/xls_export/lib/open_project/xls_export/patches/cost_reports_controller_patch.rb +++ /dev/null @@ -1,37 +0,0 @@ -module OpenProject::XlsExport::Patches - module CostReportsControllerPatch - def self.included(base) - # :nodoc: - base.prepend InstanceMethods - end - - module InstanceMethods - def excel_export? - (params["action"] == "index" or params[:action] == "all") && params["format"] == "xls" - end - - def ensure_project_scope? - !excel_export? && super - end - - # If the index action is called, hook the xls format into the cost report - def respond_to - return super unless excel_export? - - super do |format| - yield format - format.xls do - job_id = XlsExport::CostReports::ScheduleExportService - .new(user: current_user) - .call(filter_params:, project: @project, cost_types: @cost_types) - .result - - redirect_to job_status_path(job_id) - end - end - end - end - end -end - -CostReportsController.include OpenProject::XlsExport::Patches::CostReportsControllerPatch diff --git a/modules/xls_export/openproject-xls_export.gemspec b/modules/xls_export/openproject-xls_export.gemspec index 8ae8d44e04e4..bdd739ea5e0a 100644 --- a/modules/xls_export/openproject-xls_export.gemspec +++ b/modules/xls_export/openproject-xls_export.gemspec @@ -4,8 +4,7 @@ Gem::Specification.new do |s| s.authors = "OpenProject GmbH" s.email = "info@openproject.com" s.summary = 'OpenProject XLS Export' - s.description = 'Export issue lists as Excel spreadsheets (.xls). Support for exporting - cost entries and cost reports is not yet migrated to Rails 3 and disabled.' + s.description = 'Export issue lists as Excel spreadsheets (.xls)' s.license = "GPLv3" s.files = Dir["{app,config,db,lib}/**/*"] + %w(CHANGELOG.md README.md) diff --git a/modules/xls_export/spec/patches/cost_reports_controller_patch_spec.rb b/modules/xls_export/spec/patches/cost_reports_controller_patch_spec.rb deleted file mode 100644 index d2b24bbfea46..000000000000 --- a/modules/xls_export/spec/patches/cost_reports_controller_patch_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -require 'spec_helper' - -describe 'CostReportsController', "rendering to xls" do - skip 'XlsExport: CostReports support not yet migrated to Rails 3' - - it "responds with the xls if requested in the index" do - skip - render action: :index - expect(response).to be_redirect - end - - it "does not respond with the xls if requested in a detail view" do - skip - render action: :show - expect(response).to be_redirect - end - - it "generates xls from issues" do - skip - end -end From a5db2004c64d19918ee1d7ca0bcc46fedd8bc450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Wed, 12 Jul 2023 21:00:33 +0200 Subject: [PATCH 128/180] Add feature spec to test background export --- .../spec/features/export_cost_report_spec.rb | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 modules/reporting/spec/features/export_cost_report_spec.rb diff --git a/modules/reporting/spec/features/export_cost_report_spec.rb b/modules/reporting/spec/features/export_cost_report_spec.rb new file mode 100644 index 000000000000..49d38d7a363b --- /dev/null +++ b/modules/reporting/spec/features/export_cost_report_spec.rb @@ -0,0 +1,76 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2023 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' + +describe "Cost reports XLS export", js: true 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 } + let(:sheet) { @download_list.refresh_from(page).latest_downloaded_content } # rubocop:disable RSpec/InstanceVariable + + subject do + io = StringIO.new sheet + Spreadsheet.open(io).worksheets.first + end + + before do + @download_list = DownloadList.new + login_as(user) + end + + after do + DownloadList.clear + end + + it 'can download and open the XLS' do + report_page.visit! + click_on 'Export XLS' + + expect(page).to have_content I18n.t('js.job_status.generic_messages.in_queue'), + wait: 10 + perform_enqueued_jobs + + expect(page).to have_text("The export has completed successfully") + + title, _, entry, = subject.rows + expect(title.first).to include("Cost reports (#{Time.zone.today.strftime('%m/%d/%Y')})") + date, user_ref, _, wp_ref, _, project_ref, costs, type, = entry + + expect(date).to eq(Time.zone.today.iso8601) + expect(user_ref).to eq(user.name) + expect(wp_ref).to include 'Some task' + expect(project_ref).to eq project.name + expect(costs).to eq 1.0 + expect(type).to eq 'Post-war' + end +end From 714be7ef3becf59d04698b4f97ed156247117bec Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Tue, 11 Jul 2023 00:58:39 +0000 Subject: [PATCH 129/180] Fix flaky `mobile_date_filter_spec`s * Migrated the spec file to cuprite. * Solves the cause of flakiness being that the expectations/assertions are being executed while still loading. `wait_for_reload` + `loading_indicator_saveguard` ensures that both network requests are idle, javascript is completely loaded and the loading indicator isn't present. --- .../table/queries/mobile_date_filter_spec.rb | 17 +++++----- spec/support/shared/with_mobile_screen.rb | 31 ++++++++++++++----- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/spec/features/work_packages/table/queries/mobile_date_filter_spec.rb b/spec/features/work_packages/table/queries/mobile_date_filter_spec.rb index 54c298399a79..c9fe1f73244a 100644 --- a/spec/features/work_packages/table/queries/mobile_date_filter_spec.rb +++ b/spec/features/work_packages/table/queries/mobile_date_filter_spec.rb @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'mobile date filter work packages', js: true do +RSpec.describe 'mobile date filter work packages', :js, :with_cuprite do shared_let(:user) { create(:admin) } shared_let(:project) { create(:project) } shared_let(:wp_table) { Pages::WorkPackagesTable.new(project) } @@ -54,13 +54,15 @@ start_field = find('[data-qa-selector="op-basic-range-date-picker-start"]') end_field = find('[data-qa-selector="op-basic-range-date-picker-end"]') - start_field.native.clear - end_field.native.clear + clear_input_field_contents(start_field) + clear_input_field_contents(end_field) - start_field.set 1.day.ago.strftime('%m/%d/%Y') - end_field.set Date.current.strftime('%m/%d/%Y') + start_field.set 1.day.ago.to_date + start_field.send_keys :tab + end_field.set Date.current end_field.send_keys :tab + wait_for_reload loading_indicator_saveguard wp_cards.expect_work_package_count 1 @@ -85,9 +87,10 @@ date_field = find_field 'values-dueDate' expect(date_field['type']).to eq 'date' - date_field.native.clear - date_field.set Date.current.strftime('%m/%d/%Y') + clear_input_field_contents(date_field) + date_field.set Date.current + wait_for_reload loading_indicator_saveguard wp_cards.expect_work_package_count 1 diff --git a/spec/support/shared/with_mobile_screen.rb b/spec/support/shared/with_mobile_screen.rb index 2e3c887c21f2..5ebaceeb14e7 100644 --- a/spec/support/shared/with_mobile_screen.rb +++ b/spec/support/shared/with_mobile_screen.rb @@ -26,21 +26,38 @@ RSpec.shared_context 'with mobile screen size' do |width, height| let!(:height_before) do - page.driver.browser.manage.window.size.height + if using_cuprite? + page.current_window.size.second + else + page.driver.browser.manage.window.size.height + end end + let!(:width_before) do - page.driver.browser.manage.window.size.width + if using_cuprite? + page.current_window.size.first + else + page.driver.browser.manage.window.size.width + end end before do # Change browser size - page.driver.browser.manage.window.resize_to(width || 500, height || 1000) - - # Refresh the page - page.driver.browser.navigate.refresh + # and refresh the page + if using_cuprite? + page.driver.resize(width || 500, height || 1000) + page.driver.refresh + else + page.driver.browser.manage.window.resize_to(width || 500, height || 1000) + page.driver.browser.navigate.refresh + end end after do - page.driver.browser.manage.window.resize_to(width_before, height_before) + if using_cuprite? + page.driver.resize(width_before, height_before) + else + page.driver.browser.manage.window.resize_to(width_before, height_before) + end end end From ce298ed2ac488593e7f1bbaff3bda4003aff4048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 13 Jul 2023 20:32:33 +0200 Subject: [PATCH 130/180] Fix missing RSpec prefix after merging to dev --- modules/reporting/spec/features/export_cost_report_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/reporting/spec/features/export_cost_report_spec.rb b/modules/reporting/spec/features/export_cost_report_spec.rb index 49d38d7a363b..0f2089ee2915 100644 --- a/modules/reporting/spec/features/export_cost_report_spec.rb +++ b/modules/reporting/spec/features/export_cost_report_spec.rb @@ -29,7 +29,7 @@ require_relative '../spec_helper' require_relative 'support/pages/cost_report_page' -describe "Cost reports XLS export", js: true do +RSpec.describe "Cost reports XLS export", js: true 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') } From 83427400a34aade44d98a9565ea4b09fd4c750ae Mon Sep 17 00:00:00 2001 From: Pavel Balashou Date: Thu, 13 Jul 2023 20:57:00 +0200 Subject: [PATCH 131/180] [#49096] Check explicitly if user is a project member before show the link to project folder in the menu. https://community.openproject.org/work_packages/49096 - In case an admin is not a member show the link to a storage root folder - Add a test case - Enable cuprite for `modules/storages/spec/features/storages_menu_links_spec.rb` --- .../lib/open_project/storages/engine.rb | 2 +- .../spec/features/storages_menu_links_spec.rb | 33 ++++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/modules/storages/lib/open_project/storages/engine.rb b/modules/storages/lib/open_project/storages/engine.rb index 01c065157627..512ff777460a 100644 --- a/modules/storages/lib/open_project/storages/engine.rb +++ b/modules/storages/lib/open_project/storages/engine.rb @@ -133,7 +133,7 @@ class Engine < ::Rails::Engine User.current.allowed_to?(:view_file_links, project) project.projects_storages.each do |project_storage| storage = project_storage.storage - href = if project_storage.project_folder_inactive? + href = if project_storage.project_folder_inactive? || !User.current.member_of?(project) storage.host else ::Storages::Peripherals::StorageUrlHelper.storage_url_open_file(storage, project_storage.project_folder_id) diff --git a/modules/storages/spec/features/storages_menu_links_spec.rb b/modules/storages/spec/features/storages_menu_links_spec.rb index 39a17a570600..57f46aa79a1a 100644 --- a/modules/storages/spec/features/storages_menu_links_spec.rb +++ b/modules/storages/spec/features/storages_menu_links_spec.rb @@ -28,7 +28,7 @@ require_relative '../spec_helper' -RSpec.describe 'Project menu', js: true do +RSpec.describe 'Project menu', js: true, with_cuprite: true do let(:storage) { create(:storage, name: "Storage 1") } let(:another_storage) { create(:storage, name: "Storage 2") } let(:unlinked_storage) { create(:storage, name: "Storage 3") } @@ -49,14 +49,31 @@ visit(project_path(project)) end - it 'has links to enabled storages' do - visit(project_path(id: project.id)) + context 'if user has permission to see storage links' do + it 'has links to enabled storages' do + visit(project_path(id: project.id)) + + expect(page).to have_link(storage.name, href: storage.host) + project_folder_id = project_storage_with_manual_folder.project_folder_id + folder_href = "#{another_storage.host}/index.php/f/#{project_folder_id}?openfile=1" + expect(page).to have_link(another_storage.name, href: folder_href) + expect(page).not_to have_link(unlinked_storage.name) + end - expect(page).to have_link(storage.name, href: storage.host) - project_folder_id = project_storage_with_manual_folder.project_folder_id - folder_href = "#{another_storage.host}/index.php/f/#{project_folder_id}?openfile=1" - expect(page).to have_link(another_storage.name, href: folder_href) - expect(page).not_to have_link(unlinked_storage.name) + context 'if user is an admin but not a member of the project' do + let(:user) { create(:admin) } + + it 'has a link to enabled storage, but not to hidden for him project' do + visit(project_path(id: project.id)) + + expect(page).to have_link(storage.name, href: storage.host) + project_folder_id = project_storage_with_manual_folder.project_folder_id + folder_href = "#{another_storage.host}/index.php/f/#{project_folder_id}?openfile=1" + expect(page).not_to have_link(another_storage.name, href: folder_href) + expect(page).to have_link(another_storage.name, href: another_storage.host) + expect(page).not_to have_link(unlinked_storage.name) + end + end end context 'if user has no permission to see storage links' do From d066e1ddfa313e0469317a02b96ad086b9f4e2dc Mon Sep 17 00:00:00 2001 From: Pavel Balashou Date: Thu, 13 Jul 2023 09:34:29 +0200 Subject: [PATCH 132/180] [#49095] Do remove_inactive_users_from_group as a last step of synchronization. https://community.openproject.org/work_packages/49095 --- .../services/storages/group_folder_properties_sync_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/storages/app/services/storages/group_folder_properties_sync_service.rb b/modules/storages/app/services/storages/group_folder_properties_sync_service.rb index 9b2392945a72..1e4a8997e069 100644 --- a/modules/storages/app/services/storages/group_folder_properties_sync_service.rb +++ b/modules/storages/app/services/storages/group_folder_properties_sync_service.rb @@ -69,9 +69,9 @@ def call set_project_folder_permissions(path: project_folder_path, project:) end + hide_inactive_project_folders add_active_users_to_group remove_inactive_users_from_group - hide_inactive_project_folders end # rubocop:enable Metrics/AbcSize From 570e65ec40e10ca0dbb9a33cf79ea1c05dafc11e Mon Sep 17 00:00:00 2001 From: Pavel Balashou Date: Thu, 13 Jul 2023 10:01:27 +0200 Subject: [PATCH 133/180] Refactor a way of handing commands/queries fails. --- .../group_folder_properties_sync_service.rb | 104 ++++++++++++------ 1 file changed, 69 insertions(+), 35 deletions(-) diff --git a/modules/storages/app/services/storages/group_folder_properties_sync_service.rb b/modules/storages/app/services/storages/group_folder_properties_sync_service.rb index 1e4a8997e069..fa6d08a79290 100644 --- a/modules/storages/app/services/storages/group_folder_properties_sync_service.rb +++ b/modules/storages/app/services/storages/group_folder_properties_sync_service.rb @@ -78,16 +78,17 @@ def call private def set_group_folder_root_permissions - permissions = { - users: { @nextcloud_system_user.to_sym => ALL_PERMISSIONS }, - groups: { @group.to_sym => PERMISSIONS_MAP[:read_files] } + command_params = { + path: @group_folder, + permissions: { + users: { @nextcloud_system_user.to_sym => ALL_PERMISSIONS }, + groups: { @group.to_sym => PERMISSIONS_MAP[:read_files] } + } } @requests .set_permissions_command - .call(path: @group_folder, permissions:) - .on_failure do |r| - raise "set_permissions_command(path: #{@group_folder}, permissions: #{permissions}) failed: #{r.inspect}" - end + .call(**command_params) + .on_failure(&failure_handler('set_permissions_command', command_params)) end def project_folder_path(project) @@ -116,25 +117,33 @@ def file_ids end def folders_properties - @folders_properties ||= @requests - .propfind_query - .call(depth: '1', path: @group_folder, props: %w[oc:fileid]) - .on_failure do |r| - raise "propfind_query(depth: 1, path: #{@group_folder}, props: #{%w[oc:fileid]}) failed: #{r.inspect}" - end.result + @folders_properties ||= + begin + query_params = { + depth: '1', + path: @group_folder, + props: %w[oc:fileid] + } + @requests + .propfind_query + .call(**query_params) + .on_failure(&failure_handler('propfind_query', query_params)) + .result + end end def rename_folder(source:, target:) - @requests.rename_file_command.call(source:, target:).on_failure do |r| - raise "rename_file_command failed(source: #{source} target: #{target}) failed: #{r.inspect}" - end + @requests + .rename_file_command + .call(source:, target:) + .on_failure(&failure_handler('rename_file_command', { source:, target: })) end def create_folder(path:, project_storage:) @requests.create_folder_command.call(folder_path: path) .match( on_success: ->(_) { ServiceResult.success(result: [project_storage, path]) }, - on_failure: ->(r) { raise "create_folder_command(folder_path: #{path}) failed: #{r.inspect}, " } + on_failure: failure_handler('create_folder_command', { folder_path: path }) ) end @@ -146,12 +155,17 @@ def save_file_id def obtain_file_id ->((project_storage, path)) do + query_params = { + depth: '0', + path:, + props: %w[oc:fileid] + } @requests .propfind_query - .call(depth: '0', path:, props: %w[oc:fileid]) + .call(**query_params) .match( on_success: ->(result) { ServiceResult.success(result: [project_storage, result.dig(path, 'fileid')]) }, - on_failure: ->(_result) { raise "propfind_query failed: #{r}, depth: 0, path: #{path}" } + on_failure: failure_handler('propfind_query', query_params) ) end end @@ -173,16 +187,25 @@ def calculate_permissions(user:, project:) end def set_project_folder_permissions(path:, project:) - permissions = project_folder_permissions(project:) - @requests.set_permissions_command.call(path:, permissions:).on_failure do |r| - raise "set_permissions_command path(#{path}, permissions: #{permissions}) failed: #{r.inspect}" - end + command_params = { + path:, + permissions: project_folder_permissions(project:) + } + @requests + .set_permissions_command + .call(**command_params) + .on_failure(&failure_handler('set_permissions_command', command_params)) end def group_users - @group_users ||= @requests.group_users_query.call(group: @group).on_failure do |r| - raise "group_users_query(group: #{@group}) failed: #{r.inspect}" - end.result + @group_users ||= begin + query_params = { group: @group } + @requests + .group_users_query + .call(**query_params) + .on_failure(&failure_handler('group_users_query', query_params)) + .result + end end def project_folder_permissions(project:) @@ -202,9 +225,11 @@ def project_folder_permissions(project:) def add_active_users_to_group @nextcloud_usernames_used_in_openproject.each do |nextcloud_username| if group_users.exclude?(nextcloud_username) - @requests.add_user_to_group_command.call(user: nextcloud_username).on_failure do |r| - raise "add_user_to_group_command(user: #{netcloud_username}) failed: #{r.inspect}, " - end + query_params = { user: nextcloud_username } + @requests + .add_user_to_group_command + .call(**query_params) + .on_failure(&failure_handler('add_user_to_group_command', query_params)) end end end @@ -219,7 +244,7 @@ def remove_user_from_group(user) @requests .remove_user_from_group_command .call(user:) - .on_failure { |r| raise "remove_user_from_group_command(user: #{user}) failed: #{r.inspect}" } + .on_failure(&failure_handler('remove_user_from_group_command', { user: })) end def hide_inactive_project_folders @@ -233,13 +258,22 @@ def inactive_project_folder_paths end def hide_folder(path) - permissions = { - users: { "#{@nextcloud_system_user}": ALL_PERMISSIONS }, - groups: { "#{@group}": NO_PERMISSIONS } + command_params = { + path:, + permissions: { + users: { "#{@nextcloud_system_user}": ALL_PERMISSIONS }, + groups: { "#{@group}": NO_PERMISSIONS } + } } @requests .set_permissions_command - .call(path:, permissions:) - .on_failure { |r| raise "set_permissions_command(path: #{path}, permissions: #{permissions}) failed: #{r.inspect}" } + .call(**command_params) + .on_failure(&failure_handler('set_permissions_command', command_params)) + end + + def failure_handler(command, params) + ->(service_result) do + raise "#{command} was called with #{params} and failed with: #{service_result.inspect}" + end end end From 9e6e876de3eeede489c1770d60ff65b0837efe29 Mon Sep 17 00:00:00 2001 From: Pavel Balashou Date: Thu, 13 Jul 2023 20:19:02 +0200 Subject: [PATCH 134/180] Add a specific test case. --- ...oup_folder_properties_sync_service_spec.rb | 624 +++++++++--------- 1 file changed, 330 insertions(+), 294 deletions(-) diff --git a/modules/storages/spec/services/storages/group_folder_properties_sync_service_spec.rb b/modules/storages/spec/services/storages/group_folder_properties_sync_service_spec.rb index c5f4cacf5edf..fa16274f2421 100644 --- a/modules/storages/spec/services/storages/group_folder_properties_sync_service_spec.rb +++ b/modules/storages/spec/services/storages/group_folder_properties_sync_service_spec.rb @@ -29,11 +29,145 @@ require 'spec_helper' RSpec.describe Storages::GroupFolderPropertiesSyncService, webmock: true do - # rubocop:disable RSpec/IndexedLet - let(:group_users_response_body) do - <<~XML - - + describe '#call' do + # rubocop:disable RSpec/IndexedLet + let(:group_users_response_body) do + <<~XML + + + + ok + 100 + OK + + + + + + Darth Maul + OpenProject + + + + XML + end + let(:set_permissions_request_body1) do + <<~XML + + + + + + + group + OpenProject + 31 + 1 + + + user + OpenProject + 31 + 31 + + + + + + XML + end + let(:set_permissions_response_body1) do + <<~XML + + + + /remote.php/dav/files/OpenProject/OpenProject + + + + + HTTP/1.1 200 OK + + + + XML + end + let(:propfind_request_body) do + <<~XML + + + + + + + XML + end + let(:propfind_response_body1) do + <<~XML + + + + /remote.php/dav/files/OpenProject/OpenProject/ + + + 349 + + HTTP/1.1 200 OK + + + + /remote.php/dav/files/OpenProject/OpenProject/Lost%20Jedi%20Project%20Folder%20%232/ + + + 783 + + HTTP/1.1 200 OK + + + + /remote.php/dav/files/OpenProject/OpenProject/Lost%20Jedi%20Project%20Folder%20%233/ + + + 123 + + HTTP/1.1 200 OK + + + + XML + end + let(:propfind_response_body2) do + <<~XML + + + + /remote.php/dav/files/OpenProject/OpenProject/%5bSample%5d%20Project%20Name%20%7c%20Ehuu%20(#{project1.id})/ + + + 819 + + HTTP/1.1 200 OK + + + + XML + end + let(:add_user_to_group_response_body) do + <<~XML + + ok 100 @@ -41,306 +175,176 @@ - - - Darth Maul - OpenProject - - - - XML - end - let(:set_permissions_request_body1) do - <<~XML - - - - - - - group - OpenProject - 31 - 1 - - - user - OpenProject - 31 - 31 - - - - - - XML - end - let(:set_permissions_response_body1) do - <<~XML - - - - /remote.php/dav/files/OpenProject/OpenProject - - - - - HTTP/1.1 200 OK - - - - XML - end - let(:propfind_request_body) do - <<~XML - - - - - - - XML - end - let(:propfind_response_body1) do - <<~XML - - - - /remote.php/dav/files/OpenProject/OpenProject/ - - - 349 - - HTTP/1.1 200 OK - - - - /remote.php/dav/files/OpenProject/OpenProject/Lost%20Jedi%20Project%20Folder%20%232/ - - - 783 - - HTTP/1.1 200 OK - - - - /remote.php/dav/files/OpenProject/OpenProject/Lost%20Jedi%20Project%20Folder%20%233/ - - - 123 - - HTTP/1.1 200 OK - - - - XML - end - let(:propfind_response_body2) do - <<~XML - - - - /remote.php/dav/files/OpenProject/OpenProject/%5bSample%5d%20Project%20Name%20%7c%20Ehuu%20(#{project1.id})/ - - - 819 - - HTTP/1.1 200 OK - - - - XML - end - let(:add_user_to_group_response_body) do - <<~XML - - - - ok - 100 - OK - - - - - - XML - end - let(:set_permissions_request_body2) do - <<~XML - - - - - - - group - OpenProject - 31 - 0 - - - user - OpenProject - 31 - 31 - - - user - Obi-Wan - 31 - 3 - - - - - - XML - end - let(:set_permissions_response_body2) do - <<~XML - - - - /remote.php/dav/files/OpenProject/OpenProject/%5bSample%5d%20Project%20Name%20%7c%20Ehuu(#{project1.id}) - - - - - HTTP/1.1 200 OK - - - - XML - end - let(:remove_user_from_group_response) do - <<~XML - - - - ok - 100 - OK - - - - - - XML - end - let(:set_permissions_request_body3) do - <<~XML - - - - - - - group - OpenProject - 31 - 0 - - - user - OpenProject - 31 - 31 - - - - - - XML - end - let(:set_permissions_response_body3) do - <<~XML - - - - /remote.php/dav/files/OpenProject/OpenProject/Lost%20Jedi%20Project%20Folder%20%232 - + + + XML + end + let(:set_permissions_request_body2) do + <<~XML + + + - + + + group + OpenProject + 31 + 0 + + + user + OpenProject + 31 + 31 + + + user + Obi-Wan + 31 + 3 + + - HTTP/1.1 200 OK - - - - XML - end - let(:set_permissions_response_body4) do - <<~XML - - - - /remote.php/dav/files/OpenProject/OpenProject/Jedi%20Project%20Folder%20%7C%7C%7C%28#{project2.id}%29 - + + + XML + end + let(:set_permissions_response_body2) do + <<~XML + + + + /remote.php/dav/files/OpenProject/OpenProject/%5bSample%5d%20Project%20Name%20%7c%20Ehuu(#{project1.id}) + + + + + HTTP/1.1 200 OK + + + + XML + end + let(:remove_user_from_group_response) do + <<~XML + + + + ok + 100 + OK + + + + + + XML + end + let(:set_permissions_request_body3) do + <<~XML + + + - + + + group + OpenProject + 31 + 0 + + + user + OpenProject + 31 + 31 + + - HTTP/1.1 200 OK - - - - XML - end + + + XML + end + let(:set_permissions_response_body3) do + <<~XML + + + + /remote.php/dav/files/OpenProject/OpenProject/Lost%20Jedi%20Project%20Folder%20%232 + + + + + HTTP/1.1 200 OK + + + + XML + end + let(:set_permissions_response_body4) do + <<~XML + + + + /remote.php/dav/files/OpenProject/OpenProject/Jedi%20Project%20Folder%20%7C%7C%7C%28#{project2.id}%29 + + + + + HTTP/1.1 200 OK + + + + XML + end + let(:request_stubs) { [] } - let(:project1) { create(:project, name: '[Sample] Project Name / Ehuu', members: { user => role }) } - let(:project2) { create(:project, name: 'Jedi Project Folder ///', members: { user => role }) } - let(:user) { create(:user) } - let(:role) { create(:role, permissions: %w[read_files write_files]) } - # rubocop:enable RSpec/IndexedLet + let(:project1) { create(:project, name: '[Sample] Project Name / Ehuu', members: { user => role }) } + let(:project2) { create(:project, name: 'Jedi Project Folder ///', members: { user => role }) } + let(:user) { create(:user) } + let(:role) { create(:role, permissions: %w[read_files write_files]) } + let(:storage) do + create(:nextcloud_storage, + :as_automatically_managed, + host: 'https://example.com', + password: '12345678') + end + let(:projects_storage1) do + create(:project_storage, + project_folder_mode: 'automatic', + project: project1, + storage:) + end - # rubocop:disable RSpec/ExampleLength - describe '#call' do - it 'sets properties for project folders' do - storage = create(:nextcloud_storage, - :as_automatically_managed, - host: 'https://example.com', - password: '12345678') - projects_storage1 = create(:project_storage, - project_folder_mode: 'automatic', - project: project1, - storage:) + let(:projects_storage2) do + create(:project_storage, + project_folder_mode: 'automatic', + project: project2, + storage:, + project_folder_id: '123') + end - projects_storage2 = create(:project_storage, - project_folder_mode: 'automatic', - project: project2, - storage:, - project_folder_id: '123') + let(:oauth_client) { create(:oauth_client, integration: storage) } + # rubocop:enable RSpec/IndexedLet - oauth_client = create(:oauth_client, integration: storage) + before do create(:oauth_client_token, origin_user_id: 'Obi-Wan', user:, oauth_client:) - - request_stubs = [] request_stubs << stub_request(:get, "https://example.com/ocs/v1.php/cloud/groups/#{storage.group}") .with( headers: { @@ -440,7 +444,9 @@ 'Authorization' => 'Basic T3BlblByb2plY3Q6MTIzNDU2Nzg=' } ).to_return(status: 207, body: set_permissions_response_body3, headers: {}) + end + it 'sets project folders properties' do expect(projects_storage1.project_folder_id).to be_nil expect(projects_storage2.project_folder_id).to eq('123') @@ -452,6 +458,36 @@ expect(projects_storage1.project_folder_id).to eq('819') expect(projects_storage2.project_folder_id).to eq('123') end - # rubocop:enable RSpec/ExampleLength + + context 'when remove_user_from_group_command fails unexpectedly' do + let(:remove_user_from_group_response) do + <<~XML + + + + failure + 105 + Not viable to remove user from the last group you are SubAdmin of + + + + XML + end + + it 'sets project folders properties, but does not remove inactive user from group' do + expect(projects_storage1.project_folder_id).to be_nil + expect(projects_storage2.project_folder_id).to eq('123') + + expect do + described_class.new(storage).call + end.to raise_error(RuntimeError, /remove_user_from_group_command was called with/) + + expect(request_stubs).to all have_been_requested + projects_storage1.reload + projects_storage2.reload + expect(projects_storage1.project_folder_id).to eq('819') + expect(projects_storage2.project_folder_id).to eq('123') + end + end end end From d917366cf5d7258792b2c3e1904df7c1812ab769 Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Wed, 12 Jul 2023 12:53:00 -0500 Subject: [PATCH 135/180] Add "I am member" filter to projects * Adds the filter to the selectable filters in the filter section on the projects index page. * Adds a menu item to the projects page global sidebar with this query. --- app/helpers/projects_helper.rb | 15 ++++ app/models/project.rb | 2 + app/models/queries/projects.rb | 1 + .../projects/filters/member_of_filter.rb | 54 ++++++++++++++ config/locales/en.yml | 1 + spec/features/projects/projects_index_spec.rb | 48 +++++++++++- spec/helpers/projects_helper_spec.rb | 1 + .../projects/filters/member_of_filter_spec.rb | 73 +++++++++++++++++++ spec/support/pages/projects/index.rb | 11 ++- 9 files changed, 204 insertions(+), 2 deletions(-) create mode 100644 app/models/queries/projects/filters/member_of_filter.rb create mode 100644 spec/models/queries/projects/filters/member_of_filter_spec.rb diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index df54a433b329..cd162abe597f 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -46,6 +46,7 @@ def whitelisted_project_filter?(filter) Queries::Projects::Filters::TemplatedFilter, Queries::Projects::Filters::PublicFilter, Queries::Projects::Filters::ProjectStatusFilter, + Queries::Projects::Filters::MemberOfFilter, Queries::Projects::Filters::CreatedAtFilter, Queries::Projects::Filters::LatestActivityAtFilter, Queries::Projects::Filters::NameAndIdentifierFilter, @@ -67,6 +68,7 @@ def no_projects_result_box_params def global_menu_items [ global_menu_all_projects_item, + global_menu_my_projects_item, global_menu_public_projects_item, global_menu_archived_projects_item ] @@ -83,6 +85,19 @@ def global_menu_all_projects_item ] end + def global_menu_my_projects_item + path = projects_path_with_filters( + [{ member_of: { operator: '=', values: ['t'] } }] + ) + + [ + t(:label_my_projects), + path, + { class: global_menu_item_css_class(path), + title: t(:label_my_projects) } + ] + end + def global_menu_public_projects_item path = projects_path_with_filters( [{ public: { operator: '=', values: ['t'] } }] diff --git a/app/models/project.rb b/app/models/project.rb index 97f3bc2caa77..9a02ff884744 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -157,6 +157,8 @@ class Project < ApplicationRecord scope :visible, ->(user = User.current) { where(id: Project.visible_by(user)) } scope :newest, -> { order(created_at: :desc) } scope :active, -> { where(active: true) } + scope :with_member, ->(user = User.current) { where(id: user.memberships.pluck(:project_id)) } + scope :without_member, ->(user = User.current) { where.not(id: user.memberships.pluck(:project_id)) } scopes :activated_time_activity, :visible_with_activated_time_activity diff --git a/app/models/queries/projects.rb b/app/models/queries/projects.rb index 2805280a3feb..f874e953336e 100644 --- a/app/models/queries/projects.rb +++ b/app/models/queries/projects.rb @@ -35,6 +35,7 @@ module Queries::Projects filter Filters::PublicFilter filter Filters::NameFilter filter Filters::NameAndIdentifierFilter + filter Filters::MemberOfFilter filter Filters::TypeaheadFilter filter Filters::CustomFieldFilter filter Filters::CreatedAtFilter diff --git a/app/models/queries/projects/filters/member_of_filter.rb b/app/models/queries/projects/filters/member_of_filter.rb new file mode 100644 index 000000000000..427984494b1e --- /dev/null +++ b/app/models/queries/projects/filters/member_of_filter.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2023 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 Queries::Projects::Filters::MemberOfFilter < Queries::Projects::Filters::ProjectFilter + include Queries::Filters::Shared::BooleanFilter + + def self.key + :member_of + end + + def scope + if allowed_values.first.intersect?(values) + model.visible.with_member + else + model.visible.without_member + end + end + + def available_operators + [::Queries::Operators::BooleanEquals] + end + + def human_name + I18n.t(:label_i_am_member) + end +end diff --git a/config/locales/en.yml b/config/locales/en.yml index 2481faea4989..5077258d7469 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1729,6 +1729,7 @@ en: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" diff --git a/spec/features/projects/projects_index_spec.rb b/spec/features/projects/projects_index_spec.rb index 309e3b0596e9..2edcc245db5b 100644 --- a/spec/features/projects/projects_index_spec.rb +++ b/spec/features/projects/projects_index_spec.rb @@ -213,8 +213,11 @@ def expect_projects_in_order(*projects) end context 'when filtering with the global sidebar' do + let(:current_user) { admin } + before do - login_as admin + Role.non_member + login_as current_user projects_page.visit! end @@ -232,6 +235,26 @@ def expect_projects_in_order(*projects) end end + context 'with the "My projects" filter' do + shared_let(:member) do + create(:user, + member_in_project: project) + end + + let(:current_user) { member } + + before do + projects_page.set_sidebar_filter 'My projects' + end + + it 'shows all projects I am a member of' do + projects_page.expect_projects_listed(project) + projects_page.expect_projects_not_listed(public_project, development_project) + + expect(page).to have_selector('li[filter-name="active"]', visible: :hidden) + end + end + context 'with the "Public projects" filter' do before do projects_page.set_sidebar_filter 'Public projects' @@ -462,6 +485,29 @@ def expect_projects_in_order(*projects) end end + describe 'I am member or not' do + shared_let(:member) { create(:user, member_in_project: project) } + + it "filters for projects I'm a member on and those where I'm not" do + Role.non_member + load_and_open_filters member + + projects_page.expect_projects_listed(project, public_project) + + projects_page.filter_by_membership('yes') + wait_for_reload + + projects_page.expect_projects_listed(project) + projects_page.expect_projects_not_listed(public_project, development_project) + + projects_page.filter_by_membership('no') + wait_for_reload + + projects_page.expect_projects_listed(public_project) + projects_page.expect_projects_not_listed(project, development_project) + end + end + describe 'project status filter' do shared_let(:no_status_project) do # A project that doesn't have a status code set diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index 84b62f6195ff..1c7d9ea323f2 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -116,6 +116,7 @@ def stub_descendant_of(*ancestors) it do expect(subject).to eq([t(:label_all_projects), + t(:label_my_projects), t(:label_public_projects), t(:label_archived_projects)]) end diff --git a/spec/models/queries/projects/filters/member_of_filter_spec.rb b/spec/models/queries/projects/filters/member_of_filter_spec.rb new file mode 100644 index 000000000000..22617c5eec77 --- /dev/null +++ b/spec/models/queries/projects/filters/member_of_filter_spec.rb @@ -0,0 +1,73 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2023 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 Queries::Projects::Filters::MemberOfFilter do + it_behaves_like 'boolean query filter', scope: false do + let(:model) { Project } + let(:attribute) { :member_of } + + describe '#scope' do + let(:operator) { '=' } + + context 'for "t"' do + let(:values) { [OpenProject::Database::DB_VALUE_TRUE] } + + it 'queries for projects where current user is a member' do + expected = expected_base_scope.visible.with_member + + expect(instance.scope.to_sql).to eql expected.to_sql + end + end + + context 'for "f"' do + let(:values) { [OpenProject::Database::DB_VALUE_FALSE] } + + it 'queries for projects where current user is not a member' do + expected = expected_base_scope.visible.without_member + + expect(instance.scope.to_sql).to eql expected.to_sql + end + end + end + + describe 'invalid operators' do + context 'when using "!"' do + let(:operator) { '!' } + + it 'is invalid' do + expect(instance).to be_invalid + end + end + end + end +end diff --git a/spec/support/pages/projects/index.rb b/spec/support/pages/projects/index.rb index 88918ff0972c..b458593a4922 100644 --- a/spec/support/pages/projects/index.rb +++ b/spec/support/pages/projects/index.rb @@ -86,6 +86,15 @@ def filter_by_public(value) click_button 'Apply' end + def filter_by_membership(value) + set_filter('member_of', + 'I am member', + 'is', + [value]) + + click_button 'Apply' + end + def set_filter(name, human_name, human_operator = nil, values = []) select human_name, from: 'add_filter_select' selected_filter = page.find("li[filter-name='#{name}']") @@ -197,7 +206,7 @@ def navigate_to_new_project_page_from_toolbar_items private def boolean_filter?(filter) - %w[active public templated].include?(filter.to_s) + %w[active member_of public templated].include?(filter.to_s) end def within_row(project) From de0920971996a00f6843ffae7592cda34eeadf25 Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Thu, 13 Jul 2023 13:09:31 -0500 Subject: [PATCH 136/180] Use `select` instead of `pluck` to resolve unnecessary extra query Thanks for pointing this behavior out Jens. --- app/models/project.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/project.rb b/app/models/project.rb index 9a02ff884744..e29dd39e37c8 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -157,8 +157,8 @@ class Project < ApplicationRecord scope :visible, ->(user = User.current) { where(id: Project.visible_by(user)) } scope :newest, -> { order(created_at: :desc) } scope :active, -> { where(active: true) } - scope :with_member, ->(user = User.current) { where(id: user.memberships.pluck(:project_id)) } - scope :without_member, ->(user = User.current) { where.not(id: user.memberships.pluck(:project_id)) } + scope :with_member, ->(user = User.current) { where(id: user.memberships.select(:project_id)) } + scope :without_member, ->(user = User.current) { where.not(id: user.memberships.select(:project_id)) } scopes :activated_time_activity, :visible_with_activated_time_activity From d29cdb75dba3b23bcd75865b5231564b45883c47 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Jul 2023 05:15:14 +0000 Subject: [PATCH 137/180] Bump @angular/forms from 16.1.3 to 16.1.5 in /frontend Bumps [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) from 16.1.3 to 16.1.5. - [Release notes](https://github.com/angular/angular/releases) - [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md) - [Commits](https://github.com/angular/angular/commits/16.1.5/packages/forms) --- updated-dependencies: - dependency-name: "@angular/forms" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index bb16ff125741..06b4ad9f1e91 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1833,9 +1833,9 @@ } }, "node_modules/@angular/forms": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.3.tgz", - "integrity": "sha512-9tJHgoi/Jmeo30zfnReVZWFcd1WthR+QwYUNwPev+ys58u1mB0cDGORvROySmC2YUyXFSpXt8sxwyWCkYvaV2w==", + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.5.tgz", + "integrity": "sha512-4E/5msvODs5tixlkB1iHPsRv7jHj189WMpN2n7LKXT+l+jA3/rD2AbGnYVKR04gymN2x/HQ/qOrbvrqv3E1NBw==", "dependencies": { "tslib": "^2.3.0" }, @@ -1843,9 +1843,9 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.1.3", - "@angular/core": "16.1.3", - "@angular/platform-browser": "16.1.3", + "@angular/common": "16.1.5", + "@angular/core": "16.1.5", + "@angular/platform-browser": "16.1.5", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -39797,9 +39797,9 @@ } }, "@angular/forms": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.3.tgz", - "integrity": "sha512-9tJHgoi/Jmeo30zfnReVZWFcd1WthR+QwYUNwPev+ys58u1mB0cDGORvROySmC2YUyXFSpXt8sxwyWCkYvaV2w==", + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.5.tgz", + "integrity": "sha512-4E/5msvODs5tixlkB1iHPsRv7jHj189WMpN2n7LKXT+l+jA3/rD2AbGnYVKR04gymN2x/HQ/qOrbvrqv3E1NBw==", "requires": { "tslib": "^2.3.0" } From f747ca80b1472d4579e8921efa9e0a5e7e5d51d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Jul 2023 05:15:36 +0000 Subject: [PATCH 138/180] Bump core-js from 3.30.1 to 3.31.1 in /frontend Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.30.1 to 3.31.1. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/commits/v3.31.1/packages/core-js) --- updated-dependencies: - dependency-name: core-js dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index bb16ff125741..1a3d52af0972 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -21277,9 +21277,9 @@ } }, "node_modules/core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==", + "version": "3.31.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.1.tgz", + "integrity": "sha512-2sKLtfq1eFST7l7v62zaqXacPc7uG8ZAya8ogijLhTtaKNcpzpB4TMoTw2Si+8GYKRwFPMMtUT0263QFWFfqyQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -53511,9 +53511,9 @@ } }, "core-js": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz", - "integrity": "sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==" + "version": "3.31.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.1.tgz", + "integrity": "sha512-2sKLtfq1eFST7l7v62zaqXacPc7uG8ZAya8ogijLhTtaKNcpzpB4TMoTw2Si+8GYKRwFPMMtUT0263QFWFfqyQ==" }, "core-js-compat": { "version": "3.31.0", From 75c2339e061a27402ddfb1d0809a4fc06903a0fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Jul 2023 05:16:00 +0000 Subject: [PATCH 139/180] Bump @storybook/addon-actions from 7.0.26 to 7.0.27 in /frontend Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) from 7.0.26 to 7.0.27. - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v7.0.27/code/addons/actions) --- updated-dependencies: - dependency-name: "@storybook/addon-actions" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 359 ++++++++++++++++++++++++------------- 1 file changed, 239 insertions(+), 120 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index bb16ff125741..1034831b0c00 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -7061,19 +7061,19 @@ "license": "MIT" }, "node_modules/@storybook/addon-actions": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.26.tgz", - "integrity": "sha512-vVoqE0Zw0g1PPnGfho8vRwjpXhQCpRNBQ/2U83/CSodHWL/MBYENG0XMby90TC72M26gNmEh0dn1YCUXvLdiew==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.27.tgz", + "integrity": "sha512-bDN7rxdEBfcgV+LJWpmd26RdblODIPFaR+UMLVIITLP2ZxSjJ5yCcDenKDvSZJCPLhDnDcyiUmNcyvRtdmWf0w==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.26", - "@storybook/components": "7.0.26", - "@storybook/core-events": "7.0.26", + "@storybook/client-logger": "7.0.27", + "@storybook/components": "7.0.27", + "@storybook/core-events": "7.0.27", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.26", - "@storybook/preview-api": "7.0.26", - "@storybook/theming": "7.0.26", - "@storybook/types": "7.0.26", + "@storybook/manager-api": "7.0.27", + "@storybook/preview-api": "7.0.27", + "@storybook/theming": "7.0.27", + "@storybook/types": "7.0.27", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", @@ -7101,14 +7101,14 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/channel-postmessage": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.26.tgz", - "integrity": "sha512-ZvFLr/tUD9dWIjQtIn1JXHjqrbOP/uEEOqzwpKSVj0Cl4Vgc12s8hecbzBufkOF7fwLsFvfieSi7ENOmjoncdQ==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.27.tgz", + "integrity": "sha512-ScpiStUHvtgy9RrCFNyzzH9l+zHF80lSwW/BZ1MRETJ9ZaOVPrm03U0Ju01wJC57DYPROwPU/wKMetNqKKEhdA==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.26", - "@storybook/client-logger": "7.0.26", - "@storybook/core-events": "7.0.26", + "@storybook/channels": "7.0.27", + "@storybook/client-logger": "7.0.27", + "@storybook/core-events": "7.0.27", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3" @@ -7119,9 +7119,9 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/channels": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.26.tgz", - "integrity": "sha512-Br3XILhrtuL5Sdp91I04kKjJzSqU/N8gGL6B6nIfnuaHUvGMDuMCHAB+g7aoiyH5dnpDZ6yBVGNwtYAyJA+0Og==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.27.tgz", + "integrity": "sha512-YppvPa1qMyC+oCQJ3tf7Quzpf2NnBlvIRLPJiGAMssUwX5qE0iKe9lTtkNwMaNxEvzz6rDxewSlz+f/MWr4gPw==", "dev": true, "funding": { "type": "opencollective", @@ -7129,9 +7129,9 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/client-logger": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.26.tgz", - "integrity": "sha512-OMVLbgceoeuM8sWOfTX/9a4zCrH78G32hg7x8yXLZnRJ9OLaHJHzUM0Onc4MLudqVUdaKH0c8ejpBXUyIr1rJQ==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.27.tgz", + "integrity": "sha512-t4F0ByHP4MNiyVI5sgqtxSccr4RmPAqTr/h6CeGLJKWzUYobBV5hwKUd/qlfwdjev2u9C7AdLFPBKVcHX5PteA==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -7142,16 +7142,16 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/components": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.26.tgz", - "integrity": "sha512-n0TVWEF4Bc9JAyEIaN0PqwglbaYYRcPVG7ka+5wgGmBiuDlWI1SXd4EXxv2u0mVibHvtkHvOn6/GaZ1vG45p6g==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.27.tgz", + "integrity": "sha512-utt4fA1td7QHpvuD/9dWm9UEoO5xTU3EsXk/U2fPUQzN9NEsbWKV/QubUYIpVy5iwwgUyMvqzWHM0veAriJW5A==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.26", + "@storybook/client-logger": "7.0.27", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.0.26", - "@storybook/types": "7.0.26", + "@storybook/theming": "7.0.27", + "@storybook/types": "7.0.27", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" @@ -7166,9 +7166,9 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/core-events": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.26.tgz", - "integrity": "sha512-ckZszphEAYs9wp8tPVhayEMzk8JxCiQfzbq0S45sbdqdTrl40PmsOjv5iPNaUYElI/Stfz+v4gDCEUfOsxyC+w==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.27.tgz", + "integrity": "sha512-sNnqgO5i5DUIqeQfNbr987KWvAciMN9FmMBuYdKjVFMqWFyr44HTgnhfKwZZKl+VMDYkHA9Do7UGSYZIKy0P4g==", "dev": true, "funding": { "type": "opencollective", @@ -7176,19 +7176,19 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/manager-api": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.26.tgz", - "integrity": "sha512-/2p6lU7r30qMXob/UnzRL9yq7XjoE+YQXv1KhrcePfMBARbelYw9RYhYT/AkXGtb9/Fa95uG3lNvoDLC1IQfMQ==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.27.tgz", + "integrity": "sha512-CVgy4ti8h0Xc4nxiPujTzhMANl9wmfLGvSA9ZX6YUBbKFV4UOL4oj105iHPW7Ngse6Qoqj0rnhkOSmLczXT03w==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.26", - "@storybook/client-logger": "7.0.26", - "@storybook/core-events": "7.0.26", + "@storybook/channels": "7.0.27", + "@storybook/client-logger": "7.0.27", + "@storybook/core-events": "7.0.27", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.0.26", - "@storybook/theming": "7.0.26", - "@storybook/types": "7.0.26", + "@storybook/router": "7.0.27", + "@storybook/theming": "7.0.27", + "@storybook/types": "7.0.27", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -7207,18 +7207,18 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/preview-api": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.26.tgz", - "integrity": "sha512-uJwA4errBOZOoDF2T7Z2oLqjAYvvjMr31sTsOoT0niJtWr29RQp8yS6VoSrsuh+y3FAVqBEl5pS+DX3IGLjvxw==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.27.tgz", + "integrity": "sha512-FhauTuLzRsaIaEORQP5lxYrzwRgZPMnfYEPnzduyGgPiY6VZkS6wIiO6pKzat83V1L4J7m5aZhTB3HtvTwPhvg==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.0.26", - "@storybook/channels": "7.0.26", - "@storybook/client-logger": "7.0.26", - "@storybook/core-events": "7.0.26", + "@storybook/channel-postmessage": "7.0.27", + "@storybook/channels": "7.0.27", + "@storybook/client-logger": "7.0.27", + "@storybook/core-events": "7.0.27", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.0.26", + "@storybook/types": "7.0.27", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -7234,12 +7234,12 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/router": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.26.tgz", - "integrity": "sha512-OfLittKxdahsgKsmQFoBX9q5tN/aqKMhhc/WbW88UPAQCUcEuazB0CwM+LI9YXY+n5L+vpLI4lGlgaqvPy4hHw==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.27.tgz", + "integrity": "sha512-Onflm2mERipuYB3SR+0CFAZKPbDiLsJdgX09BP8bGrg7dVYwiGkL5dc9H/CP0KPxtC7kXT8x1Zc+yx0Y0kWiJw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.26", + "@storybook/client-logger": "7.0.27", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -7253,13 +7253,13 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/theming": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.26.tgz", - "integrity": "sha512-7hxpT2yq+xZonSsEZHOF+HDHx6GE0qlys3EQ63K9XCJ8VeBnq9M5zHvMK9iXl90093ufxpvWsfDWgtja2zvmTw==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.27.tgz", + "integrity": "sha512-l2Lc8xX8QXQO8c9gpzdUUJ+0YqLoh8w74I7lzxiife0TzEQrhWD9aRJAVimm8Vzfq5x3CNeJNFHc5PcG8ypQig==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.0.26", + "@storybook/client-logger": "7.0.27", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -7273,12 +7273,12 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/types": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.26.tgz", - "integrity": "sha512-5RBi6agtDglNXdffmw4+Fyv2dUdlIdeOdUj0O5+JRYajTxfHdurZd9r/42z4OstN+ORDkLA/svt8Q9JyRpIb6Q==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.27.tgz", + "integrity": "sha512-pmJuIm+kGaZiDMyl2i5KFS9iGWrpW1jVcp9OMtHeK20LBzY5Hxq/JMc3E+fbVNkAX2hVlVGbbVUNPTvd9AjbrA==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.26", + "@storybook/channels": "7.0.27", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -8443,6 +8443,46 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-actions": { + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.26.tgz", + "integrity": "sha512-vVoqE0Zw0g1PPnGfho8vRwjpXhQCpRNBQ/2U83/CSodHWL/MBYENG0XMby90TC72M26gNmEh0dn1YCUXvLdiew==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.0.26", + "@storybook/components": "7.0.26", + "@storybook/core-events": "7.0.26", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.0.26", + "@storybook/preview-api": "7.0.26", + "@storybook/theming": "7.0.26", + "@storybook/types": "7.0.26", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "polished": "^4.2.2", + "prop-types": "^15.7.2", + "react-inspector": "^6.0.0", + "telejson": "^7.0.3", + "ts-dedent": "^2.0.0", + "uuid": "^9.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/channel-postmessage": { "version": "7.0.26", "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.26.tgz", @@ -8484,6 +8524,30 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/components": { + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.26.tgz", + "integrity": "sha512-n0TVWEF4Bc9JAyEIaN0PqwglbaYYRcPVG7ka+5wgGmBiuDlWI1SXd4EXxv2u0mVibHvtkHvOn6/GaZ1vG45p6g==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.0.26", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.0.26", + "@storybook/types": "7.0.26", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/core-common": { "version": "7.0.26", "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.0.26.tgz", @@ -8928,6 +8992,15 @@ "node": ">=8" } }, + "node_modules/@storybook/addon-essentials/node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@storybook/addon-highlight": { "version": "7.0.26", "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.0.26.tgz", @@ -43389,19 +43462,19 @@ "dev": true }, "@storybook/addon-actions": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.26.tgz", - "integrity": "sha512-vVoqE0Zw0g1PPnGfho8vRwjpXhQCpRNBQ/2U83/CSodHWL/MBYENG0XMby90TC72M26gNmEh0dn1YCUXvLdiew==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.27.tgz", + "integrity": "sha512-bDN7rxdEBfcgV+LJWpmd26RdblODIPFaR+UMLVIITLP2ZxSjJ5yCcDenKDvSZJCPLhDnDcyiUmNcyvRtdmWf0w==", "dev": true, "requires": { - "@storybook/client-logger": "7.0.26", - "@storybook/components": "7.0.26", - "@storybook/core-events": "7.0.26", + "@storybook/client-logger": "7.0.27", + "@storybook/components": "7.0.27", + "@storybook/core-events": "7.0.27", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.26", - "@storybook/preview-api": "7.0.26", - "@storybook/theming": "7.0.26", - "@storybook/types": "7.0.26", + "@storybook/manager-api": "7.0.27", + "@storybook/preview-api": "7.0.27", + "@storybook/theming": "7.0.27", + "@storybook/types": "7.0.27", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", @@ -43413,70 +43486,70 @@ }, "dependencies": { "@storybook/channel-postmessage": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.26.tgz", - "integrity": "sha512-ZvFLr/tUD9dWIjQtIn1JXHjqrbOP/uEEOqzwpKSVj0Cl4Vgc12s8hecbzBufkOF7fwLsFvfieSi7ENOmjoncdQ==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.27.tgz", + "integrity": "sha512-ScpiStUHvtgy9RrCFNyzzH9l+zHF80lSwW/BZ1MRETJ9ZaOVPrm03U0Ju01wJC57DYPROwPU/wKMetNqKKEhdA==", "dev": true, "requires": { - "@storybook/channels": "7.0.26", - "@storybook/client-logger": "7.0.26", - "@storybook/core-events": "7.0.26", + "@storybook/channels": "7.0.27", + "@storybook/client-logger": "7.0.27", + "@storybook/core-events": "7.0.27", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3" } }, "@storybook/channels": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.26.tgz", - "integrity": "sha512-Br3XILhrtuL5Sdp91I04kKjJzSqU/N8gGL6B6nIfnuaHUvGMDuMCHAB+g7aoiyH5dnpDZ6yBVGNwtYAyJA+0Og==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.27.tgz", + "integrity": "sha512-YppvPa1qMyC+oCQJ3tf7Quzpf2NnBlvIRLPJiGAMssUwX5qE0iKe9lTtkNwMaNxEvzz6rDxewSlz+f/MWr4gPw==", "dev": true }, "@storybook/client-logger": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.26.tgz", - "integrity": "sha512-OMVLbgceoeuM8sWOfTX/9a4zCrH78G32hg7x8yXLZnRJ9OLaHJHzUM0Onc4MLudqVUdaKH0c8ejpBXUyIr1rJQ==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.27.tgz", + "integrity": "sha512-t4F0ByHP4MNiyVI5sgqtxSccr4RmPAqTr/h6CeGLJKWzUYobBV5hwKUd/qlfwdjev2u9C7AdLFPBKVcHX5PteA==", "dev": true, "requires": { "@storybook/global": "^5.0.0" } }, "@storybook/components": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.26.tgz", - "integrity": "sha512-n0TVWEF4Bc9JAyEIaN0PqwglbaYYRcPVG7ka+5wgGmBiuDlWI1SXd4EXxv2u0mVibHvtkHvOn6/GaZ1vG45p6g==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.27.tgz", + "integrity": "sha512-utt4fA1td7QHpvuD/9dWm9UEoO5xTU3EsXk/U2fPUQzN9NEsbWKV/QubUYIpVy5iwwgUyMvqzWHM0veAriJW5A==", "dev": true, "requires": { - "@storybook/client-logger": "7.0.26", + "@storybook/client-logger": "7.0.27", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.0.26", - "@storybook/types": "7.0.26", + "@storybook/theming": "7.0.27", + "@storybook/types": "7.0.27", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" } }, "@storybook/core-events": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.26.tgz", - "integrity": "sha512-ckZszphEAYs9wp8tPVhayEMzk8JxCiQfzbq0S45sbdqdTrl40PmsOjv5iPNaUYElI/Stfz+v4gDCEUfOsxyC+w==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.27.tgz", + "integrity": "sha512-sNnqgO5i5DUIqeQfNbr987KWvAciMN9FmMBuYdKjVFMqWFyr44HTgnhfKwZZKl+VMDYkHA9Do7UGSYZIKy0P4g==", "dev": true }, "@storybook/manager-api": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.26.tgz", - "integrity": "sha512-/2p6lU7r30qMXob/UnzRL9yq7XjoE+YQXv1KhrcePfMBARbelYw9RYhYT/AkXGtb9/Fa95uG3lNvoDLC1IQfMQ==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.27.tgz", + "integrity": "sha512-CVgy4ti8h0Xc4nxiPujTzhMANl9wmfLGvSA9ZX6YUBbKFV4UOL4oj105iHPW7Ngse6Qoqj0rnhkOSmLczXT03w==", "dev": true, "requires": { - "@storybook/channels": "7.0.26", - "@storybook/client-logger": "7.0.26", - "@storybook/core-events": "7.0.26", + "@storybook/channels": "7.0.27", + "@storybook/client-logger": "7.0.27", + "@storybook/core-events": "7.0.27", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.0.26", - "@storybook/theming": "7.0.26", - "@storybook/types": "7.0.26", + "@storybook/router": "7.0.27", + "@storybook/theming": "7.0.27", + "@storybook/types": "7.0.27", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -43487,18 +43560,18 @@ } }, "@storybook/preview-api": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.26.tgz", - "integrity": "sha512-uJwA4errBOZOoDF2T7Z2oLqjAYvvjMr31sTsOoT0niJtWr29RQp8yS6VoSrsuh+y3FAVqBEl5pS+DX3IGLjvxw==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.27.tgz", + "integrity": "sha512-FhauTuLzRsaIaEORQP5lxYrzwRgZPMnfYEPnzduyGgPiY6VZkS6wIiO6pKzat83V1L4J7m5aZhTB3HtvTwPhvg==", "dev": true, "requires": { - "@storybook/channel-postmessage": "7.0.26", - "@storybook/channels": "7.0.26", - "@storybook/client-logger": "7.0.26", - "@storybook/core-events": "7.0.26", + "@storybook/channel-postmessage": "7.0.27", + "@storybook/channels": "7.0.27", + "@storybook/client-logger": "7.0.27", + "@storybook/core-events": "7.0.27", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.0.26", + "@storybook/types": "7.0.27", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -43510,35 +43583,35 @@ } }, "@storybook/router": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.26.tgz", - "integrity": "sha512-OfLittKxdahsgKsmQFoBX9q5tN/aqKMhhc/WbW88UPAQCUcEuazB0CwM+LI9YXY+n5L+vpLI4lGlgaqvPy4hHw==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.27.tgz", + "integrity": "sha512-Onflm2mERipuYB3SR+0CFAZKPbDiLsJdgX09BP8bGrg7dVYwiGkL5dc9H/CP0KPxtC7kXT8x1Zc+yx0Y0kWiJw==", "dev": true, "requires": { - "@storybook/client-logger": "7.0.26", + "@storybook/client-logger": "7.0.27", "memoizerific": "^1.11.3", "qs": "^6.10.0" } }, "@storybook/theming": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.26.tgz", - "integrity": "sha512-7hxpT2yq+xZonSsEZHOF+HDHx6GE0qlys3EQ63K9XCJ8VeBnq9M5zHvMK9iXl90093ufxpvWsfDWgtja2zvmTw==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.27.tgz", + "integrity": "sha512-l2Lc8xX8QXQO8c9gpzdUUJ+0YqLoh8w74I7lzxiife0TzEQrhWD9aRJAVimm8Vzfq5x3CNeJNFHc5PcG8ypQig==", "dev": true, "requires": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.0.26", + "@storybook/client-logger": "7.0.27", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" } }, "@storybook/types": { - "version": "7.0.26", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.26.tgz", - "integrity": "sha512-5RBi6agtDglNXdffmw4+Fyv2dUdlIdeOdUj0O5+JRYajTxfHdurZd9r/42z4OstN+ORDkLA/svt8Q9JyRpIb6Q==", + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.27.tgz", + "integrity": "sha512-pmJuIm+kGaZiDMyl2i5KFS9iGWrpW1jVcp9OMtHeK20LBzY5Hxq/JMc3E+fbVNkAX2hVlVGbbVUNPTvd9AjbrA==", "dev": true, "requires": { - "@storybook/channels": "7.0.26", + "@storybook/channels": "7.0.27", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -44375,6 +44448,30 @@ "ts-dedent": "^2.0.0" }, "dependencies": { + "@storybook/addon-actions": { + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.26.tgz", + "integrity": "sha512-vVoqE0Zw0g1PPnGfho8vRwjpXhQCpRNBQ/2U83/CSodHWL/MBYENG0XMby90TC72M26gNmEh0dn1YCUXvLdiew==", + "dev": true, + "requires": { + "@storybook/client-logger": "7.0.26", + "@storybook/components": "7.0.26", + "@storybook/core-events": "7.0.26", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.0.26", + "@storybook/preview-api": "7.0.26", + "@storybook/theming": "7.0.26", + "@storybook/types": "7.0.26", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "polished": "^4.2.2", + "prop-types": "^15.7.2", + "react-inspector": "^6.0.0", + "telejson": "^7.0.3", + "ts-dedent": "^2.0.0", + "uuid": "^9.0.0" + } + }, "@storybook/channel-postmessage": { "version": "7.0.26", "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.26.tgz", @@ -44404,6 +44501,22 @@ "@storybook/global": "^5.0.0" } }, + "@storybook/components": { + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.26.tgz", + "integrity": "sha512-n0TVWEF4Bc9JAyEIaN0PqwglbaYYRcPVG7ka+5wgGmBiuDlWI1SXd4EXxv2u0mVibHvtkHvOn6/GaZ1vG45p6g==", + "dev": true, + "requires": { + "@storybook/client-logger": "7.0.26", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.0.26", + "@storybook/types": "7.0.26", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" + } + }, "@storybook/core-common": { "version": "7.0.26", "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.0.26.tgz", @@ -44728,6 +44841,12 @@ "requires": { "has-flag": "^4.0.0" } + }, + "uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true } } }, From 0a7ee4c78440f372a2406d9c736dd3214b623c60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Jul 2023 06:04:57 +0000 Subject: [PATCH 140/180] Bump aws-sdk-s3 from 1.129.0 to 1.130.0 Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.129.0 to 1.130.0. - [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-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 20bd5cea825a..37df7c71d03a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -317,7 +317,7 @@ GEM awesome_nested_set (3.5.0) activerecord (>= 4.0.0, < 7.1) aws-eventstream (1.2.0) - aws-partitions (1.785.0) + aws-partitions (1.786.0) aws-sdk-core (3.178.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.651.0) @@ -326,7 +326,7 @@ GEM aws-sdk-kms (1.71.0) aws-sdk-core (~> 3, >= 3.177.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.129.0) + aws-sdk-s3 (1.130.0) aws-sdk-core (~> 3, >= 3.177.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.6) From 3004236a4a69d7a0c45413a0b581fb7fe582a130 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Jul 2023 06:05:50 +0000 Subject: [PATCH 141/180] Bump rubocop from 1.54.1 to 1.54.2 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.54.1 to 1.54.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.54.1...v1.54.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 20bd5cea825a..a89c47166277 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -834,7 +834,7 @@ GEM rspec-retry (0.6.2) rspec-core (> 3.3) rspec-support (3.12.0) - rubocop (1.54.1) + rubocop (1.54.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) From 5ad5fb1f0d22176823f0ef7618ee31af45b52ee2 Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Fri, 14 Jul 2023 13:29:57 +0200 Subject: [PATCH 142/180] Update PDF export documentation --- .../work-packages/exporting/README.md | 12 +++++++++--- ...oject_single_work_package_export_options.png | Bin 0 -> 43157 bytes 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 docs/user-guide/work-packages/exporting/openProject_single_work_package_export_options.png diff --git a/docs/user-guide/work-packages/exporting/README.md b/docs/user-guide/work-packages/exporting/README.md index 060ac845d156..0854c07070bb 100644 --- a/docs/user-guide/work-packages/exporting/README.md +++ b/docs/user-guide/work-packages/exporting/README.md @@ -40,12 +40,12 @@ OpenProject has multiple options of exporting work packages, including PDF, XLS, OpenProject has multiple options of exporting work packages in PDF format. ### PDF Table -PDF Table exports the work package table displaying work packages as single rows with the selected columns for the work package table. +PDF Table exports the work package table displaying work packages as single rows with the selected columns for the work package table. Work packages IDs are linked to the respective work packages. Clicking on a work package ID will lead you directly to the work package in OpenProject. ![OpenProject PDF Table export](openproject_pdf_table_export.png) ### PDF Report -With PDF Reports you can export detailed up to date work plans for your project in a clean and practical format. It includes includes a table of contents (listing all of the work packages), followed by the description of single work packages in a block form. For each work package a table of attributes is included (attributes correspond to the columns in the work package table). +With PDF Reports you can export detailed up to date work plans for your project in a clean and practical format. It includes includes a table of contents (listing all of the work packages), followed by the description of single work packages in a block form. Table of contents is clickable and is linked to the respective pages within the report, making navigation much easier. For each work package a table of attributes is included (attributes correspond to the columns in the work package table). Work package ID attribute is clickable and linked directly to the respective work package in OpenProject. ![OpenProject_pdf_report_export](openproject_pdf_report.png) > **Note**: If "display sums" is activated in the work package table, then the sum table is included between table of contents and work packages description in an Overview section. @@ -94,4 +94,10 @@ OpenProject can export the table into a comma-separated CSV. This file will be U OpenProject can export the table into a XML-based atom format. This file will be UTF-8 encoded. -![OpenProject_work_package_export_atom](openproject_export_atom.png) \ No newline at end of file +![OpenProject_work_package_export_atom](openproject_export_atom.png) + +## Export single work packages + +It is also possible to export single work packages in PDF and Atom format. To do that click on the settings icon in the top right corner and select the preferred format from the dropdown menu. + +![OpenProject_single_work_package_export_options](openProject_single_work_package_export_options.png) \ No newline at end of file diff --git a/docs/user-guide/work-packages/exporting/openProject_single_work_package_export_options.png b/docs/user-guide/work-packages/exporting/openProject_single_work_package_export_options.png new file mode 100644 index 0000000000000000000000000000000000000000..520053a118574ee6703afa3742acc211b7c300a6 GIT binary patch literal 43157 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%0DI5@xp)~HC-%N-|*f0Hi;1cNlqH>+m& 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 literal 0 HcmV?d00001 From a78fb0569f8fe66d87ebe6a878f810643ac0973f Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Fri, 14 Jul 2023 09:01:14 -0500 Subject: [PATCH 143/180] Prevent rendering of delete buttons on global calendars page As per requirements, the global index page for calendars, should not render the delete buttons for each query on the table (in tandem with other global index pages). Also, extracted out some expectations into page objects in the calendars#index page. This reads nicer to me and helps keep better track of what is and isn't expected at a high level. --- .../app/components/calendar/row_component.rb | 8 +++- .../spec/features/calendars_index_spec.rb | 48 +++++++++---------- .../calendar/spec/support/pages/calendar.rb | 28 +++++++++++ 3 files changed, 57 insertions(+), 27 deletions(-) diff --git a/modules/calendar/app/components/calendar/row_component.rb b/modules/calendar/app/components/calendar/row_component.rb index 269fb0a64521..17f7e5433c74 100644 --- a/modules/calendar/app/components/calendar/row_component.rb +++ b/modules/calendar/app/components/calendar/row_component.rb @@ -51,7 +51,7 @@ def button_links end def delete_link - if table.current_user.allowed_to?(:manage_calendars, project) + if render_delete_link? link_to( '', project_calendar_path(project, query.id), @@ -65,5 +65,11 @@ def delete_link ) end end + + private + + def render_delete_link? + table.current_project && table.current_user.allowed_to?(:manage_calendars, project) + end end end diff --git a/modules/calendar/spec/features/calendars_index_spec.rb b/modules/calendar/spec/features/calendars_index_spec.rb index c88bf26a91cb..d11e9fbfe4d8 100644 --- a/modules/calendar/spec/features/calendars_index_spec.rb +++ b/modules/calendar/spec/features/calendars_index_spec.rb @@ -27,6 +27,7 @@ #++ require 'spec_helper' +require_relative '../support/pages/calendar' RSpec.describe 'Calendars', 'index', :js, :with_cuprite do shared_let(:project) do @@ -104,6 +105,7 @@ end context 'when visiting from a global context', with_flag: { more_global_index_pages: true } do + let(:calendars_page) { Pages::Calendar.new(nil) } let(:queries) { [query, other_query] } before do @@ -114,7 +116,7 @@ context 'with permissions to globally manage calendars' do it 'shows no create button' do - expect(page).not_to have_selector '.button', text: 'Calendar' + calendars_page.expect_no_create_button end end @@ -122,15 +124,15 @@ let(:queries) { [] } it 'shows an empty index page' do - expect(page).to have_text 'There is currently nothing to display.' + calendars_page.expect_no_views_visible end end context 'with existing views' do it 'shows those views', :aggregate_failures do queries.each do |q| - expect(page).to have_selector 'td', text: q.name - expect(page).to have_selector "[data-qa-selector='calendar-remove-#{q.id}']" + calendars_page.expect_view_visible(q) + calendars_page.expect_no_delete_button(q) end end end @@ -147,17 +149,18 @@ let(:query) { create(:query, user:, project:, public: false) } it 'does not show a non-public view' do - expect(page).to have_text 'There is currently nothing to display.' - expect(page).not_to have_selector 'td', text: query.name + calendars_page.expect_no_views_visible + calendars_page.expect_view_not_visible query - # Does not show the delete - expect(page).not_to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" + calendars_page.expect_no_delete_button query end end end end context 'when visiting from a project-specific context' do + let(:calendars_page) { Pages::Calendar.new(project) } + before do login_as current_user query @@ -168,15 +171,15 @@ let(:query) { nil } it 'shows an empty index page' do - expect(page).to have_text 'There is currently nothing to display.' - expect(page).to have_selector '.button', text: 'Calendar' + calendars_page.expect_no_views_visible + calendars_page.expect_create_button end end context 'with an existing view' do it 'shows that view' do - expect(page).to have_selector 'td', text: query.name - expect(page).to have_selector "[data-qa-selector='calendar-remove-#{query.id}']" + calendars_page.expect_view_visible query + calendars_page.expect_delete_button query end context 'with another user with limited access' do @@ -187,28 +190,21 @@ member_with_permissions: %w[view_work_packages view_calendar]) end - it 'does not show the create button' do - expect(page).to have_selector 'td', text: query.name + it 'does not show the management buttons' do + calendars_page.expect_view_visible query - # Does not show the delete - expect(page).not_to have_selector "[data-qa-selector='calendar-remove-#{query.id}']" - - # Does not show the create button - expect(page).not_to have_selector '.button', text: 'Calendar' + calendars_page.expect_no_delete_button query + calendars_page.expect_no_create_button end context 'when the view is non-public' do let(:query) { create(:query, user:, project:, public: false) } it 'does not show a non-public view' do - expect(page).to have_text 'There is currently nothing to display.' - expect(page).not_to have_selector 'td', text: query.name - - # Does not show the delete - expect(page).not_to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" + calendars_page.expect_no_views_visible + calendars_page.expect_view_not_visible query - # Does not show the create button - expect(page).not_to have_selector '.button', text: 'Calendar' + calendars_page.expect_no_create_button end end end diff --git a/modules/calendar/spec/support/pages/calendar.rb b/modules/calendar/spec/support/pages/calendar.rb index 658ed3c5006d..18658dd1e6ea 100644 --- a/modules/calendar/spec/support/pages/calendar.rb +++ b/modules/calendar/spec/support/pages/calendar.rb @@ -111,5 +111,33 @@ def expect_wp_not_resizable(work_package) def expect_wp_not_draggable(work_package) expect(page).to have_selector('.fc-event:not(.fc-event-draggable)', text: work_package.subject) end + + def expect_create_button + expect(page).to have_selector '.button', text: 'Calendar' + end + + def expect_no_create_button + expect(page).not_to have_selector '.button', text: 'Calendar' + end + + def expect_delete_button(query) + expect(page).to have_selector "[data-qa-selector='calendar-remove-#{query.id}']" + end + + def expect_no_delete_button(query) + expect(page).not_to have_selector "[data-qa-selector='calendar-remove-#{query.id}']" + end + + def expect_no_views_visible + expect(page).to have_text 'There is currently nothing to display.' + end + + def expect_view_visible(query) + expect(page).to have_selector 'td', text: query.name + end + + def expect_view_not_visible(query) + expect(page).not_to have_selector 'td', text: query.name + end end end From 96fee51354ac1f46840a4634e0c44cdd3f2d0b30 Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Wed, 12 Jul 2023 17:15:00 -0500 Subject: [PATCH 144/180] Add global new team planner route Adds the global route to be used for the global create page for team planners. Performed a refactor of the routes file. This reads a little nicer to me :) --- .../team_planner/team_planner_controller.rb | 6 ++++-- modules/team_planner/config/routes.rb | 21 ++++++++++++++----- .../spec/routing/team_planner_routing_spec.rb | 18 ++++++++++++---- 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/modules/team_planner/app/controllers/team_planner/team_planner_controller.rb b/modules/team_planner/app/controllers/team_planner/team_planner_controller.rb index 7069358a8b7e..17fec45a7fc5 100644 --- a/modules/team_planner/app/controllers/team_planner/team_planner_controller.rb +++ b/modules/team_planner/app/controllers/team_planner/team_planner_controller.rb @@ -3,8 +3,8 @@ class TeamPlannerController < BaseController include EnterpriseTrialHelper include Layout before_action :find_optional_project - before_action :authorize, except: %i[overview upsale] - before_action :authorize_global, only: %i[overview] + before_action :authorize, except: %i[overview new upsale] + before_action :authorize_global, only: %i[overview new] before_action :require_ee_token, except: %i[upsale] before_action :find_plan_view, only: %i[destroy] @@ -19,6 +19,8 @@ def overview render layout: 'global' end + def new; end + def show render layout: 'angular/angular' end diff --git a/modules/team_planner/config/routes.rb b/modules/team_planner/config/routes.rb index 895a85e0eca0..4c2ee8e52d75 100644 --- a/modules/team_planner/config/routes.rb +++ b/modules/team_planner/config/routes.rb @@ -1,16 +1,27 @@ OpenProject::Application.routes.draw do - get :team_planners, to: 'team_planner/team_planner#overview' - get 'team_planners/upsale', to: 'team_planner/team_planner#upsale', as: :upsale_team_planners + resources :team_planners, + controller: 'team_planner/team_planner', + only: %i[] do + collection do + get '/', to: 'team_planner/team_planner#overview' + get '/new', to: 'team_planner/team_planner#new' + get '/upsale', to: 'team_planner/team_planner#upsale', as: :upsale + end + end scope 'projects/:project_id', as: 'project' do resources :team_planners, controller: 'team_planner/team_planner', only: %i[index destroy], as: :team_planners do - get :upsale, to: 'team_planner/team_planner#upsale', on: :collection, as: :upsale + collection do + get '/upsale', to: 'team_planner/team_planner#upsale', as: :upsale + get '/new', to: 'team_planner/team_planner#show', as: :new + end - get '/new' => 'team_planner/team_planner#show', on: :collection, as: 'new' - get '(/*state)' => 'team_planner/team_planner#show', on: :member, as: '' + member do + get '(/*state)' => 'team_planner/team_planner#show', as: '' + end end end end diff --git a/modules/team_planner/spec/routing/team_planner_routing_spec.rb b/modules/team_planner/spec/routing/team_planner_routing_spec.rb index ab150a5313e6..e08b4faee999 100644 --- a/modules/team_planner/spec/routing/team_planner_routing_spec.rb +++ b/modules/team_planner/spec/routing/team_planner_routing_spec.rb @@ -41,10 +41,20 @@ .to(controller: 'team_planner/team_planner', action: :show, project_id: 'foobar', id: '1234') end - it 'routes to team_planner#new' do - expect(subject) - .to route(:get, '/projects/foobar/team_planners/new') - .to(controller: 'team_planner/team_planner', action: :show, project_id: 'foobar') + context 'with :project_id' do + it 'routes to team_planner#new' do + expect(subject) + .to route(:get, '/projects/foobar/team_planners/new') + .to(controller: 'team_planner/team_planner', action: :show, project_id: 'foobar') + end + end + + context 'without :project_id' do + it 'routes to team_planner#new' do + expect(subject) + .to route(:get, '/team_planners/new') + .to(controller: 'team_planner/team_planner', action: :new) + end end it 'routes to team_planner#show with state' do From 78d921a83798543fca6526a7fa7e00abbf6390d9 Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Wed, 12 Jul 2023 17:18:16 -0500 Subject: [PATCH 145/180] Cover missing routes in routing spec There were a couple of routes in the routes file that were not covered in the `team_planner_routing_spec`. For completeness-sake, added them in. --- .../spec/routing/team_planner_routing_spec.rb | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/team_planner/spec/routing/team_planner_routing_spec.rb b/modules/team_planner/spec/routing/team_planner_routing_spec.rb index e08b4faee999..8f0283994c51 100644 --- a/modules/team_planner/spec/routing/team_planner_routing_spec.rb +++ b/modules/team_planner/spec/routing/team_planner_routing_spec.rb @@ -29,6 +29,12 @@ require 'spec_helper' RSpec.describe 'Team planner routing' do + it 'routes to team_planner#overview' do + expect(subject) + .to route(:get, '/team_planners') + .to(controller: 'team_planner/team_planner', action: :overview) + end + it 'routes to team_planner#index' do expect(subject) .to route(:get, '/projects/foobar/team_planners') @@ -42,7 +48,13 @@ end context 'with :project_id' do - it 'routes to team_planner#new' do + it 'routes to team_planner#upsale' do + expect(subject) + .to route(:get, '/projects/foobar/team_planners/upsale') + .to(controller: 'team_planner/team_planner', action: :upsale, project_id: 'foobar') + end + + it 'routes to team_planner#show' do expect(subject) .to route(:get, '/projects/foobar/team_planners/new') .to(controller: 'team_planner/team_planner', action: :show, project_id: 'foobar') @@ -50,6 +62,12 @@ end context 'without :project_id' do + it 'routes to team_planner#upsale' do + expect(subject) + .to route(:get, '/team_planners/upsale') + .to(controller: 'team_planner/team_planner', action: :upsale) + end + it 'routes to team_planner#new' do expect(subject) .to route(:get, '/team_planners/new') From 7091fc02f37c10c7e72c18a8e5956dda739c5cee Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Wed, 12 Jul 2023 17:48:08 -0500 Subject: [PATCH 146/180] Refactor namespace of `Overview::TableComponent` This will provide better namespacing for components shared between the index and overview pages. --- .../overview}/row_component.rb | 30 ++++++------- .../overview}/table_component.rb | 42 ++++++++++--------- .../team_planner/overview.html.erb | 2 +- 3 files changed, 39 insertions(+), 35 deletions(-) rename modules/team_planner/app/components/{team_planner_overview => team_planner/overview}/row_component.rb (74%) rename modules/team_planner/app/components/{team_planner_overview => team_planner/overview}/table_component.rb (67%) diff --git a/modules/team_planner/app/components/team_planner_overview/row_component.rb b/modules/team_planner/app/components/team_planner/overview/row_component.rb similarity index 74% rename from modules/team_planner/app/components/team_planner_overview/row_component.rb rename to modules/team_planner/app/components/team_planner/overview/row_component.rb index c73df3a4fae2..bffab29ed0be 100644 --- a/modules/team_planner/app/components/team_planner_overview/row_component.rb +++ b/modules/team_planner/app/components/team_planner/overview/row_component.rb @@ -26,24 +26,26 @@ # See COPYRIGHT and LICENSE files for more details. #++ -module TeamPlannerOverview - class RowComponent < ::RowComponent - def query - model - end +module TeamPlanner + module Overview + class RowComponent < ::RowComponent + def query + model + end - delegate :project, to: :query + delegate :project, to: :query - def name - link_to query.name, project_team_planner_path(project, query.id) - end + def name + link_to query.name, project_team_planner_path(project, query.id) + end - def project_id - helpers.link_to_project model.project, {}, {}, false - end + def project_id + helpers.link_to_project model.project, {}, {}, false + end - def created_at - helpers.format_time(query.created_at) + def created_at + helpers.format_time(query.created_at) + end end end end diff --git a/modules/team_planner/app/components/team_planner_overview/table_component.rb b/modules/team_planner/app/components/team_planner/overview/table_component.rb similarity index 67% rename from modules/team_planner/app/components/team_planner_overview/table_component.rb rename to modules/team_planner/app/components/team_planner/overview/table_component.rb index 924d16b78859..0afaa67a378a 100644 --- a/modules/team_planner/app/components/team_planner_overview/table_component.rb +++ b/modules/team_planner/app/components/team_planner/overview/table_component.rb @@ -26,30 +26,32 @@ # See COPYRIGHT and LICENSE files for more details. #++ -module TeamPlannerOverview - class TableComponent < ::TableComponent - options :current_user - columns :name, :project_id, :created_at - sortable_columns :name, :project_id, :created_at +module TeamPlanner + module Overview + class TableComponent < ::TableComponent + options :current_user + columns :name, :project_id, :created_at + sortable_columns :name, :project_id, :created_at - def initial_sort - %w[name asc] - end + def initial_sort + %w[name asc] + end - def sortable? - true - end + def sortable? + true + end - def paginated? - true - end + def paginated? + true + end - def headers - [ - [:name, { caption: I18n.t(:label_name) }], - [:project_id, { caption: Query.human_attribute_name(:project) }], - [:created_at, { caption: Query.human_attribute_name(:created_at) }] - ] + def headers + [ + [:name, { caption: I18n.t(:label_name) }], + [:project_id, { caption: Query.human_attribute_name(:project) }], + [:created_at, { caption: Query.human_attribute_name(:created_at) }] + ] + end end end end diff --git a/modules/team_planner/app/views/team_planner/team_planner/overview.html.erb b/modules/team_planner/app/views/team_planner/team_planner/overview.html.erb index 7d7899a5d1e3..5ec1711568b5 100644 --- a/modules/team_planner/app/views/team_planner/team_planner/overview.html.erb +++ b/modules/team_planner/app/views/team_planner/team_planner/overview.html.erb @@ -2,4 +2,4 @@ <%= toolbar title: t(:'team_planner.label_team_planner_plural') %> -<%= render ::TeamPlannerOverview::TableComponent.new(rows: @views, current_user: current_user) %> +<%= render ::TeamPlanner::Overview::TableComponent.new(rows: @views, current_user: current_user) %> From 02c5bc47ac3d5a12b491f4779bcfdafd622e7f02 Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Wed, 12 Jul 2023 18:01:24 -0500 Subject: [PATCH 147/180] Remove unnecessary expectation from sidebar interaction in index_spec There was nothing really extra being tested here. The sidebar is already Angular-rendered. --- .../team_planner/spec/features/team_planner_index_spec.rb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/team_planner/spec/features/team_planner_index_spec.rb b/modules/team_planner/spec/features/team_planner_index_spec.rb index 31b958fd0623..c1441e46974e 100644 --- a/modules/team_planner/spec/features/team_planner_index_spec.rb +++ b/modules/team_planner/spec/features/team_planner_index_spec.rb @@ -53,11 +53,6 @@ it 'can create an action through the sidebar' do find('[data-qa-selector="team-planner--create-button"]').click - team_planner.expect_title - - # Also works from the frontend - find('[data-qa-selector="team-planner--create-button"]').click - team_planner.expect_no_toaster team_planner.expect_title end From 681d72852d5d7898a55b957c1067bb3c2fb65b18 Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Wed, 12 Jul 2023 18:24:17 -0500 Subject: [PATCH 148/180] Extract "AddButtonComponent" for both overview and index pages This component becomes a reusable button that can self-decide when to render based on its context and can be used in both: - the overview page (for the global create button) - and the index page (for the project-specific create button) --- .../add_button_component.html.erb | 9 +++ .../team_planner/add_button_component.rb | 74 +++++++++++++++++++ .../team_planner/team_planner/index.html.erb | 13 +--- .../team_planner/overview.html.erb | 4 +- .../spec/features/team_planner_index_spec.rb | 34 ++++----- .../features/team_planner_overview_spec.rb | 31 ++++---- .../spec/support/pages/team_planner.rb | 32 ++++++++ 7 files changed, 148 insertions(+), 49 deletions(-) create mode 100644 modules/team_planner/app/components/team_planner/add_button_component.html.erb create mode 100644 modules/team_planner/app/components/team_planner/add_button_component.rb diff --git a/modules/team_planner/app/components/team_planner/add_button_component.html.erb b/modules/team_planner/app/components/team_planner/add_button_component.html.erb new file mode 100644 index 000000000000..662ee1417f23 --- /dev/null +++ b/modules/team_planner/app/components/team_planner/add_button_component.html.erb @@ -0,0 +1,9 @@ +
  • + <%= link_to dynamic_path, + class: link_css_class, + title: title, + aria_label: aria_label do %> + <%= icon %> + <%= label %> + <% end %> +
  • diff --git a/modules/team_planner/app/components/team_planner/add_button_component.rb b/modules/team_planner/app/components/team_planner/add_button_component.rb new file mode 100644 index 000000000000..13a982ed0d97 --- /dev/null +++ b/modules/team_planner/app/components/team_planner/add_button_component.rb @@ -0,0 +1,74 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2023 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 TeamPlanner + class AddButtonComponent < ::ApplicationComponent + options :current_project + + def render? + if current_project + User.current.allowed_to?(:manage_team_planner, current_project) + else + User.current.allowed_to_globally?(:manage_team_planner) + end + end + + def dynamic_path + polymorphic_path([:new, current_project, :team_planners]) + end + + def title + I18n.t('team_planner.label_create_new_team_planner') + end + + def aria_label + I18n.t('team_planner.label_create_new_team_planner') + end + + def li_css_class + 'toolbar-item' + end + + def link_css_class + 'button -alt-highlight' + end + + def label + content_tag(:span, + t(:'team_planner.label_team_planner'), + class: 'button--text') + end + + def icon + helpers.op_icon('button--icon icon-add') + end + end +end diff --git a/modules/team_planner/app/views/team_planner/team_planner/index.html.erb b/modules/team_planner/app/views/team_planner/team_planner/index.html.erb index 624d912e16f3..10f9bfa3de41 100644 --- a/modules/team_planner/app/views/team_planner/team_planner/index.html.erb +++ b/modules/team_planner/app/views/team_planner/team_planner/index.html.erb @@ -1,16 +1,7 @@ <% html_title(t('team_planner.label_team_planner_plural')) -%> <%= toolbar title: t(:'team_planner.label_team_planner_plural') do %> - <% if current_user.allowed_to?(:manage_team_planner, @project) %> -
  • - <%= link_to new_project_team_planners_path(@project), - class: 'button -alt-highlight', - title: t(:'team_planner.label_create_new_team_planner') do %> - <%= op_icon('button--icon icon-add') %> - <%= t(:'team_planner.label_team_planner') %> - <% end %> -
  • - <% end %> + <%= render ::TeamPlanner::AddButtonComponent.new(current_project: @project) %> <% end %> -<%= render ::TeamPlanner::TableComponent.new(rows: @views, current_user: current_user) %> \ No newline at end of file +<%= render ::TeamPlanner::TableComponent.new(rows: @views, current_user: current_user) %> diff --git a/modules/team_planner/app/views/team_planner/team_planner/overview.html.erb b/modules/team_planner/app/views/team_planner/team_planner/overview.html.erb index 5ec1711568b5..bb684321f680 100644 --- a/modules/team_planner/app/views/team_planner/team_planner/overview.html.erb +++ b/modules/team_planner/app/views/team_planner/team_planner/overview.html.erb @@ -1,5 +1,7 @@ <% html_title(t('team_planner.label_team_planner_plural')) -%> -<%= toolbar title: t(:'team_planner.label_team_planner_plural') %> +<%= toolbar title: t(:'team_planner.label_team_planner_plural') do %> + <%= render ::TeamPlanner::AddButtonComponent.new %> +<% end %> <%= render ::TeamPlanner::Overview::TableComponent.new(rows: @views, current_user: current_user) %> diff --git a/modules/team_planner/spec/features/team_planner_index_spec.rb b/modules/team_planner/spec/features/team_planner_index_spec.rb index c1441e46974e..44e23eeca009 100644 --- a/modules/team_planner/spec/features/team_planner_index_spec.rb +++ b/modules/team_planner/spec/features/team_planner_index_spec.rb @@ -45,9 +45,12 @@ context 'with no view' do let(:team_plan) { nil } - it 'shows an index action' do - expect(page).to have_text 'There is currently nothing to display.' - expect(page).to have_selector '.button', text: 'Team planner' + it 'shows an empty index action' do + team_planner.expect_no_views_rendered + end + + it 'shows a create button' do + team_planner.expect_create_button end it 'can create an action through the sidebar' do @@ -60,8 +63,8 @@ context 'with an existing view' do it 'shows that view' do - expect(page).to have_selector 'td', text: query.name - expect(page).to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" + team_planner.expect_view_rendered query + team_planner.expect_delete_button_for query end context 'with another user with limited access' do @@ -72,28 +75,21 @@ member_with_permissions: %w[view_work_packages view_team_planner]) end - it 'does not show the create button' do - expect(page).to have_selector 'td', text: query.name + it 'does not show the management buttons' do + team_planner.expect_view_rendered query - # Does not show the delete - expect(page).not_to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" - - # Does not show the create button - expect(page).not_to have_selector '.button', text: 'Team planner' + team_planner.expect_no_delete_button_for query + team_planner.expect_no_create_button end context 'when the view is non-public' do let(:query) { create(:query, user:, project:, public: false) } it 'does not show a non-public view' do - expect(page).to have_text 'There is currently nothing to display.' - expect(page).not_to have_selector 'td', text: query.name - - # Does not show the delete - expect(page).not_to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" + team_planner.expect_no_views_rendered + team_planner.expect_view_not_rendered query - # Does not show the create button - expect(page).not_to have_selector '.button', text: 'Team planner' + team_planner.expect_no_create_button end end end diff --git a/modules/team_planner/spec/features/team_planner_overview_spec.rb b/modules/team_planner/spec/features/team_planner_overview_spec.rb index dba8054a28a0..c952a0f02a5b 100644 --- a/modules/team_planner/spec/features/team_planner_overview_spec.rb +++ b/modules/team_planner/spec/features/team_planner_overview_spec.rb @@ -55,21 +55,23 @@ end end - it 'shows no create button' do - expect(page).not_to have_selector '.button', text: 'Team planner' + it 'shows a create button' do + team_planner.expect_create_button end context 'with no view' do let(:team_plan) { nil } - it 'shows an overview action' do - expect(page).to have_text 'There is currently nothing to display.' + it 'shows an empty overview action' do + team_planner.expect_no_views_rendered end end context 'with an existing view' do it 'shows that view' do - expect(page).to have_selector 'td', text: query.name + team_planner.expect_view_rendered query + + team_planner.expect_no_delete_button_for query end context 'with another user with limited access' do @@ -81,27 +83,20 @@ end it 'does not show the management buttons' do - expect(page).to have_selector 'td', text: query.name - - # Does not show the delete - expect(page).not_to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" + team_planner.expect_view_rendered query - # Does not show the create button - expect(page).not_to have_selector '.button', text: 'Team planner' + team_planner.expect_no_delete_button_for query + team_planner.expect_no_create_button end context 'when the view is non-public' do let(:query) { create(:query, user:, project:, public: false) } it 'does not show a non-public view' do - expect(page).to have_text 'There is currently nothing to display.' - expect(page).not_to have_selector 'td', text: query.name - - # Does not show the delete - expect(page).not_to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" + team_planner.expect_no_views_rendered + team_planner.expect_view_not_rendered query - # Does not show the create button - expect(page).not_to have_selector '.button', text: 'Team planner' + team_planner.expect_no_create_button end end end diff --git a/modules/team_planner/spec/support/pages/team_planner.rb b/modules/team_planner/spec/support/pages/team_planner.rb index 8c5474cd3d17..0b25d2a96a41 100644 --- a/modules/team_planner/spec/support/pages/team_planner.rb +++ b/modules/team_planner/spec/support/pages/team_planner.rb @@ -145,6 +145,38 @@ def expect_resizable(work_package, resizable: true) end end + def expect_no_views_rendered + expect(page).to have_text 'There is currently nothing to display.' + end + + def expect_view_rendered(query) + expect(page).to have_selector 'td', text: query.name + end + + def expect_delete_button_for(query) + expect(page).to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" + end + + def expect_no_delete_button_for(query) + expect(page).not_to have_selector "[data-qa-selector='team-planner-remove-#{query.id}']" + end + + def expect_view_not_rendered(query) + expect(page).not_to have_selector 'td', text: query.name + end + + def expect_create_button + within '.toolbar-items' do + expect(page).to have_link text: 'Team planner' + end + end + + def expect_no_create_button + within '.toolbar-items' do + expect(page).not_to have_link text: 'Team planner' + end + end + def add_assignee(name) click_add_user page.find('[data-qa-selector="tp-add-assignee"] input') From e36b0db7620e74dd2e1dcb1f3a248e5499d621b6 Mon Sep 17 00:00:00 2001 From: Aaron Contreras Date: Thu, 13 Jul 2023 16:58:37 -0500 Subject: [PATCH 149/180] Add Team Planner Global Create Form Adds the Global Create Form along with the controller action, service and contract for handling the creation and validation of this new view. --- .../views/global_create_contract.rb | 43 ++++++ .../team_planner/team_planner_controller.rb | 32 ++++- .../views/global_create_service.rb | 58 ++++++++ .../views/set_attributes_service.rb | 36 +++++ .../team_planner/team_planner/_form.html.erb | 91 ++++++++++++ .../team_planner/team_planner/new.html.erb | 37 +++++ modules/team_planner/config/locales/en.yml | 6 + modules/team_planner/config/routes.rb | 2 +- .../lib/open_project/team_planner/engine.rb | 2 +- ...eam_planner_global_create_contract_spec.rb | 46 +++++++ .../team_planner_global_create_spec.rb | 129 ++++++++++++++++++ .../spec/routing/team_planner_routing_spec.rb | 6 + .../views/global_create_service_spec.rb | 66 +++++++++ .../spec/support/pages/team_planner.rb | 33 +++++ 14 files changed, 583 insertions(+), 4 deletions(-) create mode 100644 modules/team_planner/app/contracts/team_planner/views/global_create_contract.rb create mode 100644 modules/team_planner/app/services/team_planner/views/global_create_service.rb create mode 100644 modules/team_planner/app/services/team_planner/views/set_attributes_service.rb create mode 100644 modules/team_planner/app/views/team_planner/team_planner/_form.html.erb create mode 100644 modules/team_planner/app/views/team_planner/team_planner/new.html.erb create mode 100644 modules/team_planner/spec/contracts/views/team_planner_global_create_contract_spec.rb create mode 100644 modules/team_planner/spec/features/team_planner_global_create_spec.rb create mode 100644 modules/team_planner/spec/services/team_planner/views/global_create_service_spec.rb diff --git a/modules/team_planner/app/contracts/team_planner/views/global_create_contract.rb b/modules/team_planner/app/contracts/team_planner/views/global_create_contract.rb new file mode 100644 index 000000000000..8e9c08ea20c6 --- /dev/null +++ b/modules/team_planner/app/contracts/team_planner/views/global_create_contract.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2023 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 TeamPlanner + module Views + class GlobalCreateContract < ::Queries::CreateContract + validate :validate_project_present + + private + + def validate_project_present + errors.add :project_id, :blank if model.project_id.blank? + end + end + end +end diff --git a/modules/team_planner/app/controllers/team_planner/team_planner_controller.rb b/modules/team_planner/app/controllers/team_planner/team_planner_controller.rb index 17fec45a7fc5..9d7ab3529d2f 100644 --- a/modules/team_planner/app/controllers/team_planner/team_planner_controller.rb +++ b/modules/team_planner/app/controllers/team_planner/team_planner_controller.rb @@ -3,8 +3,9 @@ class TeamPlannerController < BaseController include EnterpriseTrialHelper include Layout before_action :find_optional_project - before_action :authorize, except: %i[overview new upsale] - before_action :authorize_global, only: %i[overview new] + before_action :build_plan_view, only: %i[new] + before_action :authorize, except: %i[overview new create upsale] + before_action :authorize_global, only: %i[overview new create] before_action :require_ee_token, except: %i[upsale] before_action :find_plan_view, only: %i[destroy] @@ -21,6 +22,21 @@ def overview def new; end + def create + service_result = create_service_class.new(user: User.current) + .call(plan_view_params) + + @view = service_result.result + + if service_result.success? + flash[:notice] = I18n.t(:notice_successful_create) + redirect_to project_team_planner_path(@project, @view.query) + else + @errors = service_result.errors + render action: :new + end + end + def show render layout: 'angular/angular' end @@ -53,6 +69,18 @@ def require_ee_token private + def create_service_class + TeamPlanner::Views::GlobalCreateService + end + + def plan_view_params + params.require(:query).permit(:name, :public, :starred).merge(project_id: @project&.id) + end + + def build_plan_view + @view = Query.new + end + def find_plan_view @view = Query .visible(current_user) diff --git a/modules/team_planner/app/services/team_planner/views/global_create_service.rb b/modules/team_planner/app/services/team_planner/views/global_create_service.rb new file mode 100644 index 000000000000..cba31a3fa28b --- /dev/null +++ b/modules/team_planner/app/services/team_planner/views/global_create_service.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2023 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 TeamPlanner + module Views + class GlobalCreateService < ::Queries::CreateService + def initialize(user:, + contract_class: TeamPlanner::Views::GlobalCreateContract, + contract_options: nil) + super + end + + def after_perform(call) + create_view_from_query(call) + end + + def instance_class + ::Query + end + + private + + def create_view_from_query(call) + view_params = { query_id: call.result.id, type: 'team_planner' } + + ::Views::CreateService.new(user: @user) + .call(view_params) + end + end + end +end diff --git a/modules/team_planner/app/services/team_planner/views/set_attributes_service.rb b/modules/team_planner/app/services/team_planner/views/set_attributes_service.rb new file mode 100644 index 000000000000..4ee285a0aa7f --- /dev/null +++ b/modules/team_planner/app/services/team_planner/views/set_attributes_service.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2023 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 TeamPlanner + module Views + class SetAttributesService < ::Queries::SetAttributesService + end + end +end diff --git a/modules/team_planner/app/views/team_planner/team_planner/_form.html.erb b/modules/team_planner/app/views/team_planner/team_planner/_form.html.erb new file mode 100644 index 000000000000..4f9d23ee791a --- /dev/null +++ b/modules/team_planner/app/views/team_planner/team_planner/_form.html.erb @@ -0,0 +1,91 @@ +<%#-- copyright +OpenProject is an open source project management software. +Copyright (C) 2012-2023 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. + +++#%> + +<%= error_messages_for_contract @view, @errors %> + +
    + +
    + <%= f.text_field :name, + label: Meeting.human_attribute_name(:title), + required: true, + size: 60, + container_class: '-wide' %> +
    + +
    + +
    + <%= angular_component_tag 'op-project-autocompleter', + inputs: { + apiFilters: [['user_action', '=', ['team_planners/create']]], + name: 'project_id', + value: @project, + appendTo: 'body', + }, + id: 'project_id', + class: 'form--select-container -wide remote-field--input', + data: { + 'qa-selector': 'project_id' + } + %> +
    +
    +

    <%= t 'team_planner.help_text.project' %>

    +
    +
    + +
    + <%= styled_label_tag 'query[public]', + Query.human_attribute_name(:public) %> +
    + <%= styled_check_box_tag 'query[public]', + '1', + @view.public + %> +
    +
    +

    <%= t 'team_planner.help_text.public' %>

    +
    +
    + +
    + <%= styled_label_tag 'query[starred]', + t('team_planner.label_favoured') %> +
    + <%= styled_check_box_tag 'query[starred]', + '1', + @view.starred + %> +
    +
    +

    <%= t 'team_planner.help_text.favoured' %>

    +
    +
    +
    diff --git a/modules/team_planner/app/views/team_planner/team_planner/new.html.erb b/modules/team_planner/app/views/team_planner/team_planner/new.html.erb new file mode 100644 index 000000000000..6cf3efe54de3 --- /dev/null +++ b/modules/team_planner/app/views/team_planner/team_planner/new.html.erb @@ -0,0 +1,37 @@ +<%#-- copyright +OpenProject is an open source project management software. +Copyright (C) 2012-2023 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. + +++#%> + +<% html_title t('team_planner.label_new_team_planner') %> +<%= toolbar title: t('team_planner.label_new_team_planner') %> +<%= labelled_tabular_form_for @view, url: { controller: '/team_planner/team_planner', action: 'create' }, :html => {:id => 'team-planner-form'} do |f| -%> + <%= render :partial => 'form', :locals => {:f => f} %> + <%= styled_button_tag t(:button_create), class: '-highlight' %> + <%= link_to t(:button_cancel), { controller: 'team_planner/team_planner', action: 'overview' }, + class: 'button' %> +<% end %> diff --git a/modules/team_planner/config/locales/en.yml b/modules/team_planner/config/locales/en.yml index b749df5c23c1..8d7becc5bae6 100644 --- a/modules/team_planner/config/locales/en.yml +++ b/modules/team_planner/config/locales/en.yml @@ -6,9 +6,15 @@ en: team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/routes.rb b/modules/team_planner/config/routes.rb index 4c2ee8e52d75..99e645405c9b 100644 --- a/modules/team_planner/config/routes.rb +++ b/modules/team_planner/config/routes.rb @@ -1,7 +1,7 @@ OpenProject::Application.routes.draw do resources :team_planners, controller: 'team_planner/team_planner', - only: %i[] do + only: %i[create] do collection do get '/', to: 'team_planner/team_planner#overview' get '/new', to: 'team_planner/team_planner#new' diff --git a/modules/team_planner/lib/open_project/team_planner/engine.rb b/modules/team_planner/lib/open_project/team_planner/engine.rb index ed233a569034..9919aa5d97a1 100644 --- a/modules/team_planner/lib/open_project/team_planner/engine.rb +++ b/modules/team_planner/lib/open_project/team_planner/engine.rb @@ -33,7 +33,7 @@ class Engine < ::Rails::Engine dependencies: %i[view_work_packages], contract_actions: { team_planner: %i[read] } permission :manage_team_planner, - { 'team_planner/team_planner': %i[index show new destroy upsale] }, + { 'team_planner/team_planner': %i[index show new create destroy upsale] }, dependencies: %i[view_team_planner add_work_packages edit_work_packages save_queries manage_public_queries], contract_actions: { team_planner: %i[create update destroy] } end diff --git a/modules/team_planner/spec/contracts/views/team_planner_global_create_contract_spec.rb b/modules/team_planner/spec/contracts/views/team_planner_global_create_contract_spec.rb new file mode 100644 index 000000000000..f366a9d5399f --- /dev/null +++ b/modules/team_planner/spec/contracts/views/team_planner_global_create_contract_spec.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2023 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 'contracts/shared/model_contract_shared_context' +require 'contracts/queries/shared_contract_examples' + +RSpec.describe TeamPlanner::Views::GlobalCreateContract do + include_context 'ModelContract shared context' + include_context 'with queries contract' + + describe 'validation' do + context 'if the project_id is nil' do + let(:project) { nil } + + it_behaves_like 'contract is invalid', project_id: :blank + end + end +end diff --git a/modules/team_planner/spec/features/team_planner_global_create_spec.rb b/modules/team_planner/spec/features/team_planner_global_create_spec.rb new file mode 100644 index 000000000000..a28aee7a2419 --- /dev/null +++ b/modules/team_planner/spec/features/team_planner_global_create_spec.rb @@ -0,0 +1,129 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2023 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 'shared_context' + +RSpec.describe 'Team Planner', + 'Creating a view from a Global Context', + :js, + :with_cuprite, + with_ee: %i[team_planner_view], + with_flag: { more_global_index_pages_active: true } do + include_context 'with team planner full access' + + context 'within the overview page' do + before do + visit team_planners_path + end + + context 'when clicking on the create button' do + before do + team_planner.click_on_create_button + end + + it 'navigates to the global create form' do + expect(page).to have_current_path(new_team_planners_path) + expect(page).to have_content I18n.t('team_planner.label_new_team_planner') + end + end + end + + context 'within the global create page' do + before do + visit new_team_planners_path + end + + context 'with all fields set' do + before do + wait_for_reload # Halt until the project autocompleter is ready + + team_planner.set_title('Gotham Renewal') + team_planner.set_project(project) + team_planner.set_public + team_planner.set_favoured + team_planner.click_on_submit + + wait_for_reload + end + + it 'creates a view and redirects me to it' do + expect(page).to have_text(I18n.t(:notice_successful_create)) + expect(page).to have_current_path(project_team_planner_path(project, Query.last), ignore_query: true) + expect(page).to have_text('Gotham Renewal') + end + end + + context 'when missing a required field' do + describe 'title' do + before do + wait_for_reload # Halt until the project autocompleter is ready + + team_planner.set_project(project) + team_planner.click_on_submit + end + + it 'renders a required attribute validation error' do + expect(Query.all).to be_empty + + # Required HTML attribute just warns + expect(page).to have_current_path(new_team_planners_path) + end + end + + describe 'project_id' do + before do + team_planner.set_title('Gotham Renewal') + team_planner.click_on_submit + + wait_for_reload + end + + it 'renders a required attribute validation error' do + expect(Query.all).to be_empty + + expect(page).to have_text("Project can't be blank.") + end + end + end + + describe 'cancel button' do + context "when it's clicked" do + before do + team_planner.click_on_cancel_button + end + + it 'navigates back to the overview page' do + expect(page).to have_current_path(team_planners_path) + end + end + end + end +end diff --git a/modules/team_planner/spec/routing/team_planner_routing_spec.rb b/modules/team_planner/spec/routing/team_planner_routing_spec.rb index 8f0283994c51..cc987f1ba6e7 100644 --- a/modules/team_planner/spec/routing/team_planner_routing_spec.rb +++ b/modules/team_planner/spec/routing/team_planner_routing_spec.rb @@ -75,6 +75,12 @@ end end + it 'routes to team_planner#create' do + expect(subject) + .to route(:post, '/team_planners') + .to(controller: 'team_planner/team_planner', action: :create) + end + it 'routes to team_planner#show with state' do expect(subject) .to route(:get, '/projects/foobar/team_planners/1234/details/555') diff --git a/modules/team_planner/spec/services/team_planner/views/global_create_service_spec.rb b/modules/team_planner/spec/services/team_planner/views/global_create_service_spec.rb new file mode 100644 index 000000000000..838d0ff18ba3 --- /dev/null +++ b/modules/team_planner/spec/services/team_planner/views/global_create_service_spec.rb @@ -0,0 +1,66 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2023 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 TeamPlanner::Views::GlobalCreateService, with_ee: %i[team_planner_view] do + shared_let(:project) { create(:project) } + shared_let(:user) { build_stubbed(:admin) } + shared_let(:instance) { described_class.new(user:) } + + subject { instance.call(params) } + + context 'with all valid params' do + let(:params) do + { + name: 'Gotham Renewal', + project_id: project.id, + public: true, + starred: false + } + end + + it 'is successful' do + expect(subject).to be_success + end + + it 'creates a team planner view and its query' do + view = subject.result + query = view.query + + expect(view.type).to eq 'team_planner' + + expect(query.name).to eq 'Gotham Renewal' + expect(query.project).to eql(project) + expect(query).to be_public + expect(query).not_to be_starred + end + end +end diff --git a/modules/team_planner/spec/support/pages/team_planner.rb b/modules/team_planner/spec/support/pages/team_planner.rb index 0b25d2a96a41..533bb69293eb 100644 --- a/modules/team_planner/spec/support/pages/team_planner.rb +++ b/modules/team_planner/spec/support/pages/team_planner.rb @@ -177,6 +177,39 @@ def expect_no_create_button end end + def click_on_create_button + within '.toolbar-items' do + click_link 'Team planner' + end + end + + def click_on_cancel_button + click_on 'Cancel' + end + + def set_title(title) + fill_in 'Title', with: title + end + + def set_project(project) + select_autocomplete(find('[data-qa-selector="project_id"]'), + query: project, + results_selector: 'body', + wait_for_fetched_options: false) + end + + def set_public + check 'Public' + end + + def set_favoured + check 'Favoured' + end + + def click_on_submit + click_on 'Create' + end + def add_assignee(name) click_add_user page.find('[data-qa-selector="tp-add-assignee"] input') From 4052fb02c501c61350fe502e742ba6a8cf16fd1e Mon Sep 17 00:00:00 2001 From: ulferts Date: Fri, 14 Jul 2023 15:20:53 +0200 Subject: [PATCH 150/180] remove clear icon from project input on wp#move Clearing the project doesn't make sense as the user chose the option to move the work packages to a different project. --- app/views/work_packages/moves/new.html.erb | 3 ++- .../project-autocompleter/project-autocompleter.component.html | 1 + .../project-autocompleter/project-autocompleter.component.ts | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/views/work_packages/moves/new.html.erb b/app/views/work_packages/moves/new.html.erb index 49475c237a83..7a9643b1cdf0 100644 --- a/app/views/work_packages/moves/new.html.erb +++ b/app/views/work_packages/moves/new.html.erb @@ -68,7 +68,8 @@ See COPYRIGHT and LICENSE files for more details. name: 'new_project_id', value: @target_project, appendTo: 'body', - hiddenFieldAction: 'change->refresh-on-form-changes#triggerReload' + hiddenFieldAction: 'change->refresh-on-form-changes#triggerReload', + clearable: false, }, id: 'new_project_id', class: 'remote-field--input', diff --git a/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.html b/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.html index 43688e74934e..b1cfd9b3eb43 100644 --- a/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.html +++ b/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.html @@ -10,6 +10,7 @@ [labelForId]="labelForId" [dropdownPosition]="dropdownPosition" + [clearable]="clearable" [appendTo]="appendTo" diff --git a/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.ts b/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.ts index efb988f0135b..cc57d3e15900 100644 --- a/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.ts +++ b/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.ts @@ -121,6 +121,8 @@ export class ProjectAutocompleterComponent implements ControlValueAccessor { @Input() public hiddenFieldAction = ''; + @Input() public clearable?:boolean = true; + dataLoaded = false; projects:IProjectAutocompleteItem[]; From b646fcf243f40e6696d4ff610d9038abbf6b6692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Thu, 13 Jul 2023 20:24:58 +0200 Subject: [PATCH 151/180] Fix double submit in meetings agend https://community.openproject.org/work_packages/49061 --- modules/meeting/app/views/meeting_contents/_form.html.erb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/meeting/app/views/meeting_contents/_form.html.erb b/modules/meeting/app/views/meeting_contents/_form.html.erb index 40ce71936fc2..be0b55304eaf 100644 --- a/modules/meeting/app/views/meeting_contents/_form.html.erb +++ b/modules/meeting/app/views/meeting_contents/_form.html.erb @@ -48,6 +48,8 @@ See COPYRIGHT and LICENSE files for more details. <% path = send("preview_#{content_type}_path", content.meeting) %>

    <%= f.text_field :journal_notes, label: :comments %>

    -

    <%= styled_button_tag t(:button_save), class: '-highlight -with-icon icon-checkmark button--save-agenda' %> + <%= styled_button_tag t(:button_save), + class: '-highlight -with-icon icon-checkmark button--save-agenda', + data: { disable_with: I18n.t(:label_loading) } %> <%= link_to t(:button_cancel), "#", data: { 'content-type': content_type }, class: 'button -with-icon icon-cancel button--cancel-agenda' %> <% end %> From cff41744a10fcffa2cf085ef75a411d69f41bf5c Mon Sep 17 00:00:00 2001 From: Behrokh Satarnejad <62008897+bsatarnejad@users.noreply.github.com> Date: Mon, 17 Jul 2023 08:21:42 +0200 Subject: [PATCH 152/180] [46837] Preview of linked WP is cut off in split view when close to the edge (#12801) * set the right value of the preview modal to zero * use floating-ui/dom library for repositioning * undo style changes * fix eslint errors --- .../preview-trigger.service.ts | 47 ++++++++------ .../wp-preview-modal/wp-preview.modal.ts | 61 ++++++++++++++----- 2 files changed, 74 insertions(+), 34 deletions(-) diff --git a/frontend/src/app/core/setup/globals/global-listeners/preview-trigger.service.ts b/frontend/src/app/core/setup/globals/global-listeners/preview-trigger.service.ts index 448113d2f3a7..7cdf0f243e74 100644 --- a/frontend/src/app/core/setup/globals/global-listeners/preview-trigger.service.ts +++ b/frontend/src/app/core/setup/globals/global-listeners/preview-trigger.service.ts @@ -36,31 +36,37 @@ export class PreviewTriggerService { private mouseInModal = false; - constructor(readonly opModalService:OpModalService, + constructor( + readonly opModalService:OpModalService, readonly ngZone:NgZone, - readonly injector:Injector) { + readonly injector:Injector, + ) { } setupListener() { jQuery(document.body).on('mouseover', '.preview-trigger', (e) => { e.preventDefault(); e.stopPropagation(); - const el = jQuery(e.target); - const href = el.attr('href'); + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const el = e.target as HTMLElement; + if (el) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const href = el.getAttribute('href'); - if (!href) { - return; - } + if (!href) { + return; + } - this.opModalService.show( - WpPreviewModalComponent, - this.injector, - { workPackageLink: href, event: e }, - true, - ).subscribe((previewModal) => { - this.modalElement = previewModal.elementRef.nativeElement as HTMLElement; - previewModal.reposition(jQuery(this.modalElement), el); - }); + this.opModalService.show( + WpPreviewModalComponent, + this.injector, + { workPackageLink: href, event: e }, + true, + ).subscribe((previewModal) => { + this.modalElement = previewModal.elementRef.nativeElement as HTMLElement; + void previewModal.reposition(this.modalElement, el); + }); + } }); jQuery(document.body).on('mouseleave', '.preview-trigger', () => { @@ -93,11 +99,12 @@ export class PreviewTriggerService { } const previewElement = jQuery(this.modalElement.children[0]); + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion if (previewElement && previewElement.offset()) { - const horizontalHover = e.pageX >= Math.floor(previewElement.offset()!.left) - && e.pageX < previewElement.offset()!.left + previewElement.width()!; - const verticalHover = e.pageY >= Math.floor(previewElement.offset()!.top) - && e.pageY < previewElement.offset()!.top + previewElement.height()!; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const horizontalHover = e.pageX >= Math.floor(previewElement.offset()!.left) && e.pageX < previewElement.offset()!.left + previewElement.width()!; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const verticalHover = e.pageY >= Math.floor(previewElement.offset()!.top) && e.pageY < previewElement.offset()!.top + previewElement.height()!; return horizontalHover && verticalHover; } return false; diff --git a/frontend/src/app/shared/components/modals/preview-modal/wp-preview-modal/wp-preview.modal.ts b/frontend/src/app/shared/components/modals/preview-modal/wp-preview-modal/wp-preview.modal.ts index 15509ffeea93..a808d2d0f810 100644 --- a/frontend/src/app/shared/components/modals/preview-modal/wp-preview-modal/wp-preview.modal.ts +++ b/frontend/src/app/shared/components/modals/preview-modal/wp-preview-modal/wp-preview.modal.ts @@ -27,7 +27,13 @@ //++ import { - ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, OnInit, + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + ElementRef, + Inject, + OnInit, + Input, } from '@angular/core'; import { OpModalComponent } from 'core-app/shared/components/modal/modal.component'; import { OpModalLocalsToken, OpModalService } from 'core-app/shared/components/modal/modal.service'; @@ -37,6 +43,13 @@ import { WorkPackageResource } from 'core-app/features/hal/resources/work-packag import idFromLink from 'core-app/features/hal/helpers/id-from-link'; import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; import { StateService } from '@uirouter/core'; +import { + computePosition, + flip, + limitShift, + Placement, + shift, +} from '@floating-ui/dom'; @Component({ templateUrl: './wp-preview.modal.html', @@ -50,20 +63,26 @@ export class WpPreviewModalComponent extends OpModalComponent implements OnInit created_by: this.i18n.t('js.label_created_by'), }; - constructor(readonly elementRef:ElementRef, + @Input() public alignment?:Placement = 'bottom-end'; + + @Input() public allowRepositioning? = true; + + constructor( + readonly elementRef:ElementRef, @Inject(OpModalLocalsToken) readonly locals:OpModalLocalsMap, readonly cdRef:ChangeDetectorRef, readonly i18n:I18nService, readonly apiV3Service:ApiV3Service, readonly opModalService:OpModalService, - readonly $state:StateService) { + readonly $state:StateService, + ) { super(locals, cdRef, elementRef); } ngOnInit() { super.ngOnInit(); const { workPackageLink } = this.locals; - const workPackageId = idFromLink(workPackageLink); + const workPackageId = idFromLink(workPackageLink as string|null); this .apiV3Service @@ -74,23 +93,37 @@ export class WpPreviewModalComponent extends OpModalComponent implements OnInit this.workPackage = workPackage; this.cdRef.detectChanges(); - const modal = jQuery(this.elementRef.nativeElement); - this.reposition(modal, this.locals.event.target); + const modal = this.elementRef.nativeElement as HTMLElement; + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-explicit-any + void this.reposition(modal, this.locals.event.target as HTMLElement); }); } - public reposition(element:JQuery, target:JQuery) { - element.position({ - my: 'right top', - at: 'right bottom', - of: target, - collision: 'flipfit', + public async reposition(element:HTMLElement, target:HTMLElement) { + const floatingEl = element.children[0] as HTMLElement; + const { x, y } = await computePosition( + target, + floatingEl, + { + placement: this.alignment, + middleware: this.allowRepositioning ? [ + flip({ + mainAxis: true, + crossAxis: true, + fallbackAxisSideDirection: 'start', + }), + shift({ limiter: limitShift() }), + ] : [], + }, + ); + Object.assign(floatingEl.style, { + left: `${x}px`, + top: `${y}px`, }); } public openStateLink(event:{ workPackageId:string; requestedState:string }) { const params = { workPackageId: event.workPackageId }; - - this.$state.go(event.requestedState, params); + void this.$state.go(event.requestedState, params); } } From 3e9c055e26e6c50372ab5d298987208995dcaef1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 06:04:49 +0000 Subject: [PATCH 153/180] Bump ox from 2.14.16 to 2.14.17 Bumps [ox](https://github.com/ohler55/ox) from 2.14.16 to 2.14.17. - [Changelog](https://github.com/ohler55/ox/blob/develop/CHANGELOG.md) - [Commits](https://github.com/ohler55/ox/compare/v2.14.16...v2.14.17) --- updated-dependencies: - dependency-name: ox 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 b615af10c5bd..79a7ad61f72d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -661,7 +661,7 @@ GEM openproject-token (3.0.1) activemodel os (1.1.4) - ox (2.14.16) + ox (2.14.17) paper_trail (12.3.0) activerecord (>= 5.2) request_store (~> 1.1) From a35d01873df46676d7c15df47eab46737cf1b476 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 05:35:33 +0000 Subject: [PATCH 154/180] Bump @angular-eslint/template-parser from 16.0.3 to 16.1.0 in /frontend Bumps [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) from 16.0.3 to 16.1.0. - [Release notes](https://github.com/angular-eslint/angular-eslint/releases) - [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/template-parser/CHANGELOG.md) - [Commits](https://github.com/angular-eslint/angular-eslint/commits/v16.1.0/packages/template-parser) --- updated-dependencies: - dependency-name: "@angular-eslint/template-parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index e439678b8edd..4833340ef587 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1248,12 +1248,12 @@ } }, "node_modules/@angular-eslint/template-parser": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.3.tgz", - "integrity": "sha512-IAWdwp/S9QC3EMiVxSS0E3ABy9PSidN3PW0Ll2EtM3mzXMYlpZXmxqd+B1xV/xKWzhk1Mp04QX8hHfG6Vq+qaQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.1.0.tgz", + "integrity": "sha512-DOQtzVehtbO7+BQ+FMOXRsxGRjHb3ve6M+S4qASKTiI+twtONjRODcHezD3N4PDkjpKPbOnk7YnFsHur5csUNw==", "dev": true, "dependencies": { - "@angular-eslint/bundled-angular-compiler": "16.0.3", + "@angular-eslint/bundled-angular-compiler": "16.1.0", "eslint-scope": "^7.0.0" }, "peerDependencies": { @@ -1261,6 +1261,12 @@ "typescript": "*" } }, + "node_modules/@angular-eslint/template-parser/node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.1.0.tgz", + "integrity": "sha512-5EFAWXuFJADr3imo/ZYshY8s0K7U7wyysnE2LXnpT9PAi5rmkzt70UNZNRuamCbXr4tdIiu+fXWOj7tUuJKnnw==", + "dev": true + }, "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": { "version": "7.1.1", "dev": true, @@ -39498,15 +39504,21 @@ } }, "@angular-eslint/template-parser": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.3.tgz", - "integrity": "sha512-IAWdwp/S9QC3EMiVxSS0E3ABy9PSidN3PW0Ll2EtM3mzXMYlpZXmxqd+B1xV/xKWzhk1Mp04QX8hHfG6Vq+qaQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.1.0.tgz", + "integrity": "sha512-DOQtzVehtbO7+BQ+FMOXRsxGRjHb3ve6M+S4qASKTiI+twtONjRODcHezD3N4PDkjpKPbOnk7YnFsHur5csUNw==", "dev": true, "requires": { - "@angular-eslint/bundled-angular-compiler": "16.0.3", + "@angular-eslint/bundled-angular-compiler": "16.1.0", "eslint-scope": "^7.0.0" }, "dependencies": { + "@angular-eslint/bundled-angular-compiler": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.1.0.tgz", + "integrity": "sha512-5EFAWXuFJADr3imo/ZYshY8s0K7U7wyysnE2LXnpT9PAi5rmkzt70UNZNRuamCbXr4tdIiu+fXWOj7tUuJKnnw==", + "dev": true + }, "eslint-scope": { "version": "7.1.1", "dev": true, From 4d2b2bde1ef93090fee7ab043658c8d1492fbdd5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 05:35:16 +0000 Subject: [PATCH 155/180] Bump @ngx-formly/core from 6.1.4 to 6.1.8 in /frontend Bumps [@ngx-formly/core](https://github.com/ngx-formly/ngx-formly) from 6.1.4 to 6.1.8. - [Release notes](https://github.com/ngx-formly/ngx-formly/releases) - [Changelog](https://github.com/ngx-formly/ngx-formly/blob/main/CHANGELOG.md) - [Commits](https://github.com/ngx-formly/ngx-formly/compare/v6.1.4...v6.1.8) --- updated-dependencies: - dependency-name: "@ngx-formly/core" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 4833340ef587..dddc49328f76 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -6617,9 +6617,9 @@ } }, "node_modules/@ngx-formly/core": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@ngx-formly/core/-/core-6.1.4.tgz", - "integrity": "sha512-T4uktH7IncZb93WXG8hLobaptWQuKbHWX6+lrhPwshZTcs6DrWCcdlWlrDM5/KUEr4JK2bLQjw/IGdkjJsH+xA==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@ngx-formly/core/-/core-6.1.8.tgz", + "integrity": "sha512-WVInXYF/fJx7aNUn8y8mqLUaotxAmxbdMzC5GJwJ4oNa8a2kmwWIBAzfoe7YhyWR/t/pGANTu9tsYZaFtQxPVQ==", "dependencies": { "tslib": "^2.0.0" }, @@ -43163,9 +43163,9 @@ "dev": true }, "@ngx-formly/core": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@ngx-formly/core/-/core-6.1.4.tgz", - "integrity": "sha512-T4uktH7IncZb93WXG8hLobaptWQuKbHWX6+lrhPwshZTcs6DrWCcdlWlrDM5/KUEr4JK2bLQjw/IGdkjJsH+xA==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@ngx-formly/core/-/core-6.1.8.tgz", + "integrity": "sha512-WVInXYF/fJx7aNUn8y8mqLUaotxAmxbdMzC5GJwJ4oNa8a2kmwWIBAzfoe7YhyWR/t/pGANTu9tsYZaFtQxPVQ==", "requires": { "tslib": "^2.0.0" } From 6354b810e52b97ccacc15a289e8f520168df33ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 05:34:56 +0000 Subject: [PATCH 156/180] Bump @storybook/angular from 7.1.0-beta.1 to 7.1.0-rc.2 in /frontend Bumps [@storybook/angular](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/angular) from 7.1.0-beta.1 to 7.1.0-rc.2. - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.prerelease.md) - [Commits](https://github.com/storybookjs/storybook/commits/v7.1.0-rc.2/code/frameworks/angular) --- updated-dependencies: - dependency-name: "@storybook/angular" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 2797 ++++++++++++++++++------------------ 1 file changed, 1381 insertions(+), 1416 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index dddc49328f76..df95543f1e25 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1984,9 +1984,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", - "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "engines": { "node": ">=6.9.0" } @@ -2117,15 +2117,15 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", - "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", "dependencies": { - "@babel/compat-data": "^7.22.6", + "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "browserslist": "^4.21.9", - "lru-cache": "^5.1.1" + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -2141,6 +2141,14 @@ "yallist": "^3.0.2" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", "license": "ISC" @@ -2360,63 +2368,29 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", - "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", - "bin": { - "parser": "bin/babel-parser.js" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2435,27 +2409,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-transforms/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/helper-module-transforms/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", @@ -5306,9 +5259,9 @@ "license": "MIT" }, "node_modules/@esbuild/android-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz", - "integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.13.tgz", + "integrity": "sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==", "cpu": [ "arm" ], @@ -5322,9 +5275,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz", - "integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.13.tgz", + "integrity": "sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==", "cpu": [ "arm64" ], @@ -5338,9 +5291,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz", - "integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.13.tgz", + "integrity": "sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==", "cpu": [ "x64" ], @@ -5354,9 +5307,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz", - "integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.13.tgz", + "integrity": "sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==", "cpu": [ "arm64" ], @@ -5370,9 +5323,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz", - "integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.13.tgz", + "integrity": "sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==", "cpu": [ "x64" ], @@ -5386,9 +5339,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz", - "integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.13.tgz", + "integrity": "sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==", "cpu": [ "arm64" ], @@ -5402,9 +5355,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz", - "integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.13.tgz", + "integrity": "sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==", "cpu": [ "x64" ], @@ -5418,9 +5371,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz", - "integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.13.tgz", + "integrity": "sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==", "cpu": [ "arm" ], @@ -5434,9 +5387,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz", - "integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.13.tgz", + "integrity": "sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==", "cpu": [ "arm64" ], @@ -5450,9 +5403,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz", - "integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.13.tgz", + "integrity": "sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==", "cpu": [ "ia32" ], @@ -5466,9 +5419,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz", - "integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.13.tgz", + "integrity": "sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==", "cpu": [ "loong64" ], @@ -5482,9 +5435,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz", - "integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.13.tgz", + "integrity": "sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==", "cpu": [ "mips64el" ], @@ -5498,9 +5451,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz", - "integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.13.tgz", + "integrity": "sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==", "cpu": [ "ppc64" ], @@ -5514,9 +5467,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz", - "integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.13.tgz", + "integrity": "sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==", "cpu": [ "riscv64" ], @@ -5530,9 +5483,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz", - "integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.13.tgz", + "integrity": "sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==", "cpu": [ "s390x" ], @@ -5562,9 +5515,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz", - "integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.13.tgz", + "integrity": "sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==", "cpu": [ "x64" ], @@ -5578,9 +5531,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz", - "integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.13.tgz", + "integrity": "sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==", "cpu": [ "x64" ], @@ -5594,9 +5547,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz", - "integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.13.tgz", + "integrity": "sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==", "cpu": [ "x64" ], @@ -5610,9 +5563,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz", - "integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.13.tgz", + "integrity": "sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==", "cpu": [ "arm64" ], @@ -5626,9 +5579,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz", - "integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.13.tgz", + "integrity": "sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==", "cpu": [ "ia32" ], @@ -5642,9 +5595,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz", - "integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.13.tgz", + "integrity": "sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==", "cpu": [ "x64" ], @@ -6628,14 +6581,6 @@ "rxjs": "^6.5.3 || ^7.0.0" } }, - "node_modules/@nicolo-ribaudo/semver-v6": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", - "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -10514,14 +10459,14 @@ } }, "node_modules/@storybook/addons": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.1.0-beta.1.tgz", - "integrity": "sha512-JUQTb3oB4uiz5MM0HxEj7sFnpjm+NvTEsLt2QFED/OQKpmE4d8qHDmsvuGwVMWKnyXGL4+7CcBEOZFheBlRJIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.1.0-rc.2.tgz", + "integrity": "sha512-+8M32rPNY7mU8Si5D4Ba2qNsbim081CrLJby9o5WFye9BiTTHbtWwZtWYEwtMYbr369YBbDFLcDnZvH74gmWSA==", "dev": true, "dependencies": { - "@storybook/manager-api": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1" + "@storybook/manager-api": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -10533,13 +10478,13 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -10547,14 +10492,14 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -10566,9 +10511,9 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -10579,9 +10524,9 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true, "funding": { "type": "opencollective", @@ -10589,19 +10534,19 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/manager-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-beta.1.tgz", - "integrity": "sha512-y9YnNUN8rw+UyRr67Np8+MkEVmrSI1Ay1DRRigQS4uphZswp+8JW19P7eZxcqBb9zrz9cVntIZSmPTQk6q/qQQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-rc.2.tgz", + "integrity": "sha512-TlzVW+pfKVVc0hXIiDiOGgGK6CwbIQ6rGX2E817wD4rcaoFgvAHeWgEq4GwO6kKaCI1jCcw1wrSS4t5wiLqa4A==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/router": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -10620,18 +10565,18 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -10647,12 +10592,12 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/router": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-beta.1.tgz", - "integrity": "sha512-Z+by4iY3d6IZrfglhHDtKFdZNQXSYr1I5CKbxRcIUmYfY8cXGmu9G4WDtysoRze7VmwmnZNOKrwEZvqkpW6RCQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-rc.2.tgz", + "integrity": "sha512-OFyb6VueUhdXJGgCdkBbXTxMpBpX7lRLk1l/rnuHtX44/rbGIRertYApTWsPRzGkD4JDkNr0f5sePO3OKiz1lw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -10666,13 +10611,13 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/theming": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-beta.1.tgz", - "integrity": "sha512-WZdaSA0/R+PKc69FGBdyo1XNfe6lZ3pmHuE4kmqYPFWp0wIldmaL9XD84k4jrTxJ9Brj4/y7EZcrgPXCTrWP/A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-rc.2.tgz", + "integrity": "sha512-P+yhzKqZnZVIHobKGowgGr+dOaGt0f0N+I4WE2wJdYjVb6CRyU62/pt9e30+br38xB8bCnefGJOhz37USnOhtQ==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -10686,12 +10631,12 @@ } }, "node_modules/@storybook/addons/node_modules/@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -10717,25 +10662,25 @@ } }, "node_modules/@storybook/angular": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-7.1.0-beta.1.tgz", - "integrity": "sha512-ghdNGNVSRtxwieDL+SfdCDKJfXxJX+cNlNrnT6X081dOm03eFMO9tczDH5sibhiTZ51Cl6NqmXIdj+U1QJprXg==", - "dev": true, - "dependencies": { - "@storybook/builder-webpack5": "7.1.0-beta.1", - "@storybook/cli": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", - "@storybook/core-server": "7.1.0-beta.1", - "@storybook/core-webpack": "7.1.0-beta.1", - "@storybook/docs-tools": "7.1.0-beta.1", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-7.1.0-rc.2.tgz", + "integrity": "sha512-EIN7U5v07kyI8TVkOOzS0qYvEagCPYf/PKPkdWUvQmBl/uwUIm2Z+Ne5153pP6l5L0eqWtAN4uo2bq9r72KDrg==", + "dev": true, + "dependencies": { + "@storybook/builder-webpack5": "7.1.0-rc.2", + "@storybook/cli": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", + "@storybook/core-server": "7.1.0-rc.2", + "@storybook/core-webpack": "7.1.0-rc.2", + "@storybook/docs-tools": "7.1.0-rc.2", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/telemetry": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/manager-api": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/telemetry": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/node": "^16.0.0", "@types/react": "^16.14.34", "@types/react-dom": "^16.9.14", @@ -10795,26 +10740,26 @@ } }, "node_modules/@storybook/angular/node_modules/@babel/core": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", - "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-module-transforms": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", "@babel/helpers": "^7.22.6", "@babel/parser": "^7.22.7", "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2" + "json5": "^2.2.2", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -10824,10 +10769,19 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@storybook/angular/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@storybook/angular/node_modules/@babel/generator": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", - "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", "dev": true, "dependencies": { "@babel/types": "^7.22.5", @@ -10899,9 +10853,9 @@ } }, "node_modules/@storybook/angular/node_modules/@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.13.tgz", + "integrity": "sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==", "cpu": [ "x64" ], @@ -10915,15 +10869,15 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/builder-manager": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.1.0-beta.1.tgz", - "integrity": "sha512-IN6s94xj6B3B/Ol3nsOu4PiAjs6JL4LHQG4eZnFpNtU3gfTmLdWHZl/9merP7WEEYYaVTEzo3CHrIG1qASpbmg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.1.0-rc.2.tgz", + "integrity": "sha512-m4hOLjDynV/0bFSqmKZF61cO8A6PVviqJGGjbutRXQ24BduDPKDfdrutf1xmCfmKqJgWEbmxUA6zdEnHJk7Ucw==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/manager": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/manager": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -10943,13 +10897,13 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -10957,14 +10911,14 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -10976,24 +10930,24 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/cli": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.1.0-beta.1.tgz", - "integrity": "sha512-m+LUsnjoUlYitvOXGraljOJPAedT5ybHEI+BB1T9egZ8eOkpe2x9sEznmlhDKryfPXZ/Y0l0JrM461/eJzM40A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.1.0-rc.2.tgz", + "integrity": "sha512-J5XW/LjUQ29OJAFtkT9gKL/6G3dbvLOxwXM2eOYLkz20HC5I/6BAhjPZUDEknDD514lvFIa4u9N0F6dfkjeyYg==", "dev": true, "dependencies": { "@babel/core": "^7.22.0", "@babel/preset-env": "^7.22.0", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/core-server": "7.1.0-beta.1", - "@storybook/csf-tools": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/telemetry": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/codemod": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/core-server": "7.1.0-rc.2", + "@storybook/csf-tools": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/telemetry": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/semver": "^7.3.4", - "@yarnpkg/fslib": "3.0.0-rc.46", - "@yarnpkg/libzip": "3.0.0-rc.46", + "@yarnpkg/fslib": "2.10.3", + "@yarnpkg/libzip": "2.3.0", "chalk": "^4.1.0", "commander": "^6.2.1", "cross-spawn": "^7.0.3", @@ -11031,9 +10985,9 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -11044,18 +10998,18 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/codemod": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.1.0-beta.1.tgz", - "integrity": "sha512-tAWymiDeN6OyDT3m1Y7e6giq9cVnrLaeJ34ZeqFXSfFYjdeAe9Msj8EPE/IEghuTkZdxGGbUYdGgjyB3l7H8hQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.1.0-rc.2.tgz", + "integrity": "sha512-1uo0ud1h1St3T0H/otPNMMDvMIfNHKXzKrcyR3se5J1oTfjllRaws/0emY8tfSWMwytawLHVo8xlHA1MX6l/KQ==", "dev": true, "dependencies": { "@babel/core": "^7.22.0", "@babel/preset-env": "^7.22.0", "@babel/types": "^7.22.0", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/csf-tools": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", @@ -11070,13 +11024,13 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/core-common": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-beta.1.tgz", - "integrity": "sha512-mZCkziIbBZtLAV3PXAxa5TR7iFkq9pOGfdZvrFYoZ4mKUGfJnpuDEQgql+rMy990luGvyW0qWUrS8D+vIDOOfA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-rc.2.tgz", + "integrity": "sha512-SDJqUt1ovsLEcQDG4FDSeEPLZKsgUW5XvQCJgVLA68QWDMN1qnDrNmU1+mrzwl20cws/Ykrr8tDJRMM0H/82NQ==", "dev": true, "dependencies": { - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/find-cache-dir": "^3.2.1", "@types/node": "^16.0.0", "@types/node-fetch": "^2.6.4", @@ -11104,9 +11058,9 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true, "funding": { "type": "opencollective", @@ -11114,26 +11068,26 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/core-server": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.1.0-beta.1.tgz", - "integrity": "sha512-K0quiAdCFmGP8gSgPrik+oa0vFVnBZoNqiTNA1gHqTWmU0LXfOuA2ZOEBa6qFinbvTJfIqc2i/w3+SGvrRCBKg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.1.0-rc.2.tgz", + "integrity": "sha512-p/YpDmnndcj0ptdHzxMSmBc95r+L9P94oyJK5ArNYLbOb3ixv9E79RqQqkGPivWUirCoDIb5T9MeYnQdYW+Gtg==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/builder-manager": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.1.0-beta.1", + "@storybook/csf-tools": "7.1.0-rc.2", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/telemetry": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/manager": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/telemetry": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/detect-port": "^1.3.0", "@types/node": "^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -11168,9 +11122,9 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/csf-tools": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.1.0-beta.1.tgz", - "integrity": "sha512-nJ+urcwOV2u09wdxi7XBSkq5kkUxvGZk5dGShgHzzuPN85Si9yD/y4wcVPxfg6vyuUjSgNlcozW2ax1LDw5IYg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.1.0-rc.2.tgz", + "integrity": "sha512-YGQASURBY/hOTB+C2s5wo8MjEqDzWv0Vnw+xqFl/rEjquEWbKwFP96YocIQvHYfgBMlg92zetQHieLIOJE1shw==", "dev": true, "dependencies": { "@babel/generator": "^7.22.0", @@ -11178,7 +11132,7 @@ "@babel/traverse": "^7.22.0", "@babel/types": "^7.22.0", "@storybook/csf": "^0.1.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" @@ -11189,14 +11143,14 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/docs-tools": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.1.0-beta.1.tgz", - "integrity": "sha512-pwlGnxQ3OHbcG52gfMWqX1LRyxaPCaxjC/2UzRXoqcslSCL72eGgshAotoeygtqzpOq5QjRC1tmbGiZhFzzwyw==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.1.0-rc.2.tgz", + "integrity": "sha512-gvyMAQz9WtbiWvoa7qBxfuHTMIMbfKl6SEmUTsSsbtEkrhswsHDL5cag+hYtP4NbIiGgSOiOvF5i39xAHUMpdA==", "dev": true, "dependencies": { - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/doctrine": "^0.0.3", "doctrine": "^3.0.0", "lodash": "^4.17.21" @@ -11207,9 +11161,9 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/manager": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.1.0-beta.1.tgz", - "integrity": "sha512-g4QY0Ap5Ko0hwByyN4jJK4VFLTQav/IYxJxpGM3TxH1TPrjIHYExiRpfk60NCP0S6S5tLqFzVfbcXhUo1L+DHw==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.1.0-rc.2.tgz", + "integrity": "sha512-RwZlu0LMi1yVy8Yz/d6MFqxJkJG3gGfuV3W1fO6cAXpGaCvr8VxfykduFcrQM6F5bloCxFxCaj0rA9pE1pM/sA==", "dev": true, "funding": { "type": "opencollective", @@ -11217,19 +11171,19 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/manager-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-beta.1.tgz", - "integrity": "sha512-y9YnNUN8rw+UyRr67Np8+MkEVmrSI1Ay1DRRigQS4uphZswp+8JW19P7eZxcqBb9zrz9cVntIZSmPTQk6q/qQQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-rc.2.tgz", + "integrity": "sha512-TlzVW+pfKVVc0hXIiDiOGgGK6CwbIQ6rGX2E817wD4rcaoFgvAHeWgEq4GwO6kKaCI1jCcw1wrSS4t5wiLqa4A==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/router": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -11248,9 +11202,9 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/node-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-3dGmxXskTl00MB+e44xtU60qY7AAtSehbdSI/M4+LPVPm2hwJok1qMSH1ZVbTFI3Gw+5/SYnDgsmiwAXz+EVJg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-2CePjO6LwxqtdK9+C4L9akERZCwpGZ6/VDesY+q8lGORpQ77h6xS+JQYUdRyuDwgi9MwMSuuVIrKIZFDm52uDg==", "dev": true, "funding": { "type": "opencollective", @@ -11258,18 +11212,18 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -11285,12 +11239,12 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/router": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-beta.1.tgz", - "integrity": "sha512-Z+by4iY3d6IZrfglhHDtKFdZNQXSYr1I5CKbxRcIUmYfY8cXGmu9G4WDtysoRze7VmwmnZNOKrwEZvqkpW6RCQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-rc.2.tgz", + "integrity": "sha512-OFyb6VueUhdXJGgCdkBbXTxMpBpX7lRLk1l/rnuHtX44/rbGIRertYApTWsPRzGkD4JDkNr0f5sePO3OKiz1lw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -11304,13 +11258,14 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/telemetry": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.1.0-beta.1.tgz", - "integrity": "sha512-zrG/ilvICj2OEvYw1O/MY10uosa1QzZ3u8aEpac8Nf7lbLA21KW10g3oExfaXaYQL4WkpxJyFAwwAcJ6LIjwCg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.1.0-rc.2.tgz", + "integrity": "sha512-RgnzKhTdIMmMr9mr4txlXlO7WVeAvgBXeI3zv1GhKZsX6FHwOfGNSjiygKrSM+X0CbipmfajcsSAsk1c3gqDmg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/csf-tools": "7.1.0-rc.2", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -11323,13 +11278,13 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/theming": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-beta.1.tgz", - "integrity": "sha512-WZdaSA0/R+PKc69FGBdyo1XNfe6lZ3pmHuE4kmqYPFWp0wIldmaL9XD84k4jrTxJ9Brj4/y7EZcrgPXCTrWP/A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-rc.2.tgz", + "integrity": "sha512-P+yhzKqZnZVIHobKGowgGr+dOaGt0f0N+I4WE2wJdYjVb6CRyU62/pt9e30+br38xB8bCnefGJOhz37USnOhtQ==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -11343,12 +11298,12 @@ } }, "node_modules/@storybook/angular/node_modules/@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -11471,9 +11426,9 @@ } }, "node_modules/@storybook/angular/node_modules/esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.13.tgz", + "integrity": "sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==", "dev": true, "hasInstallScript": true, "bin": { @@ -11483,28 +11438,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" + "@esbuild/android-arm": "0.18.13", + "@esbuild/android-arm64": "0.18.13", + "@esbuild/android-x64": "0.18.13", + "@esbuild/darwin-arm64": "0.18.13", + "@esbuild/darwin-x64": "0.18.13", + "@esbuild/freebsd-arm64": "0.18.13", + "@esbuild/freebsd-x64": "0.18.13", + "@esbuild/linux-arm": "0.18.13", + "@esbuild/linux-arm64": "0.18.13", + "@esbuild/linux-ia32": "0.18.13", + "@esbuild/linux-loong64": "0.18.13", + "@esbuild/linux-mips64el": "0.18.13", + "@esbuild/linux-ppc64": "0.18.13", + "@esbuild/linux-riscv64": "0.18.13", + "@esbuild/linux-s390x": "0.18.13", + "@esbuild/linux-x64": "0.18.13", + "@esbuild/netbsd-x64": "0.18.13", + "@esbuild/openbsd-x64": "0.18.13", + "@esbuild/sunos-x64": "0.18.13", + "@esbuild/win32-arm64": "0.18.13", + "@esbuild/win32-ia32": "0.18.13", + "@esbuild/win32-x64": "0.18.13" } }, "node_modules/@storybook/angular/node_modules/find-up": { @@ -11585,9 +11540,9 @@ } }, "node_modules/@storybook/angular/node_modules/minipass": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.1.tgz", - "integrity": "sha512-NQ8MCKimInjVlaIqx51RKJJB7mINVkLTJbsZKmto4UAAOC/CWXES8PGaOgoBZyqoUsUA/U3DToGK7GJkkHbjJw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -11699,13 +11654,13 @@ } }, "node_modules/@storybook/api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.1.0-beta.1.tgz", - "integrity": "sha512-60qrnCpgVG0Oere/ZO5O0BndBCkXqqZ/r22NWIf9kn8cH29OJej/qhwfdKkTbuOtuwi/DJLtdh3RGk1mXh+tyw==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.1.0-rc.2.tgz", + "integrity": "sha512-OyHT2jeJHCXQgEFWf3h2uEYYj/RKBz4IQGR2UjAragkviV1xXxsP3Cnpw/+Sk7bPch0fcbq4WbNRvydTRZrlOQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/manager-api": "7.1.0-beta.1" + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/manager-api": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -11725,14 +11680,14 @@ } }, "node_modules/@storybook/api/node_modules/@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -11744,9 +11699,9 @@ } }, "node_modules/@storybook/api/node_modules/@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -11757,9 +11712,9 @@ } }, "node_modules/@storybook/api/node_modules/@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true, "funding": { "type": "opencollective", @@ -11767,19 +11722,19 @@ } }, "node_modules/@storybook/api/node_modules/@storybook/manager-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-beta.1.tgz", - "integrity": "sha512-y9YnNUN8rw+UyRr67Np8+MkEVmrSI1Ay1DRRigQS4uphZswp+8JW19P7eZxcqBb9zrz9cVntIZSmPTQk6q/qQQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-rc.2.tgz", + "integrity": "sha512-TlzVW+pfKVVc0hXIiDiOGgGK6CwbIQ6rGX2E817wD4rcaoFgvAHeWgEq4GwO6kKaCI1jCcw1wrSS4t5wiLqa4A==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/router": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -11798,12 +11753,12 @@ } }, "node_modules/@storybook/api/node_modules/@storybook/router": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-beta.1.tgz", - "integrity": "sha512-Z+by4iY3d6IZrfglhHDtKFdZNQXSYr1I5CKbxRcIUmYfY8cXGmu9G4WDtysoRze7VmwmnZNOKrwEZvqkpW6RCQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-rc.2.tgz", + "integrity": "sha512-OFyb6VueUhdXJGgCdkBbXTxMpBpX7lRLk1l/rnuHtX44/rbGIRertYApTWsPRzGkD4JDkNr0f5sePO3OKiz1lw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -11817,13 +11772,13 @@ } }, "node_modules/@storybook/api/node_modules/@storybook/theming": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-beta.1.tgz", - "integrity": "sha512-WZdaSA0/R+PKc69FGBdyo1XNfe6lZ3pmHuE4kmqYPFWp0wIldmaL9XD84k4jrTxJ9Brj4/y7EZcrgPXCTrWP/A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-rc.2.tgz", + "integrity": "sha512-P+yhzKqZnZVIHobKGowgGr+dOaGt0f0N+I4WE2wJdYjVb6CRyU62/pt9e30+br38xB8bCnefGJOhz37USnOhtQ==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -11837,12 +11792,12 @@ } }, "node_modules/@storybook/api/node_modules/@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -12487,30 +12442,30 @@ } }, "node_modules/@storybook/builder-webpack5": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.1.0-beta.1.tgz", - "integrity": "sha512-yr1ZTxYk3LaZHAnbOktiLDXQMn/er9c2gWkJTtbt9m5s5W5fyAUR9bR+17nWjBDPqW9fxDaOHvbbS2JLSQIcLw==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.1.0-rc.2.tgz", + "integrity": "sha512-2FyVhK/mYsvOQY5VComyClxcM5yJeynlnKeh0WRFIDGdXhrFexte/k+kspWXuipuCWQ8EsOhH9VmhXPsJFj6Ng==", "dev": true, "dependencies": { "@babel/core": "^7.22.0", - "@storybook/addons": "7.1.0-beta.1", - "@storybook/api": "7.1.0-beta.1", - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-api": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/components": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", - "@storybook/core-webpack": "7.1.0-beta.1", + "@storybook/addons": "7.1.0-rc.2", + "@storybook/api": "7.1.0-rc.2", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-api": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/components": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", + "@storybook/core-webpack": "7.1.0-rc.2", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/preview": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/router": "7.1.0-beta.1", - "@storybook/store": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", + "@storybook/manager-api": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/preview": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/router": "7.1.0-rc.2", + "@storybook/store": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", "@swc/core": "^1.3.49", "@types/node": "^16.0.0", "@types/semver": "^7.3.4", @@ -12554,26 +12509,26 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@babel/core": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", - "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-module-transforms": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", "@babel/helpers": "^7.22.6", "@babel/parser": "^7.22.7", "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2" + "json5": "^2.2.2", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -12583,10 +12538,19 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@storybook/builder-webpack5/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@storybook/builder-webpack5/node_modules/@babel/generator": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", - "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", "dev": true, "dependencies": { "@babel/types": "^7.22.5", @@ -12658,9 +12622,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.13.tgz", + "integrity": "sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==", "cpu": [ "x64" ], @@ -12674,13 +12638,13 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -12688,14 +12652,14 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -12707,9 +12671,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -12720,16 +12684,16 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/components": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.1.0-beta.1.tgz", - "integrity": "sha512-H5Ls/pnsV+EMvur9iVngFG2GS0oTbRRsL/wbc3H+ECZ0r9gDUzUDGtSkrU+DG8Oj60KadaV7uIGuQkZWJ41h7g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.1.0-rc.2.tgz", + "integrity": "sha512-hRGyEIOMeFVRUvx9xcPNEEJdbcNV79RP6O/F+Y/ycVowwrj+dlIUxERBEQcyQE29+tewzUOgTyrIAG+3jRowmQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" @@ -12744,13 +12708,13 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-beta.1.tgz", - "integrity": "sha512-mZCkziIbBZtLAV3PXAxa5TR7iFkq9pOGfdZvrFYoZ4mKUGfJnpuDEQgql+rMy990luGvyW0qWUrS8D+vIDOOfA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-rc.2.tgz", + "integrity": "sha512-SDJqUt1ovsLEcQDG4FDSeEPLZKsgUW5XvQCJgVLA68QWDMN1qnDrNmU1+mrzwl20cws/Ykrr8tDJRMM0H/82NQ==", "dev": true, "dependencies": { - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/find-cache-dir": "^3.2.1", "@types/node": "^16.0.0", "@types/node-fetch": "^2.6.4", @@ -12778,9 +12742,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true, "funding": { "type": "opencollective", @@ -12788,19 +12752,19 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/manager-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-beta.1.tgz", - "integrity": "sha512-y9YnNUN8rw+UyRr67Np8+MkEVmrSI1Ay1DRRigQS4uphZswp+8JW19P7eZxcqBb9zrz9cVntIZSmPTQk6q/qQQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-rc.2.tgz", + "integrity": "sha512-TlzVW+pfKVVc0hXIiDiOGgGK6CwbIQ6rGX2E817wD4rcaoFgvAHeWgEq4GwO6kKaCI1jCcw1wrSS4t5wiLqa4A==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/router": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -12819,9 +12783,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/node-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-3dGmxXskTl00MB+e44xtU60qY7AAtSehbdSI/M4+LPVPm2hwJok1qMSH1ZVbTFI3Gw+5/SYnDgsmiwAXz+EVJg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-2CePjO6LwxqtdK9+C4L9akERZCwpGZ6/VDesY+q8lGORpQ77h6xS+JQYUdRyuDwgi9MwMSuuVIrKIZFDm52uDg==", "dev": true, "funding": { "type": "opencollective", @@ -12829,18 +12793,18 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -12856,12 +12820,12 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/router": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-beta.1.tgz", - "integrity": "sha512-Z+by4iY3d6IZrfglhHDtKFdZNQXSYr1I5CKbxRcIUmYfY8cXGmu9G4WDtysoRze7VmwmnZNOKrwEZvqkpW6RCQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-rc.2.tgz", + "integrity": "sha512-OFyb6VueUhdXJGgCdkBbXTxMpBpX7lRLk1l/rnuHtX44/rbGIRertYApTWsPRzGkD4JDkNr0f5sePO3OKiz1lw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -12875,13 +12839,13 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/theming": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-beta.1.tgz", - "integrity": "sha512-WZdaSA0/R+PKc69FGBdyo1XNfe6lZ3pmHuE4kmqYPFWp0wIldmaL9XD84k4jrTxJ9Brj4/y7EZcrgPXCTrWP/A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-rc.2.tgz", + "integrity": "sha512-P+yhzKqZnZVIHobKGowgGr+dOaGt0f0N+I4WE2wJdYjVb6CRyU62/pt9e30+br38xB8bCnefGJOhz37USnOhtQ==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -12895,12 +12859,12 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -13150,9 +13114,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.13.tgz", + "integrity": "sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==", "dev": true, "hasInstallScript": true, "bin": { @@ -13162,28 +13126,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" + "@esbuild/android-arm": "0.18.13", + "@esbuild/android-arm64": "0.18.13", + "@esbuild/android-x64": "0.18.13", + "@esbuild/darwin-arm64": "0.18.13", + "@esbuild/darwin-x64": "0.18.13", + "@esbuild/freebsd-arm64": "0.18.13", + "@esbuild/freebsd-x64": "0.18.13", + "@esbuild/linux-arm": "0.18.13", + "@esbuild/linux-arm64": "0.18.13", + "@esbuild/linux-ia32": "0.18.13", + "@esbuild/linux-loong64": "0.18.13", + "@esbuild/linux-mips64el": "0.18.13", + "@esbuild/linux-ppc64": "0.18.13", + "@esbuild/linux-riscv64": "0.18.13", + "@esbuild/linux-s390x": "0.18.13", + "@esbuild/linux-x64": "0.18.13", + "@esbuild/netbsd-x64": "0.18.13", + "@esbuild/openbsd-x64": "0.18.13", + "@esbuild/sunos-x64": "0.18.13", + "@esbuild/win32-arm64": "0.18.13", + "@esbuild/win32-ia32": "0.18.13", + "@esbuild/win32-x64": "0.18.13" } }, "node_modules/@storybook/builder-webpack5/node_modules/find-up": { @@ -13270,9 +13234,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/minipass": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.1.tgz", - "integrity": "sha512-NQ8MCKimInjVlaIqx51RKJJB7mINVkLTJbsZKmto4UAAOC/CWXES8PGaOgoBZyqoUsUA/U3DToGK7GJkkHbjJw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -13875,13 +13839,13 @@ } }, "node_modules/@storybook/client-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-7.1.0-beta.1.tgz", - "integrity": "sha512-W3mWEpulnPiub/bUYlcueXxNaPY4TA6ABhWvPyU78uFFeJV6nzYh0tk1vtCNh28kVJZFVz+TFU+zlCsvVN5n4Q==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-7.1.0-rc.2.tgz", + "integrity": "sha512-rL0Avt902hHdLKLxzqbEXGPorUJ7WlSlXdhrqvXuTm9BC9xZYSGxgP8AR52txdBnYKj4stxF28klT5Jyy1KeKw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1" + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -13889,13 +13853,13 @@ } }, "node_modules/@storybook/client-api/node_modules/@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -13903,14 +13867,14 @@ } }, "node_modules/@storybook/client-api/node_modules/@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -13922,9 +13886,9 @@ } }, "node_modules/@storybook/client-api/node_modules/@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -13935,9 +13899,9 @@ } }, "node_modules/@storybook/client-api/node_modules/@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true, "funding": { "type": "opencollective", @@ -13945,18 +13909,18 @@ } }, "node_modules/@storybook/client-api/node_modules/@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -13972,12 +13936,12 @@ } }, "node_modules/@storybook/client-api/node_modules/@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -15203,14 +15167,14 @@ } }, "node_modules/@storybook/core-webpack": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.1.0-beta.1.tgz", - "integrity": "sha512-NBwVEpVgATC9N0ym0xQ0EWe4W2QwRMPe3akw03hpEFT+9quOnG+5I2ekA0VSDsOMY6q++F3joctNzLAVpm3f1g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.1.0-rc.2.tgz", + "integrity": "sha512-uYlkziN059BVKHJwnlj+0zt6rM4Ih01L4g7gVnvjOn/pwdH6+jjeryFSB+cal3+52OzPDa/zDMvoNk/57CjbeQ==", "dev": true, "dependencies": { - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/node": "^16.0.0", "ts-dedent": "^2.0.0" }, @@ -15220,9 +15184,9 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.13.tgz", + "integrity": "sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==", "cpu": [ "x64" ], @@ -15236,14 +15200,14 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -15255,9 +15219,9 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -15268,13 +15232,13 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@storybook/core-common": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-beta.1.tgz", - "integrity": "sha512-mZCkziIbBZtLAV3PXAxa5TR7iFkq9pOGfdZvrFYoZ4mKUGfJnpuDEQgql+rMy990luGvyW0qWUrS8D+vIDOOfA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-rc.2.tgz", + "integrity": "sha512-SDJqUt1ovsLEcQDG4FDSeEPLZKsgUW5XvQCJgVLA68QWDMN1qnDrNmU1+mrzwl20cws/Ykrr8tDJRMM0H/82NQ==", "dev": true, "dependencies": { - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/find-cache-dir": "^3.2.1", "@types/node": "^16.0.0", "@types/node-fetch": "^2.6.4", @@ -15302,9 +15266,9 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true, "funding": { "type": "opencollective", @@ -15312,9 +15276,9 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@storybook/node-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-3dGmxXskTl00MB+e44xtU60qY7AAtSehbdSI/M4+LPVPm2hwJok1qMSH1ZVbTFI3Gw+5/SYnDgsmiwAXz+EVJg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-2CePjO6LwxqtdK9+C4L9akERZCwpGZ6/VDesY+q8lGORpQ77h6xS+JQYUdRyuDwgi9MwMSuuVIrKIZFDm52uDg==", "dev": true, "funding": { "type": "opencollective", @@ -15322,12 +15286,12 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -15402,9 +15366,9 @@ "dev": true }, "node_modules/@storybook/core-webpack/node_modules/esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.13.tgz", + "integrity": "sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==", "dev": true, "hasInstallScript": true, "bin": { @@ -15414,28 +15378,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" + "@esbuild/android-arm": "0.18.13", + "@esbuild/android-arm64": "0.18.13", + "@esbuild/android-x64": "0.18.13", + "@esbuild/darwin-arm64": "0.18.13", + "@esbuild/darwin-x64": "0.18.13", + "@esbuild/freebsd-arm64": "0.18.13", + "@esbuild/freebsd-x64": "0.18.13", + "@esbuild/linux-arm": "0.18.13", + "@esbuild/linux-arm64": "0.18.13", + "@esbuild/linux-ia32": "0.18.13", + "@esbuild/linux-loong64": "0.18.13", + "@esbuild/linux-mips64el": "0.18.13", + "@esbuild/linux-ppc64": "0.18.13", + "@esbuild/linux-riscv64": "0.18.13", + "@esbuild/linux-s390x": "0.18.13", + "@esbuild/linux-x64": "0.18.13", + "@esbuild/netbsd-x64": "0.18.13", + "@esbuild/openbsd-x64": "0.18.13", + "@esbuild/sunos-x64": "0.18.13", + "@esbuild/win32-arm64": "0.18.13", + "@esbuild/win32-ia32": "0.18.13", + "@esbuild/win32-x64": "0.18.13" } }, "node_modules/@storybook/core-webpack/node_modules/find-up": { @@ -15516,9 +15480,9 @@ } }, "node_modules/@storybook/core-webpack/node_modules/minipass": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.1.tgz", - "integrity": "sha512-NQ8MCKimInjVlaIqx51RKJJB7mINVkLTJbsZKmto4UAAOC/CWXES8PGaOgoBZyqoUsUA/U3DToGK7GJkkHbjJw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -16344,9 +16308,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.1.0-beta.1.tgz", - "integrity": "sha512-/Khu9T9UyIy97hcRPP5NQg2LiHkPL91DBL1kgdys9M8i59pK+49RnCt7ARhiOF/KLSDR7mhZDvKNpm6X1hos3g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.1.0-rc.2.tgz", + "integrity": "sha512-VDc3IRY7FbAOoRi/KZf9c/RglCGuBIkXNnKb2xa2jv9yM8wB79L7bwCGOoXFX4tngaF2KujKlH8b0JUh77FGJQ==", "dev": true, "funding": { "type": "opencollective", @@ -16414,13 +16378,13 @@ } }, "node_modules/@storybook/store": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-7.1.0-beta.1.tgz", - "integrity": "sha512-rlv8QiEERKQjcZLG8f4mRBjcHkWeXXk911Q5WGSqdYaK85oOaQjIcshma7JPaRyLIgTzX48DBR2q4OSazs6Pew==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-7.1.0-rc.2.tgz", + "integrity": "sha512-BC5h5tvEpP80bl55mFf3mkKBNw2/RYi2N4/jq/IYyxk70NjxZoL7wiM0OJL4QhG9PVqyJDEy7NdJ4odbFOvR/w==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1" + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -16428,13 +16392,13 @@ } }, "node_modules/@storybook/store/node_modules/@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" }, "funding": { "type": "opencollective", @@ -16442,14 +16406,14 @@ } }, "node_modules/@storybook/store/node_modules/@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -16461,9 +16425,9 @@ } }, "node_modules/@storybook/store/node_modules/@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -16474,9 +16438,9 @@ } }, "node_modules/@storybook/store/node_modules/@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true, "funding": { "type": "opencollective", @@ -16484,18 +16448,18 @@ } }, "node_modules/@storybook/store/node_modules/@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -16511,12 +16475,12 @@ } }, "node_modules/@storybook/store/node_modules/@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "dependencies": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -16941,9 +16905,9 @@ } }, "node_modules/@swc/core": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.68.tgz", - "integrity": "sha512-njGQuJO+Wy06dEayt70cf0c/KI3HGjm4iW9LLViVLBuYNzJ4SSdNfzejludzufu6im+dsDJ0i3QjgWhAIcVHMQ==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.69.tgz", + "integrity": "sha512-Khc/DE9D5+2tYTHgAIp5DZARbs8kldWg3b0Jp6l8FQLjelcLFmlQWSwKhVZrgv4oIbgZydIp8jInsvTalMHqnQ==", "dev": true, "hasInstallScript": true, "engines": { @@ -16954,16 +16918,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.68", - "@swc/core-darwin-x64": "1.3.68", - "@swc/core-linux-arm-gnueabihf": "1.3.68", - "@swc/core-linux-arm64-gnu": "1.3.68", - "@swc/core-linux-arm64-musl": "1.3.68", - "@swc/core-linux-x64-gnu": "1.3.68", - "@swc/core-linux-x64-musl": "1.3.68", - "@swc/core-win32-arm64-msvc": "1.3.68", - "@swc/core-win32-ia32-msvc": "1.3.68", - "@swc/core-win32-x64-msvc": "1.3.68" + "@swc/core-darwin-arm64": "1.3.69", + "@swc/core-darwin-x64": "1.3.69", + "@swc/core-linux-arm-gnueabihf": "1.3.69", + "@swc/core-linux-arm64-gnu": "1.3.69", + "@swc/core-linux-arm64-musl": "1.3.69", + "@swc/core-linux-x64-gnu": "1.3.69", + "@swc/core-linux-x64-musl": "1.3.69", + "@swc/core-win32-arm64-msvc": "1.3.69", + "@swc/core-win32-ia32-msvc": "1.3.69", + "@swc/core-win32-x64-msvc": "1.3.69" }, "peerDependencies": { "@swc/helpers": "^0.5.0" @@ -16975,9 +16939,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.68.tgz", - "integrity": "sha512-Z5pNxeuP2NxpOHTzDQkJs0wAPLnTlglZnR3WjObijwvdwT/kw1Y5EPDKM/BVSIeG40SPMkDLBbI0aj0qyXzrBA==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.69.tgz", + "integrity": "sha512-IjZTf12zIPWkV3D7toaLDoJPSkLhQ4fDH8G6/yCJUI27cBFOI3L8LXqptYmISoN5yYdrcnNpdqdapD09JPuNJg==", "cpu": [ "arm64" ], @@ -16991,9 +16955,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.68.tgz", - "integrity": "sha512-ZHl42g6yXhfX4PzAQ0BNvBXpt/OcbAHfubWRN6eXELK3fiNnxL7QBW1if7iizlq6iA+Mj1pwHyyUit1pz0+fgA==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.69.tgz", + "integrity": "sha512-/wBO0Rn5oS5dJI/L9kJRkPAdksVwl5H9nleW/NM3A40N98VV8T7h/i1nO051mxIjq0R6qXVGOWFbBoLrPYucJg==", "cpu": [ "x64" ], @@ -17007,9 +16971,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.68.tgz", - "integrity": "sha512-Mk8f6KCOQ2CNAR4PtWajIjS6XKSSR7ZYDOCf1GXRxhS3qEyQH7V8elWvqWYqHcT4foO60NUmxA/NOM/dQrdO1A==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.69.tgz", + "integrity": "sha512-NShCjMv6Xn8ckMKBRqmprXvUF14+jXY0TcNKXwjYErzoIUFOnG72M36HxT4QEeAtKZ4Eg4CZFE4zlJ27fDp1gg==", "cpu": [ "arm" ], @@ -17023,9 +16987,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.68.tgz", - "integrity": "sha512-RhBllggh9t9sIxaRgRcGrVaS7fDk6KsIqR6b9+dwU5OyDr4ZyHWw1ZaH/1/HAebuXYhNBjoNUiRtca6lKRIPgQ==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.69.tgz", + "integrity": "sha512-VRPOJj4idopSHIj1bOVXX0SgaB18R8yZNunb7eXS5ZcjVxAcdvqyIz3RdQX1zaJFCGzcdPLzBRP32DZWWGE8Ng==", "cpu": [ "arm64" ], @@ -17039,9 +17003,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.68.tgz", - "integrity": "sha512-8K3zjU+tFgn6yGDEeD343gkKaHU9dhz77NiVkI1VzwRaT/Ag5pwl5eMQ1yStm8koNFzn3zq6rGjHfI5g2yI5Wg==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.69.tgz", + "integrity": "sha512-QxeSiZqo5x1X8vq8oUWLibq+IZJcxl9vy0sLUmzdjF2b/Z+qxKP3gutxnb2tzJaHqPVBbEZaILERIGy1qWdumQ==", "cpu": [ "arm64" ], @@ -17055,9 +17019,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.68.tgz", - "integrity": "sha512-4xAnvsBOyeTL0AB8GWlRKDM/hsysJ5jr5qvdKKI3rZfJgnnxl/xSX6TJKPsJ8gygfUJ3BmfCbmUmEyeDZ3YPvA==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.69.tgz", + "integrity": "sha512-b+DUlVxYox3BwD3PyTwhLvqtu6TYZtW+S6O0FnttH11o4skHN0XyJ/cUZSI0X2biSmfDsizRDUt1PWPFM+F7SA==", "cpu": [ "x64" ], @@ -17071,9 +17035,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.68.tgz", - "integrity": "sha512-RCpaBo1fcpy1EFdjF+I7N4lfzOaHXVV0iMw/ABM+0PD6tp3V/9pxsguaZyeAHyEiUlDA6PZ4TfXv5zfnXEgW4Q==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.69.tgz", + "integrity": "sha512-QXjsI+f8n9XPZHUvmGgkABpzN4M9kdSbhqBOZmv3o0AsDGNCA4uVowQqgZoPFAqlJTpwHeDmrv5sQ13HN+LOGw==", "cpu": [ "x64" ], @@ -17087,9 +17051,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.68.tgz", - "integrity": "sha512-v2WZvXrSslYEpY1nqpItyamL4DyaJinmOkXvM8Bc1LLKU5rGuvmBdjUYg/5Y+o0AUynuiWubpgHNOkBWiCvfqw==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.69.tgz", + "integrity": "sha512-wn7A8Ws1fyviuCUB2Vg6IotiZeuqiO1Mz3d+YDae2EYyNpj1kNHvjBip8GHkfGzZG+jVrvG6NHsDo0KO/pGb8A==", "cpu": [ "arm64" ], @@ -17103,9 +17067,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.68.tgz", - "integrity": "sha512-HH5NJrIdzkJs+1xxprie0qSCMBeL9yeEhcC1yZTzYv8bwmabOUSdtKIqS55iYP/2hLWn9CTbvKPmLOIhCopW3Q==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.69.tgz", + "integrity": "sha512-LsFBXtXqxEcVaaOGEZ9X3qdMzobVoJqKv8DnksuDsWcBk+9WCeTz2u/iB+7yZ2HGuPXkCqTRqhFo6FX9aC00kQ==", "cpu": [ "ia32" ], @@ -17119,9 +17083,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.68.tgz", - "integrity": "sha512-9HZVtLQUgK8r/yXQdwe0VBexbIcrY6+fBROhs7AAPWdewpaUeLkwQEJk6TbYr9CQuHw26FFGg6SjwAiqXF+kgQ==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.69.tgz", + "integrity": "sha512-ieBscU0gUgKjaseFI07tAaGqHvKyweNknPeSYEZOasVZUczhD6fK2GRnVREhv2RB2qdKC/VGFBsgRDMgzq1VLw==", "cpu": [ "x64" ], @@ -18583,34 +18547,43 @@ } }, "node_modules/@yarnpkg/fslib": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-3.0.0-rc.46.tgz", - "integrity": "sha512-PWxRqbw271Ye5qbqWrLdYryAVIMayVMNIVhi+SkqnAIk9ZMlmomCMFGUUOPP9XR0H3Yf5iOQW90BTVWDo3GmgA==", + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", + "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", "dev": true, "dependencies": { - "tslib": "^2.4.0" + "@yarnpkg/libzip": "^2.3.0", + "tslib": "^1.13.0" }, "engines": { - "node": ">=14.15.0" + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" } }, + "node_modules/@yarnpkg/fslib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@yarnpkg/libzip": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-3.0.0-rc.46.tgz", - "integrity": "sha512-JBPXKBJszLYNcsrUL7MBj2K9peAvHrMzE39kl6NbKiflidKNbClOSKuM3h5n07U53T/u+PcNFZgxyX+3hYjI0A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", + "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", "dev": true, "dependencies": { "@types/emscripten": "^1.39.6", - "@yarnpkg/fslib": "^3.0.0-rc.46", - "tslib": "^2.4.0" + "tslib": "^1.13.0" }, "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "@yarnpkg/fslib": "^3.0.0-rc.46" + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" } }, + "node_modules/@yarnpkg/libzip/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", "license": "BSD-2-Clause" @@ -39972,9 +39945,9 @@ } }, "@babel/compat-data": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", - "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==" + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==" }, "@babel/core": { "version": "7.21.4", @@ -40071,15 +40044,15 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", - "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", "requires": { - "@babel/compat-data": "^7.22.6", + "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "browserslist": "^4.21.9", - "lru-cache": "^5.1.1" + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "dependencies": { "lru-cache": { @@ -40088,6 +40061,11 @@ "yallist": "^3.0.2" } }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, "yallist": { "version": "3.1.1" } @@ -40263,51 +40241,23 @@ } }, "@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "requires": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" }, "dependencies": { - "@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" - }, - "@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/types": "^7.22.5" } }, "@babel/types": { @@ -40319,19 +40269,6 @@ "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -42295,107 +42232,107 @@ "dev": true }, "@esbuild/android-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz", - "integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.13.tgz", + "integrity": "sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz", - "integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.13.tgz", + "integrity": "sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz", - "integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.13.tgz", + "integrity": "sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz", - "integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.13.tgz", + "integrity": "sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz", - "integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.13.tgz", + "integrity": "sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz", - "integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.13.tgz", + "integrity": "sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz", - "integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.13.tgz", + "integrity": "sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz", - "integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.13.tgz", + "integrity": "sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz", - "integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.13.tgz", + "integrity": "sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz", - "integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.13.tgz", + "integrity": "sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz", - "integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.13.tgz", + "integrity": "sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz", - "integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.13.tgz", + "integrity": "sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz", - "integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.13.tgz", + "integrity": "sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz", - "integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.13.tgz", + "integrity": "sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz", - "integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.13.tgz", + "integrity": "sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==", "dev": true, "optional": true }, @@ -42407,44 +42344,44 @@ "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz", - "integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.13.tgz", + "integrity": "sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz", - "integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.13.tgz", + "integrity": "sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz", - "integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.13.tgz", + "integrity": "sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz", - "integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.13.tgz", + "integrity": "sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz", - "integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.13.tgz", + "integrity": "sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz", - "integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.13.tgz", + "integrity": "sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==", "dev": true, "optional": true }, @@ -43170,11 +43107,6 @@ "tslib": "^2.0.0" } }, - "@nicolo-ribaudo/semver-v6": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", - "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==" - }, "@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -45897,35 +45829,35 @@ } }, "@storybook/addons": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.1.0-beta.1.tgz", - "integrity": "sha512-JUQTb3oB4uiz5MM0HxEj7sFnpjm+NvTEsLt2QFED/OQKpmE4d8qHDmsvuGwVMWKnyXGL4+7CcBEOZFheBlRJIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.1.0-rc.2.tgz", + "integrity": "sha512-+8M32rPNY7mU8Si5D4Ba2qNsbim081CrLJby9o5WFye9BiTTHbtWwZtWYEwtMYbr369YBbDFLcDnZvH74gmWSA==", "dev": true, "requires": { - "@storybook/manager-api": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1" + "@storybook/manager-api": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2" }, "dependencies": { "@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" } }, "@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -45933,34 +45865,34 @@ } }, "@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "requires": { "@storybook/global": "^5.0.0" } }, "@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true }, "@storybook/manager-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-beta.1.tgz", - "integrity": "sha512-y9YnNUN8rw+UyRr67Np8+MkEVmrSI1Ay1DRRigQS4uphZswp+8JW19P7eZxcqBb9zrz9cVntIZSmPTQk6q/qQQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-rc.2.tgz", + "integrity": "sha512-TlzVW+pfKVVc0hXIiDiOGgGK6CwbIQ6rGX2E817wD4rcaoFgvAHeWgEq4GwO6kKaCI1jCcw1wrSS4t5wiLqa4A==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/router": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -45971,18 +45903,18 @@ } }, "@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "requires": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -45994,35 +45926,35 @@ } }, "@storybook/router": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-beta.1.tgz", - "integrity": "sha512-Z+by4iY3d6IZrfglhHDtKFdZNQXSYr1I5CKbxRcIUmYfY8cXGmu9G4WDtysoRze7VmwmnZNOKrwEZvqkpW6RCQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-rc.2.tgz", + "integrity": "sha512-OFyb6VueUhdXJGgCdkBbXTxMpBpX7lRLk1l/rnuHtX44/rbGIRertYApTWsPRzGkD4JDkNr0f5sePO3OKiz1lw==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "memoizerific": "^1.11.3", "qs": "^6.10.0" } }, "@storybook/theming": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-beta.1.tgz", - "integrity": "sha512-WZdaSA0/R+PKc69FGBdyo1XNfe6lZ3pmHuE4kmqYPFWp0wIldmaL9XD84k4jrTxJ9Brj4/y7EZcrgPXCTrWP/A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-rc.2.tgz", + "integrity": "sha512-P+yhzKqZnZVIHobKGowgGr+dOaGt0f0N+I4WE2wJdYjVb6CRyU62/pt9e30+br38xB8bCnefGJOhz37USnOhtQ==", "dev": true, "requires": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" } }, "@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -46040,25 +45972,25 @@ } }, "@storybook/angular": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-7.1.0-beta.1.tgz", - "integrity": "sha512-ghdNGNVSRtxwieDL+SfdCDKJfXxJX+cNlNrnT6X081dOm03eFMO9tczDH5sibhiTZ51Cl6NqmXIdj+U1QJprXg==", - "dev": true, - "requires": { - "@storybook/builder-webpack5": "7.1.0-beta.1", - "@storybook/cli": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", - "@storybook/core-server": "7.1.0-beta.1", - "@storybook/core-webpack": "7.1.0-beta.1", - "@storybook/docs-tools": "7.1.0-beta.1", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/angular/-/angular-7.1.0-rc.2.tgz", + "integrity": "sha512-EIN7U5v07kyI8TVkOOzS0qYvEagCPYf/PKPkdWUvQmBl/uwUIm2Z+Ne5153pP6l5L0eqWtAN4uo2bq9r72KDrg==", + "dev": true, + "requires": { + "@storybook/builder-webpack5": "7.1.0-rc.2", + "@storybook/cli": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", + "@storybook/core-server": "7.1.0-rc.2", + "@storybook/core-webpack": "7.1.0-rc.2", + "@storybook/docs-tools": "7.1.0-rc.2", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/telemetry": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/manager-api": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/telemetry": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/node": "^16.0.0", "@types/react": "^16.14.34", "@types/react-dom": "^16.9.14", @@ -46084,32 +46016,40 @@ } }, "@babel/core": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", - "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-module-transforms": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", "@babel/helpers": "^7.22.6", "@babel/parser": "^7.22.7", "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2" + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, "@babel/generator": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", - "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", "dev": true, "requires": { "@babel/types": "^7.22.5", @@ -46163,22 +46103,22 @@ } }, "@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.13.tgz", + "integrity": "sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==", "dev": true, "optional": true }, "@storybook/builder-manager": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.1.0-beta.1.tgz", - "integrity": "sha512-IN6s94xj6B3B/Ol3nsOu4PiAjs6JL4LHQG4eZnFpNtU3gfTmLdWHZl/9merP7WEEYYaVTEzo3CHrIG1qASpbmg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.1.0-rc.2.tgz", + "integrity": "sha512-m4hOLjDynV/0bFSqmKZF61cO8A6PVviqJGGjbutRXQ24BduDPKDfdrutf1xmCfmKqJgWEbmxUA6zdEnHJk7Ucw==", "dev": true, "requires": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/manager": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/manager": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -46194,24 +46134,24 @@ } }, "@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" } }, "@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -46219,24 +46159,24 @@ } }, "@storybook/cli": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.1.0-beta.1.tgz", - "integrity": "sha512-m+LUsnjoUlYitvOXGraljOJPAedT5ybHEI+BB1T9egZ8eOkpe2x9sEznmlhDKryfPXZ/Y0l0JrM461/eJzM40A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.1.0-rc.2.tgz", + "integrity": "sha512-J5XW/LjUQ29OJAFtkT9gKL/6G3dbvLOxwXM2eOYLkz20HC5I/6BAhjPZUDEknDD514lvFIa4u9N0F6dfkjeyYg==", "dev": true, "requires": { "@babel/core": "^7.22.0", "@babel/preset-env": "^7.22.0", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/core-server": "7.1.0-beta.1", - "@storybook/csf-tools": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/telemetry": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/codemod": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/core-server": "7.1.0-rc.2", + "@storybook/csf-tools": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/telemetry": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/semver": "^7.3.4", - "@yarnpkg/fslib": "3.0.0-rc.46", - "@yarnpkg/libzip": "3.0.0-rc.46", + "@yarnpkg/fslib": "2.10.3", + "@yarnpkg/libzip": "2.3.0", "chalk": "^4.1.0", "commander": "^6.2.1", "cross-spawn": "^7.0.3", @@ -46266,27 +46206,27 @@ } }, "@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "requires": { "@storybook/global": "^5.0.0" } }, "@storybook/codemod": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.1.0-beta.1.tgz", - "integrity": "sha512-tAWymiDeN6OyDT3m1Y7e6giq9cVnrLaeJ34ZeqFXSfFYjdeAe9Msj8EPE/IEghuTkZdxGGbUYdGgjyB3l7H8hQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.1.0-rc.2.tgz", + "integrity": "sha512-1uo0ud1h1St3T0H/otPNMMDvMIfNHKXzKrcyR3se5J1oTfjllRaws/0emY8tfSWMwytawLHVo8xlHA1MX6l/KQ==", "dev": true, "requires": { "@babel/core": "^7.22.0", "@babel/preset-env": "^7.22.0", "@babel/types": "^7.22.0", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/csf-tools": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", @@ -46297,13 +46237,13 @@ } }, "@storybook/core-common": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-beta.1.tgz", - "integrity": "sha512-mZCkziIbBZtLAV3PXAxa5TR7iFkq9pOGfdZvrFYoZ4mKUGfJnpuDEQgql+rMy990luGvyW0qWUrS8D+vIDOOfA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-rc.2.tgz", + "integrity": "sha512-SDJqUt1ovsLEcQDG4FDSeEPLZKsgUW5XvQCJgVLA68QWDMN1qnDrNmU1+mrzwl20cws/Ykrr8tDJRMM0H/82NQ==", "dev": true, "requires": { - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/find-cache-dir": "^3.2.1", "@types/node": "^16.0.0", "@types/node-fetch": "^2.6.4", @@ -46327,32 +46267,32 @@ } }, "@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true }, "@storybook/core-server": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.1.0-beta.1.tgz", - "integrity": "sha512-K0quiAdCFmGP8gSgPrik+oa0vFVnBZoNqiTNA1gHqTWmU0LXfOuA2ZOEBa6qFinbvTJfIqc2i/w3+SGvrRCBKg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.1.0-rc.2.tgz", + "integrity": "sha512-p/YpDmnndcj0ptdHzxMSmBc95r+L9P94oyJK5ArNYLbOb3ixv9E79RqQqkGPivWUirCoDIb5T9MeYnQdYW+Gtg==", "dev": true, "requires": { "@aw-web-design/x-default-browser": "1.4.126", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/builder-manager": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.1.0-beta.1", + "@storybook/csf-tools": "7.1.0-rc.2", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/telemetry": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/manager": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/telemetry": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/detect-port": "^1.3.0", "@types/node": "^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -46383,9 +46323,9 @@ } }, "@storybook/csf-tools": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.1.0-beta.1.tgz", - "integrity": "sha512-nJ+urcwOV2u09wdxi7XBSkq5kkUxvGZk5dGShgHzzuPN85Si9yD/y4wcVPxfg6vyuUjSgNlcozW2ax1LDw5IYg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.1.0-rc.2.tgz", + "integrity": "sha512-YGQASURBY/hOTB+C2s5wo8MjEqDzWv0Vnw+xqFl/rEjquEWbKwFP96YocIQvHYfgBMlg92zetQHieLIOJE1shw==", "dev": true, "requires": { "@babel/generator": "^7.22.0", @@ -46393,46 +46333,46 @@ "@babel/traverse": "^7.22.0", "@babel/types": "^7.22.0", "@storybook/csf": "^0.1.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" } }, "@storybook/docs-tools": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.1.0-beta.1.tgz", - "integrity": "sha512-pwlGnxQ3OHbcG52gfMWqX1LRyxaPCaxjC/2UzRXoqcslSCL72eGgshAotoeygtqzpOq5QjRC1tmbGiZhFzzwyw==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.1.0-rc.2.tgz", + "integrity": "sha512-gvyMAQz9WtbiWvoa7qBxfuHTMIMbfKl6SEmUTsSsbtEkrhswsHDL5cag+hYtP4NbIiGgSOiOvF5i39xAHUMpdA==", "dev": true, "requires": { - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/doctrine": "^0.0.3", "doctrine": "^3.0.0", "lodash": "^4.17.21" } }, "@storybook/manager": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.1.0-beta.1.tgz", - "integrity": "sha512-g4QY0Ap5Ko0hwByyN4jJK4VFLTQav/IYxJxpGM3TxH1TPrjIHYExiRpfk60NCP0S6S5tLqFzVfbcXhUo1L+DHw==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.1.0-rc.2.tgz", + "integrity": "sha512-RwZlu0LMi1yVy8Yz/d6MFqxJkJG3gGfuV3W1fO6cAXpGaCvr8VxfykduFcrQM6F5bloCxFxCaj0rA9pE1pM/sA==", "dev": true }, "@storybook/manager-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-beta.1.tgz", - "integrity": "sha512-y9YnNUN8rw+UyRr67Np8+MkEVmrSI1Ay1DRRigQS4uphZswp+8JW19P7eZxcqBb9zrz9cVntIZSmPTQk6q/qQQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-rc.2.tgz", + "integrity": "sha512-TlzVW+pfKVVc0hXIiDiOGgGK6CwbIQ6rGX2E817wD4rcaoFgvAHeWgEq4GwO6kKaCI1jCcw1wrSS4t5wiLqa4A==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/router": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -46443,24 +46383,24 @@ } }, "@storybook/node-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-3dGmxXskTl00MB+e44xtU60qY7AAtSehbdSI/M4+LPVPm2hwJok1qMSH1ZVbTFI3Gw+5/SYnDgsmiwAXz+EVJg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-2CePjO6LwxqtdK9+C4L9akERZCwpGZ6/VDesY+q8lGORpQ77h6xS+JQYUdRyuDwgi9MwMSuuVIrKIZFDm52uDg==", "dev": true }, "@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "requires": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -46472,24 +46412,25 @@ } }, "@storybook/router": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-beta.1.tgz", - "integrity": "sha512-Z+by4iY3d6IZrfglhHDtKFdZNQXSYr1I5CKbxRcIUmYfY8cXGmu9G4WDtysoRze7VmwmnZNOKrwEZvqkpW6RCQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-rc.2.tgz", + "integrity": "sha512-OFyb6VueUhdXJGgCdkBbXTxMpBpX7lRLk1l/rnuHtX44/rbGIRertYApTWsPRzGkD4JDkNr0f5sePO3OKiz1lw==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "memoizerific": "^1.11.3", "qs": "^6.10.0" } }, "@storybook/telemetry": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.1.0-beta.1.tgz", - "integrity": "sha512-zrG/ilvICj2OEvYw1O/MY10uosa1QzZ3u8aEpac8Nf7lbLA21KW10g3oExfaXaYQL4WkpxJyFAwwAcJ6LIjwCg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.1.0-rc.2.tgz", + "integrity": "sha512-RgnzKhTdIMmMr9mr4txlXlO7WVeAvgBXeI3zv1GhKZsX6FHwOfGNSjiygKrSM+X0CbipmfajcsSAsk1c3gqDmg==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/csf-tools": "7.1.0-rc.2", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -46498,24 +46439,24 @@ } }, "@storybook/theming": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-beta.1.tgz", - "integrity": "sha512-WZdaSA0/R+PKc69FGBdyo1XNfe6lZ3pmHuE4kmqYPFWp0wIldmaL9XD84k4jrTxJ9Brj4/y7EZcrgPXCTrWP/A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-rc.2.tgz", + "integrity": "sha512-P+yhzKqZnZVIHobKGowgGr+dOaGt0f0N+I4WE2wJdYjVb6CRyU62/pt9e30+br38xB8bCnefGJOhz37USnOhtQ==", "dev": true, "requires": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" } }, "@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -46604,33 +46545,33 @@ } }, "esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.13.tgz", + "integrity": "sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.13", + "@esbuild/android-arm64": "0.18.13", + "@esbuild/android-x64": "0.18.13", + "@esbuild/darwin-arm64": "0.18.13", + "@esbuild/darwin-x64": "0.18.13", + "@esbuild/freebsd-arm64": "0.18.13", + "@esbuild/freebsd-x64": "0.18.13", + "@esbuild/linux-arm": "0.18.13", + "@esbuild/linux-arm64": "0.18.13", + "@esbuild/linux-ia32": "0.18.13", + "@esbuild/linux-loong64": "0.18.13", + "@esbuild/linux-mips64el": "0.18.13", + "@esbuild/linux-ppc64": "0.18.13", + "@esbuild/linux-riscv64": "0.18.13", + "@esbuild/linux-s390x": "0.18.13", + "@esbuild/linux-x64": "0.18.13", + "@esbuild/netbsd-x64": "0.18.13", + "@esbuild/openbsd-x64": "0.18.13", + "@esbuild/sunos-x64": "0.18.13", + "@esbuild/win32-arm64": "0.18.13", + "@esbuild/win32-ia32": "0.18.13", + "@esbuild/win32-x64": "0.18.13" } }, "find-up": { @@ -46681,9 +46622,9 @@ } }, "minipass": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.1.tgz", - "integrity": "sha512-NQ8MCKimInjVlaIqx51RKJJB7mINVkLTJbsZKmto4UAAOC/CWXES8PGaOgoBZyqoUsUA/U3DToGK7GJkkHbjJw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", "dev": true }, "ms": { @@ -46752,24 +46693,24 @@ } }, "@storybook/api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.1.0-beta.1.tgz", - "integrity": "sha512-60qrnCpgVG0Oere/ZO5O0BndBCkXqqZ/r22NWIf9kn8cH29OJej/qhwfdKkTbuOtuwi/DJLtdh3RGk1mXh+tyw==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.1.0-rc.2.tgz", + "integrity": "sha512-OyHT2jeJHCXQgEFWf3h2uEYYj/RKBz4IQGR2UjAragkviV1xXxsP3Cnpw/+Sk7bPch0fcbq4WbNRvydTRZrlOQ==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/manager-api": "7.1.0-beta.1" + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/manager-api": "7.1.0-rc.2" }, "dependencies": { "@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -46777,34 +46718,34 @@ } }, "@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "requires": { "@storybook/global": "^5.0.0" } }, "@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true }, "@storybook/manager-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-beta.1.tgz", - "integrity": "sha512-y9YnNUN8rw+UyRr67Np8+MkEVmrSI1Ay1DRRigQS4uphZswp+8JW19P7eZxcqBb9zrz9cVntIZSmPTQk6q/qQQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-rc.2.tgz", + "integrity": "sha512-TlzVW+pfKVVc0hXIiDiOGgGK6CwbIQ6rGX2E817wD4rcaoFgvAHeWgEq4GwO6kKaCI1jCcw1wrSS4t5wiLqa4A==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/router": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -46815,35 +46756,35 @@ } }, "@storybook/router": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-beta.1.tgz", - "integrity": "sha512-Z+by4iY3d6IZrfglhHDtKFdZNQXSYr1I5CKbxRcIUmYfY8cXGmu9G4WDtysoRze7VmwmnZNOKrwEZvqkpW6RCQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-rc.2.tgz", + "integrity": "sha512-OFyb6VueUhdXJGgCdkBbXTxMpBpX7lRLk1l/rnuHtX44/rbGIRertYApTWsPRzGkD4JDkNr0f5sePO3OKiz1lw==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "memoizerific": "^1.11.3", "qs": "^6.10.0" } }, "@storybook/theming": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-beta.1.tgz", - "integrity": "sha512-WZdaSA0/R+PKc69FGBdyo1XNfe6lZ3pmHuE4kmqYPFWp0wIldmaL9XD84k4jrTxJ9Brj4/y7EZcrgPXCTrWP/A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-rc.2.tgz", + "integrity": "sha512-P+yhzKqZnZVIHobKGowgGr+dOaGt0f0N+I4WE2wJdYjVb6CRyU62/pt9e30+br38xB8bCnefGJOhz37USnOhtQ==", "dev": true, "requires": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" } }, "@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -47322,30 +47263,30 @@ } }, "@storybook/builder-webpack5": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.1.0-beta.1.tgz", - "integrity": "sha512-yr1ZTxYk3LaZHAnbOktiLDXQMn/er9c2gWkJTtbt9m5s5W5fyAUR9bR+17nWjBDPqW9fxDaOHvbbS2JLSQIcLw==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.1.0-rc.2.tgz", + "integrity": "sha512-2FyVhK/mYsvOQY5VComyClxcM5yJeynlnKeh0WRFIDGdXhrFexte/k+kspWXuipuCWQ8EsOhH9VmhXPsJFj6Ng==", "dev": true, "requires": { "@babel/core": "^7.22.0", - "@storybook/addons": "7.1.0-beta.1", - "@storybook/api": "7.1.0-beta.1", - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-api": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/components": "7.1.0-beta.1", - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", - "@storybook/core-webpack": "7.1.0-beta.1", + "@storybook/addons": "7.1.0-rc.2", + "@storybook/api": "7.1.0-rc.2", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-api": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/components": "7.1.0-rc.2", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", + "@storybook/core-webpack": "7.1.0-rc.2", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/preview": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1", - "@storybook/router": "7.1.0-beta.1", - "@storybook/store": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", + "@storybook/manager-api": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/preview": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2", + "@storybook/router": "7.1.0-rc.2", + "@storybook/store": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", "@swc/core": "^1.3.49", "@types/node": "^16.0.0", "@types/semver": "^7.3.4", @@ -47376,32 +47317,40 @@ }, "dependencies": { "@babel/core": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", - "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-module-transforms": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", "@babel/helpers": "^7.22.6", "@babel/parser": "^7.22.7", "@babel/template": "^7.22.5", "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2" + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, "@babel/generator": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", - "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", "dev": true, "requires": { "@babel/types": "^7.22.5", @@ -47455,31 +47404,31 @@ } }, "@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.13.tgz", + "integrity": "sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==", "dev": true, "optional": true }, "@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" } }, "@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -47487,38 +47436,38 @@ } }, "@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "requires": { "@storybook/global": "^5.0.0" } }, "@storybook/components": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.1.0-beta.1.tgz", - "integrity": "sha512-H5Ls/pnsV+EMvur9iVngFG2GS0oTbRRsL/wbc3H+ECZ0r9gDUzUDGtSkrU+DG8Oj60KadaV7uIGuQkZWJ41h7g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.1.0-rc.2.tgz", + "integrity": "sha512-hRGyEIOMeFVRUvx9xcPNEEJdbcNV79RP6O/F+Y/ycVowwrj+dlIUxERBEQcyQE29+tewzUOgTyrIAG+3jRowmQ==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" } }, "@storybook/core-common": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-beta.1.tgz", - "integrity": "sha512-mZCkziIbBZtLAV3PXAxa5TR7iFkq9pOGfdZvrFYoZ4mKUGfJnpuDEQgql+rMy990luGvyW0qWUrS8D+vIDOOfA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-rc.2.tgz", + "integrity": "sha512-SDJqUt1ovsLEcQDG4FDSeEPLZKsgUW5XvQCJgVLA68QWDMN1qnDrNmU1+mrzwl20cws/Ykrr8tDJRMM0H/82NQ==", "dev": true, "requires": { - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/find-cache-dir": "^3.2.1", "@types/node": "^16.0.0", "@types/node-fetch": "^2.6.4", @@ -47542,25 +47491,25 @@ } }, "@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true }, "@storybook/manager-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-beta.1.tgz", - "integrity": "sha512-y9YnNUN8rw+UyRr67Np8+MkEVmrSI1Ay1DRRigQS4uphZswp+8JW19P7eZxcqBb9zrz9cVntIZSmPTQk6q/qQQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.1.0-rc.2.tgz", + "integrity": "sha512-TlzVW+pfKVVc0hXIiDiOGgGK6CwbIQ6rGX2E817wD4rcaoFgvAHeWgEq4GwO6kKaCI1jCcw1wrSS4t5wiLqa4A==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.1.0-beta.1", - "@storybook/theming": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/router": "7.1.0-rc.2", + "@storybook/theming": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -47571,24 +47520,24 @@ } }, "@storybook/node-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-3dGmxXskTl00MB+e44xtU60qY7AAtSehbdSI/M4+LPVPm2hwJok1qMSH1ZVbTFI3Gw+5/SYnDgsmiwAXz+EVJg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-2CePjO6LwxqtdK9+C4L9akERZCwpGZ6/VDesY+q8lGORpQ77h6xS+JQYUdRyuDwgi9MwMSuuVIrKIZFDm52uDg==", "dev": true }, "@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "requires": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -47600,35 +47549,35 @@ } }, "@storybook/router": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-beta.1.tgz", - "integrity": "sha512-Z+by4iY3d6IZrfglhHDtKFdZNQXSYr1I5CKbxRcIUmYfY8cXGmu9G4WDtysoRze7VmwmnZNOKrwEZvqkpW6RCQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.1.0-rc.2.tgz", + "integrity": "sha512-OFyb6VueUhdXJGgCdkBbXTxMpBpX7lRLk1l/rnuHtX44/rbGIRertYApTWsPRzGkD4JDkNr0f5sePO3OKiz1lw==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "memoizerific": "^1.11.3", "qs": "^6.10.0" } }, "@storybook/theming": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-beta.1.tgz", - "integrity": "sha512-WZdaSA0/R+PKc69FGBdyo1XNfe6lZ3pmHuE4kmqYPFWp0wIldmaL9XD84k4jrTxJ9Brj4/y7EZcrgPXCTrWP/A==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.1.0-rc.2.tgz", + "integrity": "sha512-P+yhzKqZnZVIHobKGowgGr+dOaGt0f0N+I4WE2wJdYjVb6CRyU62/pt9e30+br38xB8bCnefGJOhz37USnOhtQ==", "dev": true, "requires": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.1.0-beta.1", + "@storybook/client-logger": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" } }, "@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -47794,33 +47743,33 @@ } }, "esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.13.tgz", + "integrity": "sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.13", + "@esbuild/android-arm64": "0.18.13", + "@esbuild/android-x64": "0.18.13", + "@esbuild/darwin-arm64": "0.18.13", + "@esbuild/darwin-x64": "0.18.13", + "@esbuild/freebsd-arm64": "0.18.13", + "@esbuild/freebsd-x64": "0.18.13", + "@esbuild/linux-arm": "0.18.13", + "@esbuild/linux-arm64": "0.18.13", + "@esbuild/linux-ia32": "0.18.13", + "@esbuild/linux-loong64": "0.18.13", + "@esbuild/linux-mips64el": "0.18.13", + "@esbuild/linux-ppc64": "0.18.13", + "@esbuild/linux-riscv64": "0.18.13", + "@esbuild/linux-s390x": "0.18.13", + "@esbuild/linux-x64": "0.18.13", + "@esbuild/netbsd-x64": "0.18.13", + "@esbuild/openbsd-x64": "0.18.13", + "@esbuild/sunos-x64": "0.18.13", + "@esbuild/win32-arm64": "0.18.13", + "@esbuild/win32-ia32": "0.18.13", + "@esbuild/win32-x64": "0.18.13" } }, "find-up": { @@ -47877,9 +47826,9 @@ } }, "minipass": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.1.tgz", - "integrity": "sha512-NQ8MCKimInjVlaIqx51RKJJB7mINVkLTJbsZKmto4UAAOC/CWXES8PGaOgoBZyqoUsUA/U3DToGK7GJkkHbjJw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", "dev": true }, "ms": { @@ -48320,34 +48269,34 @@ } }, "@storybook/client-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-7.1.0-beta.1.tgz", - "integrity": "sha512-W3mWEpulnPiub/bUYlcueXxNaPY4TA6ABhWvPyU78uFFeJV6nzYh0tk1vtCNh28kVJZFVz+TFU+zlCsvVN5n4Q==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-7.1.0-rc.2.tgz", + "integrity": "sha512-rL0Avt902hHdLKLxzqbEXGPorUJ7WlSlXdhrqvXuTm9BC9xZYSGxgP8AR52txdBnYKj4stxF28klT5Jyy1KeKw==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1" + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2" }, "dependencies": { "@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" } }, "@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -48355,33 +48304,33 @@ } }, "@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "requires": { "@storybook/global": "^5.0.0" } }, "@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true }, "@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "requires": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -48393,12 +48342,12 @@ } }, "@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -49332,34 +49281,34 @@ } }, "@storybook/core-webpack": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.1.0-beta.1.tgz", - "integrity": "sha512-NBwVEpVgATC9N0ym0xQ0EWe4W2QwRMPe3akw03hpEFT+9quOnG+5I2ekA0VSDsOMY6q++F3joctNzLAVpm3f1g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.1.0-rc.2.tgz", + "integrity": "sha512-uYlkziN059BVKHJwnlj+0zt6rM4Ih01L4g7gVnvjOn/pwdH6+jjeryFSB+cal3+52OzPDa/zDMvoNk/57CjbeQ==", "dev": true, "requires": { - "@storybook/core-common": "7.1.0-beta.1", - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/core-common": "7.1.0-rc.2", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/node": "^16.0.0", "ts-dedent": "^2.0.0" }, "dependencies": { "@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.13.tgz", + "integrity": "sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==", "dev": true, "optional": true }, "@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -49367,22 +49316,22 @@ } }, "@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "requires": { "@storybook/global": "^5.0.0" } }, "@storybook/core-common": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-beta.1.tgz", - "integrity": "sha512-mZCkziIbBZtLAV3PXAxa5TR7iFkq9pOGfdZvrFYoZ4mKUGfJnpuDEQgql+rMy990luGvyW0qWUrS8D+vIDOOfA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.1.0-rc.2.tgz", + "integrity": "sha512-SDJqUt1ovsLEcQDG4FDSeEPLZKsgUW5XvQCJgVLA68QWDMN1qnDrNmU1+mrzwl20cws/Ykrr8tDJRMM0H/82NQ==", "dev": true, "requires": { - "@storybook/node-logger": "7.1.0-beta.1", - "@storybook/types": "7.1.0-beta.1", + "@storybook/node-logger": "7.1.0-rc.2", + "@storybook/types": "7.1.0-rc.2", "@types/find-cache-dir": "^3.2.1", "@types/node": "^16.0.0", "@types/node-fetch": "^2.6.4", @@ -49406,24 +49355,24 @@ } }, "@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true }, "@storybook/node-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-3dGmxXskTl00MB+e44xtU60qY7AAtSehbdSI/M4+LPVPm2hwJok1qMSH1ZVbTFI3Gw+5/SYnDgsmiwAXz+EVJg==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-2CePjO6LwxqtdK9+C4L9akERZCwpGZ6/VDesY+q8lGORpQ77h6xS+JQYUdRyuDwgi9MwMSuuVIrKIZFDm52uDg==", "dev": true }, "@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -49479,33 +49428,33 @@ "dev": true }, "esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" + "version": "0.18.13", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.13.tgz", + "integrity": "sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.13", + "@esbuild/android-arm64": "0.18.13", + "@esbuild/android-x64": "0.18.13", + "@esbuild/darwin-arm64": "0.18.13", + "@esbuild/darwin-x64": "0.18.13", + "@esbuild/freebsd-arm64": "0.18.13", + "@esbuild/freebsd-x64": "0.18.13", + "@esbuild/linux-arm": "0.18.13", + "@esbuild/linux-arm64": "0.18.13", + "@esbuild/linux-ia32": "0.18.13", + "@esbuild/linux-loong64": "0.18.13", + "@esbuild/linux-mips64el": "0.18.13", + "@esbuild/linux-ppc64": "0.18.13", + "@esbuild/linux-riscv64": "0.18.13", + "@esbuild/linux-s390x": "0.18.13", + "@esbuild/linux-x64": "0.18.13", + "@esbuild/netbsd-x64": "0.18.13", + "@esbuild/openbsd-x64": "0.18.13", + "@esbuild/sunos-x64": "0.18.13", + "@esbuild/win32-arm64": "0.18.13", + "@esbuild/win32-ia32": "0.18.13", + "@esbuild/win32-x64": "0.18.13" } }, "find-up": { @@ -49556,9 +49505,9 @@ } }, "minipass": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.1.tgz", - "integrity": "sha512-NQ8MCKimInjVlaIqx51RKJJB7mINVkLTJbsZKmto4UAAOC/CWXES8PGaOgoBZyqoUsUA/U3DToGK7GJkkHbjJw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.2.tgz", + "integrity": "sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA==", "dev": true }, "p-limit": { @@ -50178,9 +50127,9 @@ "dev": true }, "@storybook/preview": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.1.0-beta.1.tgz", - "integrity": "sha512-/Khu9T9UyIy97hcRPP5NQg2LiHkPL91DBL1kgdys9M8i59pK+49RnCt7ARhiOF/KLSDR7mhZDvKNpm6X1hos3g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.1.0-rc.2.tgz", + "integrity": "sha512-VDc3IRY7FbAOoRi/KZf9c/RglCGuBIkXNnKb2xa2jv9yM8wB79L7bwCGOoXFX4tngaF2KujKlH8b0JUh77FGJQ==", "dev": true }, "@storybook/preview-api": { @@ -50224,34 +50173,34 @@ } }, "@storybook/store": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/store/-/store-7.1.0-beta.1.tgz", - "integrity": "sha512-rlv8QiEERKQjcZLG8f4mRBjcHkWeXXk911Q5WGSqdYaK85oOaQjIcshma7JPaRyLIgTzX48DBR2q4OSazs6Pew==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/store/-/store-7.1.0-rc.2.tgz", + "integrity": "sha512-BC5h5tvEpP80bl55mFf3mkKBNw2/RYi2N4/jq/IYyxk70NjxZoL7wiM0OJL4QhG9PVqyJDEy7NdJ4odbFOvR/w==", "dev": true, "requires": { - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/preview-api": "7.1.0-beta.1" + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/preview-api": "7.1.0-rc.2" }, "dependencies": { "@storybook/channel-postmessage": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-beta.1.tgz", - "integrity": "sha512-0tz/kRI1uCtrVt9eeo/UI82yFIt8JTfcSv68DzErQO11k2HDAy7UrYZASghRfeAj5gH/p/pZ5txEBrPr7WfN8g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.1.0-rc.2.tgz", + "integrity": "sha512-XQQFN9xYdUwAdWcQopBaNPkj65bSwyBsGEDKFQd1zvwvEv4QKiMWqQVnx84yXfEUu9b4jVolyyB5tQGLS4/6Fw==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1" + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2" } }, "@storybook/channels": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-beta.1.tgz", - "integrity": "sha512-QhmhEOjpeuhJ6vcwZhQmzjVu9Djcmhdh0t4UnHSb6DFfEnb/UtuUAyuk5pewjCIZxBtCDbg0V4AQa9dJkac93w==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.1.0-rc.2.tgz", + "integrity": "sha512-P9u0l5T0N2zMo387f0+eRBZ29Jg2+mfalBcsvTs2TYR9Kb/plQlEXhvIRxJm3W/OeEvS2vxixN2YOFeZGWlUYg==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3", @@ -50259,33 +50208,33 @@ } }, "@storybook/client-logger": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-beta.1.tgz", - "integrity": "sha512-ddIY35dCRf9YaLztOCJibtI3fmPimjdhJfvYl/z5KPgDsl0x7pqE9Wu22EWkk41R06hQxsZdmjKDaKp+m3hAig==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.1.0-rc.2.tgz", + "integrity": "sha512-O0JLRCFrL7YLMd8sBHdLCqbJBLxW8nCrj7cOwkxt1HY73vy4u/VRujmVZbElaG5QJIoZNUZERyL+oSChthKWlg==", "dev": true, "requires": { "@storybook/global": "^5.0.0" } }, "@storybook/core-events": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-beta.1.tgz", - "integrity": "sha512-5Wjf9nOEv0EfVTS2LIO2xIBfXeddv5aB/VVrnjH9752NBOv0OqicN2mYoh4f+JTtYkhfT7CMbHZBDK2iM06EIA==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.1.0-rc.2.tgz", + "integrity": "sha512-qoYLet2G2vNxpVKPTqLovGNoNSNjID7V2vk9hdUis51osOiVHlgJwXxkz33fUOI18y1JbYoVRM8LZaFaMHGF2g==", "dev": true }, "@storybook/preview-api": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-beta.1.tgz", - "integrity": "sha512-dxr7BMAfNk/z7t9XTMccXOCAPOp3bHsZ2PQSetbFMxShpB0JoEKon0qKhguAHPau06td4748241xUaJup12M0g==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.1.0-rc.2.tgz", + "integrity": "sha512-E+X5I1BzFF5aTmclkmoVBYQB+JMx1SUCdkzl+GGX9Wxh5JmyTQDI90ynv0k1aJNvPmC5mS2EMmeqcYoz+AuYZA==", "dev": true, "requires": { - "@storybook/channel-postmessage": "7.1.0-beta.1", - "@storybook/channels": "7.1.0-beta.1", - "@storybook/client-logger": "7.1.0-beta.1", - "@storybook/core-events": "7.1.0-beta.1", + "@storybook/channel-postmessage": "7.1.0-rc.2", + "@storybook/channels": "7.1.0-rc.2", + "@storybook/client-logger": "7.1.0-rc.2", + "@storybook/core-events": "7.1.0-rc.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.1.0-beta.1", + "@storybook/types": "7.1.0-rc.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -50297,12 +50246,12 @@ } }, "@storybook/types": { - "version": "7.1.0-beta.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-beta.1.tgz", - "integrity": "sha512-TyhnLEdFrwuNJS/MBpjKhrY9eoHwKgGWSpHrpv/YK6f7SXSCjropnHvulVoaevSYh0r/WIHlVVYFh6n0gLGUHQ==", + "version": "7.1.0-rc.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.1.0-rc.2.tgz", + "integrity": "sha512-pd19JdNEE+yuqBNlvk61423ZWQHrbsVafEmiJLD0wL4oWBZts7dijZPYiyrw+Fhw/EuXWsLg0edizBk2Id+JmA==", "dev": true, "requires": { - "@storybook/channels": "7.1.0-beta.1", + "@storybook/channels": "7.1.0-rc.2", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -50621,90 +50570,90 @@ } }, "@swc/core": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.68.tgz", - "integrity": "sha512-njGQuJO+Wy06dEayt70cf0c/KI3HGjm4iW9LLViVLBuYNzJ4SSdNfzejludzufu6im+dsDJ0i3QjgWhAIcVHMQ==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.69.tgz", + "integrity": "sha512-Khc/DE9D5+2tYTHgAIp5DZARbs8kldWg3b0Jp6l8FQLjelcLFmlQWSwKhVZrgv4oIbgZydIp8jInsvTalMHqnQ==", "dev": true, "requires": { - "@swc/core-darwin-arm64": "1.3.68", - "@swc/core-darwin-x64": "1.3.68", - "@swc/core-linux-arm-gnueabihf": "1.3.68", - "@swc/core-linux-arm64-gnu": "1.3.68", - "@swc/core-linux-arm64-musl": "1.3.68", - "@swc/core-linux-x64-gnu": "1.3.68", - "@swc/core-linux-x64-musl": "1.3.68", - "@swc/core-win32-arm64-msvc": "1.3.68", - "@swc/core-win32-ia32-msvc": "1.3.68", - "@swc/core-win32-x64-msvc": "1.3.68" + "@swc/core-darwin-arm64": "1.3.69", + "@swc/core-darwin-x64": "1.3.69", + "@swc/core-linux-arm-gnueabihf": "1.3.69", + "@swc/core-linux-arm64-gnu": "1.3.69", + "@swc/core-linux-arm64-musl": "1.3.69", + "@swc/core-linux-x64-gnu": "1.3.69", + "@swc/core-linux-x64-musl": "1.3.69", + "@swc/core-win32-arm64-msvc": "1.3.69", + "@swc/core-win32-ia32-msvc": "1.3.69", + "@swc/core-win32-x64-msvc": "1.3.69" } }, "@swc/core-darwin-arm64": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.68.tgz", - "integrity": "sha512-Z5pNxeuP2NxpOHTzDQkJs0wAPLnTlglZnR3WjObijwvdwT/kw1Y5EPDKM/BVSIeG40SPMkDLBbI0aj0qyXzrBA==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.69.tgz", + "integrity": "sha512-IjZTf12zIPWkV3D7toaLDoJPSkLhQ4fDH8G6/yCJUI27cBFOI3L8LXqptYmISoN5yYdrcnNpdqdapD09JPuNJg==", "dev": true, "optional": true }, "@swc/core-darwin-x64": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.68.tgz", - "integrity": "sha512-ZHl42g6yXhfX4PzAQ0BNvBXpt/OcbAHfubWRN6eXELK3fiNnxL7QBW1if7iizlq6iA+Mj1pwHyyUit1pz0+fgA==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.69.tgz", + "integrity": "sha512-/wBO0Rn5oS5dJI/L9kJRkPAdksVwl5H9nleW/NM3A40N98VV8T7h/i1nO051mxIjq0R6qXVGOWFbBoLrPYucJg==", "dev": true, "optional": true }, "@swc/core-linux-arm-gnueabihf": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.68.tgz", - "integrity": "sha512-Mk8f6KCOQ2CNAR4PtWajIjS6XKSSR7ZYDOCf1GXRxhS3qEyQH7V8elWvqWYqHcT4foO60NUmxA/NOM/dQrdO1A==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.69.tgz", + "integrity": "sha512-NShCjMv6Xn8ckMKBRqmprXvUF14+jXY0TcNKXwjYErzoIUFOnG72M36HxT4QEeAtKZ4Eg4CZFE4zlJ27fDp1gg==", "dev": true, "optional": true }, "@swc/core-linux-arm64-gnu": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.68.tgz", - "integrity": "sha512-RhBllggh9t9sIxaRgRcGrVaS7fDk6KsIqR6b9+dwU5OyDr4ZyHWw1ZaH/1/HAebuXYhNBjoNUiRtca6lKRIPgQ==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.69.tgz", + "integrity": "sha512-VRPOJj4idopSHIj1bOVXX0SgaB18R8yZNunb7eXS5ZcjVxAcdvqyIz3RdQX1zaJFCGzcdPLzBRP32DZWWGE8Ng==", "dev": true, "optional": true }, "@swc/core-linux-arm64-musl": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.68.tgz", - "integrity": "sha512-8K3zjU+tFgn6yGDEeD343gkKaHU9dhz77NiVkI1VzwRaT/Ag5pwl5eMQ1yStm8koNFzn3zq6rGjHfI5g2yI5Wg==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.69.tgz", + "integrity": "sha512-QxeSiZqo5x1X8vq8oUWLibq+IZJcxl9vy0sLUmzdjF2b/Z+qxKP3gutxnb2tzJaHqPVBbEZaILERIGy1qWdumQ==", "dev": true, "optional": true }, "@swc/core-linux-x64-gnu": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.68.tgz", - "integrity": "sha512-4xAnvsBOyeTL0AB8GWlRKDM/hsysJ5jr5qvdKKI3rZfJgnnxl/xSX6TJKPsJ8gygfUJ3BmfCbmUmEyeDZ3YPvA==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.69.tgz", + "integrity": "sha512-b+DUlVxYox3BwD3PyTwhLvqtu6TYZtW+S6O0FnttH11o4skHN0XyJ/cUZSI0X2biSmfDsizRDUt1PWPFM+F7SA==", "dev": true, "optional": true }, "@swc/core-linux-x64-musl": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.68.tgz", - "integrity": "sha512-RCpaBo1fcpy1EFdjF+I7N4lfzOaHXVV0iMw/ABM+0PD6tp3V/9pxsguaZyeAHyEiUlDA6PZ4TfXv5zfnXEgW4Q==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.69.tgz", + "integrity": "sha512-QXjsI+f8n9XPZHUvmGgkABpzN4M9kdSbhqBOZmv3o0AsDGNCA4uVowQqgZoPFAqlJTpwHeDmrv5sQ13HN+LOGw==", "dev": true, "optional": true }, "@swc/core-win32-arm64-msvc": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.68.tgz", - "integrity": "sha512-v2WZvXrSslYEpY1nqpItyamL4DyaJinmOkXvM8Bc1LLKU5rGuvmBdjUYg/5Y+o0AUynuiWubpgHNOkBWiCvfqw==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.69.tgz", + "integrity": "sha512-wn7A8Ws1fyviuCUB2Vg6IotiZeuqiO1Mz3d+YDae2EYyNpj1kNHvjBip8GHkfGzZG+jVrvG6NHsDo0KO/pGb8A==", "dev": true, "optional": true }, "@swc/core-win32-ia32-msvc": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.68.tgz", - "integrity": "sha512-HH5NJrIdzkJs+1xxprie0qSCMBeL9yeEhcC1yZTzYv8bwmabOUSdtKIqS55iYP/2hLWn9CTbvKPmLOIhCopW3Q==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.69.tgz", + "integrity": "sha512-LsFBXtXqxEcVaaOGEZ9X3qdMzobVoJqKv8DnksuDsWcBk+9WCeTz2u/iB+7yZ2HGuPXkCqTRqhFo6FX9aC00kQ==", "dev": true, "optional": true }, "@swc/core-win32-x64-msvc": { - "version": "1.3.68", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.68.tgz", - "integrity": "sha512-9HZVtLQUgK8r/yXQdwe0VBexbIcrY6+fBROhs7AAPWdewpaUeLkwQEJk6TbYr9CQuHw26FFGg6SjwAiqXF+kgQ==", + "version": "1.3.69", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.69.tgz", + "integrity": "sha512-ieBscU0gUgKjaseFI07tAaGqHvKyweNknPeSYEZOasVZUczhD6fK2GRnVREhv2RB2qdKC/VGFBsgRDMgzq1VLw==", "dev": true, "optional": true }, @@ -51785,23 +51734,39 @@ } }, "@yarnpkg/fslib": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-3.0.0-rc.46.tgz", - "integrity": "sha512-PWxRqbw271Ye5qbqWrLdYryAVIMayVMNIVhi+SkqnAIk9ZMlmomCMFGUUOPP9XR0H3Yf5iOQW90BTVWDo3GmgA==", + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", + "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", "dev": true, "requires": { - "tslib": "^2.4.0" + "@yarnpkg/libzip": "^2.3.0", + "tslib": "^1.13.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@yarnpkg/libzip": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-3.0.0-rc.46.tgz", - "integrity": "sha512-JBPXKBJszLYNcsrUL7MBj2K9peAvHrMzE39kl6NbKiflidKNbClOSKuM3h5n07U53T/u+PcNFZgxyX+3hYjI0A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", + "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", "dev": true, "requires": { "@types/emscripten": "^1.39.6", - "@yarnpkg/fslib": "^3.0.0-rc.46", - "tslib": "^2.4.0" + "tslib": "^1.13.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@yarnpkg/lockfile": { From ae3da7e74211be095691ae858680e6fb84722a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 17 Jul 2023 08:32:12 +0200 Subject: [PATCH 157/180] Allow saving CKEditor with ctrl+enter or cmd+enter (#13127) * Add listener and output for ckeditor component to save with keyboard * Clean up eslint for outputs * Extend spec to save with keyboard --- .../formattable-control.component.html | 8 +-- .../ckeditor-augmented-textarea.html | 4 +- .../components/ckeditor/ckeditor.types.ts | 34 +++++++++- .../ckeditor/op-ckeditor.component.ts | 64 +++++++++++++------ .../formattable-edit-field.component.html | 7 +- .../markdown/description_editor_spec.rb | 8 +++ spec/support/edit_fields/text_editor_field.rb | 4 ++ 7 files changed, 98 insertions(+), 31 deletions(-) diff --git a/frontend/src/app/shared/components/dynamic-forms/components/dynamic-inputs/formattable-textarea-input/components/formattable-control/formattable-control.component.html b/frontend/src/app/shared/components/dynamic-forms/components/dynamic-inputs/formattable-textarea-input/components/formattable-control/formattable-control.component.html index b8b27311404f..25bde37b1629 100644 --- a/frontend/src/app/shared/components/dynamic-forms/components/dynamic-inputs/formattable-textarea-input/components/formattable-control/formattable-control.component.html +++ b/frontend/src/app/shared/components/dynamic-forms/components/dynamic-inputs/formattable-textarea-input/components/formattable-control/formattable-control.component.html @@ -2,9 +2,9 @@ - \ No newline at end of file + diff --git a/frontend/src/app/shared/components/editor/components/ckeditor-augmented-textarea/ckeditor-augmented-textarea.html b/frontend/src/app/shared/components/editor/components/ckeditor-augmented-textarea/ckeditor-augmented-textarea.html index 2c7273d92b84..91ecc9b8e644 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor-augmented-textarea/ckeditor-augmented-textarea.html +++ b/frontend/src/app/shared/components/editor/components/ckeditor-augmented-textarea/ckeditor-augmented-textarea.html @@ -2,8 +2,8 @@ diff --git a/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor.types.ts b/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor.types.ts index 9859a7f2b118..f60aa15bae9f 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor.types.ts +++ b/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor.types.ts @@ -4,6 +4,22 @@ import { ICKEditorType, } from 'core-app/shared/components/editor/components/ckeditor/ckeditor-setup.service'; +export interface CKEditorEvent { + stop:() => void; +} + +export interface CKEditorListenOptions { + priority:string; +} + +export interface CKEditorDomEventData { + altKey:boolean; + shiftKey:boolean; + ctrlKey:boolean; + metaKey:boolean; + keyCode:number; +} + export interface ICKEditorInstance { getData(options:{ trim:boolean }):string; @@ -12,12 +28,26 @@ export interface ICKEditorInstance { destroy():void; enableReadOnlyMode(lockId:string):void; + disableReadOnlyMode(lockId:string):void; on(event:string, callback:() => unknown):void; - model:any; - editing:any; + listenTo(node:unknown, key:string, callback:(evt:CKEditorEvent, data:CKEditorDomEventData) => unknown, options:CKEditorListenOptions):void; + + model:{ + on(ev:string, callback:() => unknown):void + fire(ev:string, data:unknown):void + document:{ + on(ev:string, callback:() => unknown):void + }; + }; + editing:{ + view:{ + focus():void; + document:Document + } + }; config:any; ui:any; element:HTMLElement; diff --git a/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts b/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts index 126a90d241d0..02fa45e1c8f1 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts +++ b/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts @@ -45,11 +45,11 @@ import { ICKEditorWatchdog, } from 'core-app/shared/components/editor/components/ckeditor/ckeditor.types'; import { CKEditorSetupService } from 'core-app/shared/components/editor/components/ckeditor/ckeditor-setup.service'; +import { KeyCodes } from 'core-app/shared/helpers/keyCodes.enum'; +import { debugLog } from 'core-app/shared/helpers/debug_output'; declare module 'codemirror'; -const manualModeLocalStorageKey = 'op-ckeditor-uses-manual-mode'; - @Component({ selector: 'op-ckeditor', templateUrl: './op-ckeditor.html', @@ -68,13 +68,16 @@ export class OpCkeditorComponent implements OnInit, OnDestroy { } // Output notification once ready - @Output() onInitialized = new EventEmitter(); + @Output() initializeDone = new EventEmitter(); // Output notification at max once/s for data changes - @Output() onContentChange = new EventEmitter(); + @Output() contentChanged = new EventEmitter(); // Output notification when editor cannot be initialized - @Output() onInitializationFailed = new EventEmitter(); + @Output() initializationFailed = new EventEmitter(); + + // Output save requests (ctrl+enter and cmd+enter) + @Output() saveRequested = new EventEmitter(); // View container of the replacement used to initialize CKEditor5 @ViewChild('opCkeditorReplacementContainer', { static: true }) opCkeditorReplacementContainer:ElementRef; @@ -105,9 +108,9 @@ export class OpCkeditorComponent implements OnInit, OnDestroy { // to read back changes as they happen private debouncedEmitter = _.debounce( () => { - this.getTransformedContent(false) + void this.getTransformedContent(false) .then((val) => { - this.onContentChange.emit(val); + this.contentChanged.emit(val); }); }, 1000, @@ -116,11 +119,13 @@ export class OpCkeditorComponent implements OnInit, OnDestroy { private $element:JQuery; - constructor(private readonly elementRef:ElementRef, + constructor( + private readonly elementRef:ElementRef, private readonly Notifications:ToastService, private readonly I18n:I18nService, private readonly configurationService:ConfigurationService, - private readonly ckEditorSetup:CKEditorSetupService) { + private readonly ckEditorSetup:CKEditorSetupService, + ) { } /** @@ -176,13 +181,14 @@ export class OpCkeditorComponent implements OnInit, OnDestroy { ngOnInit() { try { this.initializeEditor(); - } catch (error) { + } catch (error:unknown) { // We will run into this error if, among others, the browser does not fully support // CKEditor's requirements on ES6. - console.error(`Failed to setup CKEditor instance: ${error}`); - this.error = error; - this.onInitializationFailed.emit(error); + const message = (error as Error).toString(); + console.error('Failed to setup CKEditor instance: %O', error); + this.error = message; + this.initializationFailed.emit(message); } } @@ -208,18 +214,21 @@ export class OpCkeditorComponent implements OnInit, OnDestroy { }) .then((watchdog:ICKEditorWatchdog) => { this.setupWatchdog(watchdog); - this.ckEditorInstance = watchdog.editor; + const editor = watchdog.editor; + this.ckEditorInstance = editor; - // Save changes while in wysiwyg mode - watchdog.editor.model.document.on('change', this.debouncedEmitter); // Switch mode - watchdog.editor.on('op:source-code-enabled', () => this.enableManualMode()); - watchdog.editor.on('op:source-code-disabled', () => this.disableManualMode()); + editor.on('op:source-code-enabled', () => this.enableManualMode()); + editor.on('op:source-code-disabled', () => this.disableManualMode()); + + // Capture CTRL+ENTER commands + this.interceptModifiedEnterKeystrokes(editor); // Emit global dragend events for other drop zones to react. // This is needed, as CKEditor does not bubble any drag events - const model = watchdog.editor.model as unknown&{ on:(ev:string, callback:() => unknown) => void }; + const model = watchdog.editor.model; + model.document.on('change', this.debouncedEmitter); model.on('op:attachment-added', () => document.body.dispatchEvent(new DragEvent('dragend'))); model.on('op:attachment-removed', () => document.body.dispatchEvent(new DragEvent('dragend'))); @@ -230,13 +239,28 @@ export class OpCkeditorComponent implements OnInit, OnDestroy { // not vanishing after ending the drag. this.$element.on('dragleave', () => document.body.dispatchEvent(new DragEvent('dragleave'))); - this.onInitialized.emit(watchdog.editor); + this.initializeDone.emit(watchdog.editor); return watchdog.editor; }); this.$element.data('editor', editorPromise); } + private interceptModifiedEnterKeystrokes(editor:ICKEditorInstance) { + editor.listenTo( + editor.editing.view.document, + 'keydown', + (evt, data) => { + if ((data.ctrlKey || data.metaKey) && data.keyCode === KeyCodes.ENTER) { + debugLog('Sending save request from CKEditor.'); + this.saveRequested.emit(); + evt.stop(); + } + }, + { priority: 'highest' }, + ); + } + /** * Disable the manual mode, kill the codeMirror instance and switch back to CKEditor */ diff --git a/frontend/src/app/shared/components/fields/edit/field-types/formattable-edit-field/formattable-edit-field.component.html b/frontend/src/app/shared/components/fields/edit/field-types/formattable-edit-field/formattable-edit-field.component.html index c34aefb7621f..b9cd1473fe1f 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/formattable-edit-field/formattable-edit-field.component.html +++ b/frontend/src/app/shared/components/fields/edit/field-types/formattable-edit-field/formattable-edit-field.component.html @@ -2,9 +2,10 @@

    diff --git a/spec/features/work_packages/details/markdown/description_editor_spec.rb b/spec/features/work_packages/details/markdown/description_editor_spec.rb index 27c78f20d374..e5c077b8f5b6 100644 --- a/spec/features/work_packages/details/markdown/description_editor_spec.rb +++ b/spec/features/work_packages/details/markdown/description_editor_spec.rb @@ -84,6 +84,14 @@ # Cancelling through the action panel field.cancel_by_click field.expect_inactive! + + # Saving the field with ctrl+enter + field.activate! + field.set_value "Edit to be saved by keyboard" + field.submit_by_enter + + wp_page.expect_toast message: I18n.t('js.notice_successful_update') + field.expect_state_text 'Edit to be saved by keyboard' end end diff --git a/spec/support/edit_fields/text_editor_field.rb b/spec/support/edit_fields/text_editor_field.rb index 189926490027..14572e03870c 100644 --- a/spec/support/edit_fields/text_editor_field.rb +++ b/spec/support/edit_fields/text_editor_field.rb @@ -49,6 +49,10 @@ def submit_by_keyboard input_element.native.send_keys :tab end + def submit_by_enter + input_element.native.send_keys %i[control enter] + end + def cancel_by_click target = field_container.find(control_link(:cancel), wait: 10) scroll_to_element(target) From 8031a97cd56469837e94f7ae68341534c5ecd23c Mon Sep 17 00:00:00 2001 From: Behrokh Satarnejad <62008897+bsatarnejad@users.noreply.github.com> Date: Mon, 17 Jul 2023 09:08:20 +0200 Subject: [PATCH 158/180] [57911] Implement show changes legend - remove margin-bottom for wp toolbar title (#12756) * remove margin-bottom for wp toolbar * remove margin-bottom from toolbar title since toolbar container has a margin-bottom of one rem * remove an unncessary line from file --- frontend/src/global_styles/layout/_toolbar.sass | 3 +-- frontend/src/global_styles/layout/_toolbar_mobile.sass | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/frontend/src/global_styles/layout/_toolbar.sass b/frontend/src/global_styles/layout/_toolbar.sass index ee2a265b2d2e..b3a2950a8f30 100644 --- a/frontend/src/global_styles/layout/_toolbar.sass +++ b/frontend/src/global_styles/layout/_toolbar.sass @@ -93,7 +93,7 @@ $nm-color-success-background: #d8fdd1 flex-grow: 1 .toolbar-item - margin: 0 10px 10px 0 + margin-right: 10px // spacing between nav items flex-grow: 1 @@ -204,7 +204,6 @@ $nm-color-success-background: #d8fdd1 .title-container flex: 1 1 white-space: nowrap - margin-bottom: 10px max-width: 100% // margin-bottom of toolbar buttons diff --git a/frontend/src/global_styles/layout/_toolbar_mobile.sass b/frontend/src/global_styles/layout/_toolbar_mobile.sass index 3a514982152f..ab35a0bb735b 100644 --- a/frontend/src/global_styles/layout/_toolbar_mobile.sass +++ b/frontend/src/global_styles/layout/_toolbar_mobile.sass @@ -41,7 +41,7 @@ margin-right: 0 .toolbar-item - margin: 0 0 10px 10px + margin-left: 10px // Hide toolbar button texts on mobile .button--text:not(.button--text_without_icon), From 784361c03cb4d9dfa3515690318865db682291ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 17 Jul 2023 09:15:48 +0200 Subject: [PATCH 159/180] Skip fixing in-context translation files --- script/i18n/fix_crowdin_translation_filenames.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/script/i18n/fix_crowdin_translation_filenames.rb b/script/i18n/fix_crowdin_translation_filenames.rb index a1c0d121cae4..3522580687d0 100644 --- a/script/i18n/fix_crowdin_translation_filenames.rb +++ b/script/i18n/fix_crowdin_translation_filenames.rb @@ -5,6 +5,9 @@ language_key = nil filename = File.basename(crowdin_file) + # Skip the empty in-context translations + next if filename.includes?('lol.') + File.readlines(crowdin_file).each do |line| if line.match(/^\s*(\S{2,}):\s*$/) language_key = $1 From 8d8dfe5e9386c747205c209dd4247ab9b85180c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 17 Jul 2023 09:26:47 +0200 Subject: [PATCH 160/180] Remove check for in-context translations (fixed) --- script/i18n/fix_crowdin_translation_filenames.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/i18n/fix_crowdin_translation_filenames.rb b/script/i18n/fix_crowdin_translation_filenames.rb index 3522580687d0..d2160c41a6f7 100644 --- a/script/i18n/fix_crowdin_translation_filenames.rb +++ b/script/i18n/fix_crowdin_translation_filenames.rb @@ -6,7 +6,7 @@ filename = File.basename(crowdin_file) # Skip the empty in-context translations - next if filename.includes?('lol.') + next if filename.include?('lol.') File.readlines(crowdin_file).each do |line| if line.match(/^\s*(\S{2,}):\s*$/) From ef4fa07ea3d8401e3bccfcac46678d7ca67d925e Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Mon, 17 Jul 2023 07:28:27 +0000 Subject: [PATCH 161/180] update locales from crowdin [ci skip] --- config/locales/crowdin/af.yml | 54 +- config/locales/crowdin/ar.yml | 62 +- config/locales/crowdin/az.yml | 52 +- config/locales/crowdin/be.yml | 54 +- config/locales/crowdin/bg.yml | 60 +- config/locales/crowdin/ca.yml | 86 +- config/locales/crowdin/ckb-IR.yml | 52 +- config/locales/crowdin/cs.seeders.yml | 4 +- config/locales/crowdin/cs.yml | 72 +- config/locales/crowdin/da.yml | 62 +- config/locales/crowdin/de.yml | 96 +-- config/locales/crowdin/el.yml | 62 +- config/locales/crowdin/eo.yml | 56 +- config/locales/crowdin/es.yml | 70 +- config/locales/crowdin/et.yml | 58 +- config/locales/crowdin/eu.yml | 54 +- config/locales/crowdin/fa.yml | 56 +- config/locales/crowdin/fi.yml | 60 +- config/locales/crowdin/fil.yml | 60 +- config/locales/crowdin/fr.yml | 76 +- config/locales/crowdin/he.yml | 56 +- config/locales/crowdin/hi.yml | 54 +- config/locales/crowdin/hr.yml | 60 +- config/locales/crowdin/hu.yml | 66 +- config/locales/crowdin/id.yml | 78 +- config/locales/crowdin/it.yml | 76 +- config/locales/crowdin/ja.yml | 68 +- config/locales/crowdin/js-af.yml | 9 + config/locales/crowdin/js-ar.yml | 11 +- config/locales/crowdin/js-az.yml | 9 + config/locales/crowdin/js-be.yml | 9 + config/locales/crowdin/js-bg.yml | 11 +- config/locales/crowdin/js-ca.yml | 9 + config/locales/crowdin/js-ckb-IR.yml | 9 + config/locales/crowdin/js-cs.yml | 13 +- config/locales/crowdin/js-da.yml | 11 +- config/locales/crowdin/js-de.yml | 11 +- config/locales/crowdin/js-el.yml | 11 +- config/locales/crowdin/js-eo.yml | 11 +- config/locales/crowdin/js-es.yml | 11 +- config/locales/crowdin/js-et.yml | 9 + config/locales/crowdin/js-eu.yml | 9 + config/locales/crowdin/js-fa.yml | 9 + config/locales/crowdin/js-fi.yml | 11 +- config/locales/crowdin/js-fil.yml | 11 +- config/locales/crowdin/js-fr.yml | 11 +- config/locales/crowdin/js-he.yml | 9 + config/locales/crowdin/js-hi.yml | 9 + config/locales/crowdin/js-hr.yml | 11 +- config/locales/crowdin/js-hu.yml | 11 +- config/locales/crowdin/js-id.yml | 33 +- config/locales/crowdin/js-it.yml | 11 +- config/locales/crowdin/js-ja.yml | 11 +- config/locales/crowdin/js-ka.yml | 19 +- config/locales/crowdin/js-ko.yml | 11 +- config/locales/crowdin/js-lol.yml | 9 + config/locales/crowdin/js-lt.yml | 9 + config/locales/crowdin/js-lv.yml | 11 +- config/locales/crowdin/js-mn.yml | 9 + config/locales/crowdin/js-ne.yml | 9 + config/locales/crowdin/js-nl.yml | 29 +- config/locales/crowdin/js-no.yml | 15 +- config/locales/crowdin/js-pl.yml | 11 +- config/locales/crowdin/js-pt.yml | 11 +- config/locales/crowdin/js-ro.yml | 11 +- config/locales/crowdin/js-ru.yml | 11 +- config/locales/crowdin/js-rw.yml | 9 + config/locales/crowdin/js-si.yml | 11 +- config/locales/crowdin/js-sk.yml | 11 +- config/locales/crowdin/js-sl.yml | 11 +- config/locales/crowdin/js-sr.yml | 9 + config/locales/crowdin/js-sv.yml | 11 +- config/locales/crowdin/js-th.yml | 11 +- config/locales/crowdin/js-tr.yml | 11 +- config/locales/crowdin/js-uk.yml | 11 +- config/locales/crowdin/js-vi.yml | 11 +- config/locales/crowdin/js-zh-TW.yml | 11 +- config/locales/crowdin/ka.yml | 66 +- config/locales/crowdin/ko.yml | 76 +- config/locales/crowdin/lol.yml | 54 +- config/locales/crowdin/lt.yml | 76 +- config/locales/crowdin/lv.yml | 54 +- config/locales/crowdin/mn.yml | 52 +- config/locales/crowdin/ne.yml | 52 +- config/locales/crowdin/nl.seeders.yml | 2 +- config/locales/crowdin/nl.yml | 72 +- config/locales/crowdin/no.seeders.yml | 2 +- config/locales/crowdin/no.yml | 62 +- config/locales/crowdin/pl.yml | 74 +- config/locales/crowdin/pt.yml | 74 +- config/locales/crowdin/ro.yml | 74 +- config/locales/crowdin/ru.yml | 62 +- config/locales/crowdin/rw.yml | 52 +- config/locales/crowdin/si.yml | 58 +- config/locales/crowdin/sk.yml | 60 +- config/locales/crowdin/sl.yml | 60 +- config/locales/crowdin/sr.yml | 52 +- config/locales/crowdin/sv.yml | 62 +- config/locales/crowdin/th.yml | 60 +- config/locales/crowdin/tr.yml | 74 +- config/locales/crowdin/uk.yml | 72 +- config/locales/crowdin/vi.yml | 58 +- config/locales/crowdin/zh-TW.seeders.yml | 2 +- config/locales/crowdin/zh-TW.yml | 60 +- .../avatars/config/locales/crowdin/js-no.yml | 2 +- .../backlogs/config/locales/crowdin/ka.yml | 2 +- .../backlogs/config/locales/crowdin/no.yml | 6 +- .../bim/config/locales/crowdin/af.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/ar.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/az.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/be.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/bg.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/ca.seeders.yml | 734 ++++++++++++++++++ .../config/locales/crowdin/ckb-IR.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/cs.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/da.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/de.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/el.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/eo.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/es.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/et.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/eu.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/fa.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/fi.seeders.yml | 734 ++++++++++++++++++ .../config/locales/crowdin/fil.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/fr.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/he.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/hi.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/hr.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/hu.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/id.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/it.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/ja.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/js-zh-TW.yml | 24 +- .../bim/config/locales/crowdin/ka.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/ko.seeders.yml | 734 ++++++++++++++++++ .../config/locales/crowdin/lol.seeders.yml | 433 +++++++++++ .../bim/config/locales/crowdin/lt.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/lv.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/mn.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/ne.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/nl.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/no.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/pl.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/pt.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/ro.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/ru.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/rw.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/si.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/sk.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/sl.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/sr.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/sv.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/th.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/tr.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/uk.seeders.yml | 734 ++++++++++++++++++ .../bim/config/locales/crowdin/vi.seeders.yml | 734 ++++++++++++++++++ .../config/locales/crowdin/zh-TW.seeders.yml | 734 ++++++++++++++++++ .../config/locales/crowdin/af.seeders.yml | 8 + .../config/locales/crowdin/ar.seeders.yml | 8 + modules/boards/config/locales/crowdin/ar.yml | 2 +- .../config/locales/crowdin/az.seeders.yml | 8 + .../config/locales/crowdin/be.seeders.yml | 8 + .../config/locales/crowdin/bg.seeders.yml | 8 + .../config/locales/crowdin/ca.seeders.yml | 8 + .../config/locales/crowdin/ckb-IR.seeders.yml | 8 + .../config/locales/crowdin/cs.seeders.yml | 8 + .../config/locales/crowdin/da.seeders.yml | 8 + .../config/locales/crowdin/de.seeders.yml | 8 + .../config/locales/crowdin/el.seeders.yml | 8 + .../config/locales/crowdin/eo.seeders.yml | 8 + .../config/locales/crowdin/es.seeders.yml | 8 + .../config/locales/crowdin/et.seeders.yml | 8 + .../config/locales/crowdin/eu.seeders.yml | 8 + .../config/locales/crowdin/fa.seeders.yml | 8 + .../config/locales/crowdin/fi.seeders.yml | 8 + .../config/locales/crowdin/fil.seeders.yml | 8 + .../config/locales/crowdin/fr.seeders.yml | 8 + .../config/locales/crowdin/he.seeders.yml | 8 + .../config/locales/crowdin/hi.seeders.yml | 8 + .../config/locales/crowdin/hr.seeders.yml | 8 + .../config/locales/crowdin/hu.seeders.yml | 8 + .../config/locales/crowdin/id.seeders.yml | 8 + .../config/locales/crowdin/it.seeders.yml | 8 + .../config/locales/crowdin/ja.seeders.yml | 8 + .../boards/config/locales/crowdin/js-id.yml | 2 +- .../config/locales/crowdin/js-zh-TW.yml | 23 +- .../config/locales/crowdin/ka.seeders.yml | 8 + .../config/locales/crowdin/ko.seeders.yml | 8 + .../config/locales/crowdin/lol.seeders.yml | 8 + .../config/locales/crowdin/lt.seeders.yml | 8 + .../config/locales/crowdin/lv.seeders.yml | 8 + .../config/locales/crowdin/mn.seeders.yml | 8 + .../config/locales/crowdin/ne.seeders.yml | 8 + .../config/locales/crowdin/nl.seeders.yml | 8 + .../config/locales/crowdin/no.seeders.yml | 8 + .../config/locales/crowdin/pl.seeders.yml | 8 + .../config/locales/crowdin/pt.seeders.yml | 8 + .../config/locales/crowdin/ro.seeders.yml | 8 + .../config/locales/crowdin/ru.seeders.yml | 8 + .../config/locales/crowdin/rw.seeders.yml | 8 + .../config/locales/crowdin/si.seeders.yml | 8 + .../config/locales/crowdin/sk.seeders.yml | 8 + .../config/locales/crowdin/sl.seeders.yml | 8 + .../config/locales/crowdin/sr.seeders.yml | 8 + .../config/locales/crowdin/sv.seeders.yml | 8 + .../config/locales/crowdin/th.seeders.yml | 8 + .../config/locales/crowdin/tr.seeders.yml | 8 + .../config/locales/crowdin/uk.seeders.yml | 8 + .../config/locales/crowdin/vi.seeders.yml | 8 + .../config/locales/crowdin/zh-TW.seeders.yml | 8 + .../boards/config/locales/crowdin/zh-TW.yml | 2 +- modules/budgets/config/locales/crowdin/ka.yml | 2 +- .../calendar/config/locales/crowdin/af.yml | 2 +- .../calendar/config/locales/crowdin/ar.yml | 2 +- .../calendar/config/locales/crowdin/az.yml | 2 +- .../calendar/config/locales/crowdin/be.yml | 2 +- .../calendar/config/locales/crowdin/bg.yml | 2 +- .../calendar/config/locales/crowdin/ca.yml | 2 +- .../config/locales/crowdin/ckb-IR.yml | 2 +- .../calendar/config/locales/crowdin/cs.yml | 2 +- .../calendar/config/locales/crowdin/da.yml | 2 +- .../calendar/config/locales/crowdin/el.yml | 2 +- .../calendar/config/locales/crowdin/eo.yml | 2 +- .../calendar/config/locales/crowdin/es.yml | 2 +- .../calendar/config/locales/crowdin/et.yml | 2 +- .../calendar/config/locales/crowdin/eu.yml | 2 +- .../calendar/config/locales/crowdin/fa.yml | 2 +- .../calendar/config/locales/crowdin/fi.yml | 2 +- .../calendar/config/locales/crowdin/fil.yml | 2 +- .../calendar/config/locales/crowdin/fr.yml | 2 +- .../calendar/config/locales/crowdin/he.yml | 2 +- .../calendar/config/locales/crowdin/hi.yml | 2 +- .../calendar/config/locales/crowdin/hr.yml | 2 +- .../calendar/config/locales/crowdin/hu.yml | 2 +- .../calendar/config/locales/crowdin/it.yml | 2 +- .../calendar/config/locales/crowdin/ja.yml | 2 +- .../calendar/config/locales/crowdin/ka.yml | 2 +- .../calendar/config/locales/crowdin/lol.yml | 2 +- .../calendar/config/locales/crowdin/lt.yml | 2 +- .../calendar/config/locales/crowdin/lv.yml | 2 +- .../calendar/config/locales/crowdin/mn.yml | 2 +- .../calendar/config/locales/crowdin/ne.yml | 2 +- .../calendar/config/locales/crowdin/nl.yml | 2 +- .../calendar/config/locales/crowdin/no.yml | 2 +- .../calendar/config/locales/crowdin/pl.yml | 2 +- .../calendar/config/locales/crowdin/pt.yml | 2 +- .../calendar/config/locales/crowdin/ro.yml | 2 +- .../calendar/config/locales/crowdin/ru.yml | 2 +- .../calendar/config/locales/crowdin/rw.yml | 2 +- .../calendar/config/locales/crowdin/si.yml | 2 +- .../calendar/config/locales/crowdin/sk.yml | 2 +- .../calendar/config/locales/crowdin/sl.yml | 2 +- .../calendar/config/locales/crowdin/sr.yml | 2 +- .../calendar/config/locales/crowdin/sv.yml | 2 +- .../calendar/config/locales/crowdin/th.yml | 2 +- .../calendar/config/locales/crowdin/tr.yml | 2 +- .../calendar/config/locales/crowdin/uk.yml | 2 +- .../calendar/config/locales/crowdin/vi.yml | 2 +- .../costs/config/locales/crowdin/js-zh-TW.yml | 8 +- modules/costs/config/locales/crowdin/no.yml | 88 +-- .../costs/config/locales/crowdin/zh-TW.yml | 12 +- .../config/locales/crowdin/js-ca.yml | 14 +- .../config/locales/crowdin/js-de.yml | 14 +- .../config/locales/crowdin/js-lol.yml | 38 +- .../config/locales/crowdin/js-lt.yml | 14 +- .../config/locales/crowdin/js-nl.yml | 8 +- .../grids/config/locales/crowdin/js-id.yml | 10 +- .../grids/config/locales/crowdin/js-ja.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 | 2 +- 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 | 4 +- modules/meeting/config/locales/crowdin/ko.yml | 2 +- .../meeting/config/locales/crowdin/lol.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/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 +- modules/meeting/config/locales/crowdin/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/vi.yml | 2 +- .../meeting/config/locales/crowdin/zh-TW.yml | 2 +- .../reporting/config/locales/crowdin/af.yml | 3 + .../reporting/config/locales/crowdin/ar.yml | 3 + .../reporting/config/locales/crowdin/az.yml | 3 + .../reporting/config/locales/crowdin/be.yml | 3 + .../reporting/config/locales/crowdin/bg.yml | 3 + .../reporting/config/locales/crowdin/ca.yml | 3 + .../config/locales/crowdin/ckb-IR.yml | 3 + .../reporting/config/locales/crowdin/cs.yml | 3 + .../reporting/config/locales/crowdin/da.yml | 3 + .../reporting/config/locales/crowdin/de.yml | 3 + .../reporting/config/locales/crowdin/el.yml | 3 + .../reporting/config/locales/crowdin/eo.yml | 3 + .../reporting/config/locales/crowdin/es.yml | 3 + .../reporting/config/locales/crowdin/et.yml | 3 + .../reporting/config/locales/crowdin/eu.yml | 3 + .../reporting/config/locales/crowdin/fa.yml | 3 + .../reporting/config/locales/crowdin/fi.yml | 3 + .../reporting/config/locales/crowdin/fil.yml | 3 + .../reporting/config/locales/crowdin/fr.yml | 3 + .../reporting/config/locales/crowdin/he.yml | 3 + .../reporting/config/locales/crowdin/hi.yml | 3 + .../reporting/config/locales/crowdin/hr.yml | 3 + .../reporting/config/locales/crowdin/hu.yml | 3 + .../reporting/config/locales/crowdin/id.yml | 3 + .../reporting/config/locales/crowdin/it.yml | 3 + .../reporting/config/locales/crowdin/ja.yml | 3 + .../reporting/config/locales/crowdin/ka.yml | 3 + .../reporting/config/locales/crowdin/ko.yml | 3 + .../reporting/config/locales/crowdin/lol.yml | 3 + .../reporting/config/locales/crowdin/lt.yml | 3 + .../reporting/config/locales/crowdin/lv.yml | 3 + .../reporting/config/locales/crowdin/mn.yml | 3 + .../reporting/config/locales/crowdin/ne.yml | 3 + .../reporting/config/locales/crowdin/nl.yml | 3 + .../reporting/config/locales/crowdin/no.yml | 3 + .../reporting/config/locales/crowdin/pl.yml | 3 + .../reporting/config/locales/crowdin/pt.yml | 3 + .../reporting/config/locales/crowdin/ro.yml | 3 + .../reporting/config/locales/crowdin/ru.yml | 3 + .../reporting/config/locales/crowdin/rw.yml | 3 + .../reporting/config/locales/crowdin/si.yml | 3 + .../reporting/config/locales/crowdin/sk.yml | 3 + .../reporting/config/locales/crowdin/sl.yml | 3 + .../reporting/config/locales/crowdin/sr.yml | 3 + .../reporting/config/locales/crowdin/sv.yml | 3 + .../reporting/config/locales/crowdin/th.yml | 3 + .../reporting/config/locales/crowdin/tr.yml | 3 + .../reporting/config/locales/crowdin/uk.yml | 3 + .../reporting/config/locales/crowdin/vi.yml | 3 + .../config/locales/crowdin/zh-TW.yml | 3 + .../storages/config/locales/crowdin/af.yml | 16 + .../storages/config/locales/crowdin/ar.yml | 16 + .../storages/config/locales/crowdin/az.yml | 16 + .../storages/config/locales/crowdin/be.yml | 16 + .../storages/config/locales/crowdin/bg.yml | 16 + .../storages/config/locales/crowdin/ca.yml | 16 + .../config/locales/crowdin/ckb-IR.yml | 16 + .../storages/config/locales/crowdin/cs.yml | 16 + .../storages/config/locales/crowdin/da.yml | 16 + .../storages/config/locales/crowdin/de.yml | 16 + .../storages/config/locales/crowdin/el.yml | 16 + .../storages/config/locales/crowdin/eo.yml | 16 + .../storages/config/locales/crowdin/es.yml | 16 + .../storages/config/locales/crowdin/et.yml | 16 + .../storages/config/locales/crowdin/eu.yml | 16 + .../storages/config/locales/crowdin/fa.yml | 16 + .../storages/config/locales/crowdin/fi.yml | 16 + .../storages/config/locales/crowdin/fil.yml | 16 + .../storages/config/locales/crowdin/fr.yml | 16 + .../storages/config/locales/crowdin/he.yml | 16 + .../storages/config/locales/crowdin/hi.yml | 16 + .../storages/config/locales/crowdin/hr.yml | 16 + .../storages/config/locales/crowdin/hu.yml | 16 + .../storages/config/locales/crowdin/id.yml | 16 + .../storages/config/locales/crowdin/it.yml | 16 + .../storages/config/locales/crowdin/ja.yml | 16 + .../storages/config/locales/crowdin/js-no.yml | 2 +- .../storages/config/locales/crowdin/ka.yml | 16 + .../storages/config/locales/crowdin/ko.yml | 16 + .../storages/config/locales/crowdin/lol.yml | 16 + .../storages/config/locales/crowdin/lt.yml | 16 + .../storages/config/locales/crowdin/lv.yml | 16 + .../storages/config/locales/crowdin/mn.yml | 16 + .../storages/config/locales/crowdin/ne.yml | 16 + .../storages/config/locales/crowdin/nl.yml | 16 + .../storages/config/locales/crowdin/no.yml | 16 + .../storages/config/locales/crowdin/pl.yml | 16 + .../storages/config/locales/crowdin/pt.yml | 16 + .../storages/config/locales/crowdin/ro.yml | 16 + .../storages/config/locales/crowdin/ru.yml | 16 + .../storages/config/locales/crowdin/rw.yml | 16 + .../storages/config/locales/crowdin/si.yml | 16 + .../storages/config/locales/crowdin/sk.yml | 16 + .../storages/config/locales/crowdin/sl.yml | 16 + .../storages/config/locales/crowdin/sr.yml | 16 + .../storages/config/locales/crowdin/sv.yml | 16 + .../storages/config/locales/crowdin/th.yml | 16 + .../storages/config/locales/crowdin/tr.yml | 16 + .../storages/config/locales/crowdin/uk.yml | 16 + .../storages/config/locales/crowdin/vi.yml | 16 + .../storages/config/locales/crowdin/zh-TW.yml | 16 + .../config/locales/crowdin/af.yml | 8 +- .../config/locales/crowdin/ar.yml | 8 +- .../config/locales/crowdin/az.yml | 8 +- .../config/locales/crowdin/be.yml | 8 +- .../config/locales/crowdin/bg.yml | 8 +- .../config/locales/crowdin/ca.yml | 8 +- .../config/locales/crowdin/ckb-IR.yml | 8 +- .../config/locales/crowdin/cs.yml | 8 +- .../config/locales/crowdin/da.yml | 8 +- .../config/locales/crowdin/de.yml | 6 + .../config/locales/crowdin/el.yml | 8 +- .../config/locales/crowdin/eo.yml | 8 +- .../config/locales/crowdin/es.yml | 8 +- .../config/locales/crowdin/et.yml | 8 +- .../config/locales/crowdin/eu.yml | 8 +- .../config/locales/crowdin/fa.yml | 8 +- .../config/locales/crowdin/fi.yml | 8 +- .../config/locales/crowdin/fil.yml | 8 +- .../config/locales/crowdin/fr.yml | 8 +- .../config/locales/crowdin/he.yml | 8 +- .../config/locales/crowdin/hi.yml | 8 +- .../config/locales/crowdin/hr.yml | 8 +- .../config/locales/crowdin/hu.yml | 8 +- .../config/locales/crowdin/id.yml | 6 + .../config/locales/crowdin/it.yml | 8 +- .../config/locales/crowdin/ja.yml | 8 +- .../config/locales/crowdin/js-nl.yml | 2 +- .../config/locales/crowdin/ka.yml | 8 +- .../config/locales/crowdin/ko.yml | 6 + .../config/locales/crowdin/lol.yml | 8 +- .../config/locales/crowdin/lt.yml | 8 +- .../config/locales/crowdin/lv.yml | 8 +- .../config/locales/crowdin/mn.yml | 8 +- .../config/locales/crowdin/ne.yml | 8 +- .../config/locales/crowdin/nl.yml | 8 +- .../config/locales/crowdin/no.yml | 6 + .../config/locales/crowdin/pl.yml | 8 +- .../config/locales/crowdin/pt.yml | 6 + .../config/locales/crowdin/ro.yml | 8 +- .../config/locales/crowdin/ru.yml | 8 +- .../config/locales/crowdin/rw.yml | 8 +- .../config/locales/crowdin/si.yml | 8 +- .../config/locales/crowdin/sk.yml | 8 +- .../config/locales/crowdin/sl.yml | 8 +- .../config/locales/crowdin/sr.yml | 8 +- .../config/locales/crowdin/sv.yml | 6 + .../config/locales/crowdin/th.yml | 8 +- .../config/locales/crowdin/tr.yml | 8 +- .../config/locales/crowdin/uk.yml | 8 +- .../config/locales/crowdin/vi.yml | 8 +- .../config/locales/crowdin/zh-TW.yml | 8 +- 471 files changed, 40633 insertions(+), 1735 deletions(-) create mode 100644 modules/bim/config/locales/crowdin/af.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ar.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/az.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/be.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/bg.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ca.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ckb-IR.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/cs.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/da.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/de.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/el.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/eo.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/es.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/et.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/eu.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/fa.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/fi.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/fil.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/fr.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/he.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/hi.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/hr.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/hu.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/id.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/it.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ja.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ka.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ko.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/lol.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/lt.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/lv.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/mn.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ne.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/nl.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/no.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/pl.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/pt.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ro.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/ru.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/rw.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/si.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/sk.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/sl.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/sr.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/sv.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/th.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/tr.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/uk.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/vi.seeders.yml create mode 100644 modules/bim/config/locales/crowdin/zh-TW.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/af.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ar.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/az.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/be.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/bg.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ca.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ckb-IR.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/cs.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/da.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/de.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/el.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/eo.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/es.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/et.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/eu.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/fa.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/fi.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/fil.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/fr.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/he.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/hi.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/hr.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/hu.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/id.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/it.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ja.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ka.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ko.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/lol.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/lt.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/lv.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/mn.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ne.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/nl.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/no.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/pl.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/pt.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ro.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/ru.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/rw.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/si.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/sk.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/sl.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/sr.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/sv.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/th.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/tr.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/uk.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/vi.seeders.yml create mode 100644 modules/boards/config/locales/crowdin/zh-TW.seeders.yml diff --git a/config/locales/crowdin/af.yml b/config/locales/crowdin/af.yml index b69e80ba1b8b..5a537f456fa0 100644 --- a/config/locales/crowdin/af.yml +++ b/config/locales/crowdin/af.yml @@ -198,8 +198,6 @@ af: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ af: hours: "Ure" spent_on: "Datum" type: "Soort" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ af: button_continue: "Continue" button_copy: "Kopieer" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopieer en volg" button_create: "Skep" button_create_and_continue: "Skep en gaan voort" @@ -1493,6 +1493,7 @@ af: label_age: "Ouderdom" label_ago: "dae gelede" label_all: "alle" + label_all_projects: "All projects" label_all_time: "alle tye" label_all_words: "Alle woorde" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ af: label_ical_access_key_revoke: "Revoke" label_applied_status: "Toegepaste status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Stygende" label_assigned_to_me_work_packages: "Werkspakkette aan my toegeken" label_associated_revisions: "Gepaardgaande hersienings" @@ -1645,6 +1647,7 @@ af: label_everywhere: "everywhere" label_example: "Voorbeeld" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Ook beskikbaar in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ af: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Tuis" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in minder as" @@ -2352,7 +2356,7 @@ af: archived: "Archived" project_module_activity: "Aktiwiteit" project_module_forums: "Forums" - project_module_work_package_tracking: "Werkspakket rekord" + project_module_work_package_tracking: "Werkspakkete" project_module_news: "Nuus" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2526,7 +2530,7 @@ af: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Datum" setting_default_language: "Default language" setting_default_projects_modules: "Default enabled modules for new projects" setting_default_projects_public: "Nuwe projekte is openbaar by verstek" @@ -2538,7 +2542,7 @@ af: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2602,34 +2606,21 @@ af: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Algemeen" - other: "Ander" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Algemeen" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ af: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Ander" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/ar.yml b/config/locales/crowdin/ar.yml index c5ebbb6d7236..6d5ff49825da 100644 --- a/config/locales/crowdin/ar.yml +++ b/config/locales/crowdin/ar.yml @@ -198,8 +198,6 @@ ar: no_results_content_text: إنشاء ملف زبون جديد concatenation: single: 'أو' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -532,6 +530,7 @@ ar: hours: "الساعات" spent_on: "التاريخ" type: "النّوع" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1094,7 +1093,8 @@ ar: button_configure: "تكوين" button_continue: "Continue" button_copy: "انسخ" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "نسخ إلى الحافظة" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "انسخ واتبع" button_create: "إنشاء" button_create_and_continue: "إنشاء ومواصلة" @@ -1568,6 +1568,7 @@ ar: label_age: "العمر" label_ago: "أيام مضت" label_all: "الكل" + label_all_projects: "All projects" label_all_time: "كل الوقت" label_all_words: "كافة الكلمات" label_all_open_wps: "All open" @@ -1584,6 +1585,7 @@ ar: label_ical_access_key_revoke: "Revoke" label_applied_status: "الحالة المطبقة" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "ترتيب تصاعدي" label_assigned_to_me_work_packages: "مجموعات العمل الموكلة لي" label_associated_revisions: "التعديلات المرتبطة بها" @@ -1670,7 +1672,7 @@ ar: label_database_version: "PostgreSQL version" label_date: "التاريخ" label_date_and_time: "Date and time" - label_date_format: "Date format" + label_date_format: "صيغة التاريخ" label_date_from: "من" label_date_from_to: "من %{start} إلى %{end}" label_date_to: "إلى" @@ -1719,7 +1721,8 @@ ar: label_equals: "يكون" label_everywhere: "everywhere" label_example: "مثال" - label_experimental: "Experimental" + label_experimental: "شارة تجريبية" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "متاح أيضاً في:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1756,6 +1759,7 @@ ar: label_hierarchy_leaf: "Hierarchy leaf" label_home: "الصفحة الرئيسية" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "في" label_in_less_than: "في أقل من" @@ -2431,7 +2435,7 @@ ar: archived: "Archived" project_module_activity: "النشاط" project_module_forums: "منتديات" - project_module_work_package_tracking: "تتبع مجموعة العمل" + project_module_work_package_tracking: "مجموعات العمل" project_module_news: "الأخبار" project_module_repository: "مستودع البيانات" project_module_wiki: "Wiki" @@ -2603,7 +2607,7 @@ ar: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "السماح بعلاقات عبر-المشروع مجموعة العمل" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "التاريخ" setting_default_language: "اللغة الافتراضية" setting_default_projects_modules: "وحدات التمكين الافتراضية للمشاريع الجديدة" setting_default_projects_public: "هناك مشاريع جديدة عامة بشكل افتراضي" @@ -2615,7 +2619,7 @@ ar: setting_enabled_scm: "تمكين SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "تمكين التغذية" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "حد محتوى تغذية" setting_file_max_size_displayed: "عرض الحد الأقصى لحجم الملفات النصية المضمنة في السطر" setting_host_name: "إسم المضيف" @@ -2666,7 +2670,7 @@ ar: setting_start_of_week: "Week starts on" setting_sys_api_enabled: "تمكين خدمة ويب إدارة المستودع" setting_sys_api_description: "ويوفر خدمة ويب إدارة المستودع التكامل و إذن للمستخدم للوصول إلى المستودعات." - setting_time_format: "Time" + setting_time_format: "الوقت" setting_accessibility_mode_for_anonymous: "تمكين وضع إمكانية الوصول للمستخدمين المجهولين" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2679,34 +2683,21 @@ ar: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "عام" - other: "اخرى" - passwords: "كلمات المرور" - session: "الجلسة" - brute_force_prevention: "حجب المستخدم الآلي" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "حجب المستخدم الآلي" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "عام" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2714,6 +2705,23 @@ ar: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "اخرى" + passwords: "كلمات المرور" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "الجلسة" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/az.yml b/config/locales/crowdin/az.yml index daaa819b34d2..b102e4dc1a6e 100644 --- a/config/locales/crowdin/az.yml +++ b/config/locales/crowdin/az.yml @@ -198,8 +198,6 @@ az: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ az: hours: "Hours" spent_on: "Date" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ az: button_continue: "Davam" button_copy: "Kopyala" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1493,6 +1493,7 @@ az: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ az: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1645,6 +1647,7 @@ az: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ az: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2352,7 +2356,7 @@ az: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2538,7 +2542,7 @@ az: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2602,34 +2606,21 @@ az: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ az: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml index 43fd74a3d40e..a465ad119f0f 100644 --- a/config/locales/crowdin/be.yml +++ b/config/locales/crowdin/be.yml @@ -198,8 +198,6 @@ be: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -530,6 +528,7 @@ be: hours: "Гадзіны" spent_on: "Дата" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1081,6 +1080,7 @@ be: button_continue: "Continue" button_copy: "Скапіраваць" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1531,6 +1531,7 @@ be: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1547,6 +1548,7 @@ be: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1683,6 +1685,7 @@ be: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1719,6 +1722,7 @@ be: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2394,7 +2398,7 @@ be: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2568,7 +2572,7 @@ be: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Дата" setting_default_language: "Default language" setting_default_projects_modules: "Default enabled modules for new projects" setting_default_projects_public: "New projects are public by default" @@ -2580,7 +2584,7 @@ be: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2644,34 +2648,21 @@ be: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Асноўныя" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Асноўныя" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2679,6 +2670,23 @@ be: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/bg.yml b/config/locales/crowdin/bg.yml index 0926d5daf63c..25dd75885474 100644 --- a/config/locales/crowdin/bg.yml +++ b/config/locales/crowdin/bg.yml @@ -198,8 +198,6 @@ bg: no_results_content_text: Създаване на ново персонализирано поле concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ bg: hours: "Часове" spent_on: "Дата" type: "Тип" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1066,7 +1065,8 @@ bg: button_configure: "Конфигуриране" button_continue: "Продължаване" button_copy: "Копиране" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Копирай в буфер" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Копирате и следвайте" button_create: "Създаване" button_create_and_continue: "Създаване и продължи" @@ -1493,6 +1493,7 @@ bg: label_age: "Възраст" label_ago: "преди" label_all: "всички" + label_all_projects: "All projects" label_all_time: "всички времена" label_all_words: "Всички думи" label_all_open_wps: "Всичко отворено" @@ -1509,6 +1510,7 @@ bg: label_ical_access_key_revoke: "Revoke" label_applied_status: "Приложен статус" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Възходящо" label_assigned_to_me_work_packages: "Работни пакети, възложени на мен" label_associated_revisions: "Асоциирани ревизии" @@ -1595,7 +1597,7 @@ bg: label_database_version: "Версия на PostgreSQL" label_date: "Дата" label_date_and_time: "Дата и час" - label_date_format: "Date format" + label_date_format: "Формат на датата" label_date_from: "От" label_date_from_to: "От %{start} до %{end}" label_date_to: "До" @@ -1645,6 +1647,7 @@ bg: label_everywhere: "навсякъде" label_example: "Пример" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ bg: label_hierarchy_leaf: "Йерархично листо" label_home: "Начална страница" label_subject_or_id: "Тема или №" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "в" label_in_less_than: "в по-малко от" @@ -2352,7 +2356,7 @@ bg: archived: "Archived" project_module_activity: "Активност" project_module_forums: "Форуми" - project_module_work_package_tracking: "Проследяване на работен пакет" + project_module_work_package_tracking: "Работни пакети" project_module_news: "Новини" project_module_repository: "Хранилище" project_module_wiki: "Wiki" @@ -2526,7 +2530,7 @@ bg: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Дата" setting_default_language: "Език по подразбиране" setting_default_projects_modules: "Default enabled modules for new projects" setting_default_projects_public: "New projects are public by default" @@ -2538,7 +2542,7 @@ bg: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Вижда се в списъка с проекти" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Име на хост" @@ -2589,7 +2593,7 @@ bg: setting_start_of_week: "Week starts on" setting_sys_api_enabled: "Enable repository management web service" setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." - setting_time_format: "Time" + setting_time_format: "Час" setting_accessibility_mode_for_anonymous: "Разрешаване на достъпен режим за анонимни потребители" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2602,34 +2606,21 @@ bg: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Общ" - other: "Други" - passwords: "Пароли" - session: "Сесия" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Общ" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Настройки за нови проекти" - section_project_overview: "Настройки за списък с преглед на проекти" - user: - default_preferences: "Настройки по подразбиране" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ bg: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Други" + passwords: "Пароли" + projects: + section_new_projects: "Настройки за нови проекти" + section_project_overview: "Настройки за списък с преглед на проекти" + session: "Сесия" + user: + default_preferences: "Настройки по подразбиране" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/ca.yml b/config/locales/crowdin/ca.yml index 605f21e37a06..fb5652ab5fba 100644 --- a/config/locales/crowdin/ca.yml +++ b/config/locales/crowdin/ca.yml @@ -195,8 +195,6 @@ ca: no_results_content_text: Crea un camp personalitzat nou concatenation: single: 'o' - documentation: - see_more_link: Per més informació, si us plau, veu la nostra documentació en relació amb aquest tòpic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -524,6 +522,7 @@ ca: hours: "Hores" spent_on: "Data" type: "Tipus" + ongoing: "En curs" type: description: "Text per defecte per la descripció" attribute_groups: '' @@ -1063,6 +1062,7 @@ ca: button_continue: "Continua" button_copy: "Copiar" button_copy_to_clipboard: "Copiar al porta-retalls" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copiar i continuar" button_create: "Crear" button_create_and_continue: "Crear i continuar" @@ -1408,21 +1408,21 @@ ca: journals: changes_retracted: "S'han retractat els canvis." caused_changes: - dates_changed: "Dates changed" + dates_changed: "Les dates han canviat" cause_descriptions: - work_package_predecessor_changed_times: by changes to predecessor %{link} - work_package_parent_changed_times: by changes to parent %{link} - work_package_children_changed_times: by changes to child %{link} - work_package_related_changed_times: by changes to related %{link} - unaccessable_work_package_changed: by changes to a related work package + work_package_predecessor_changed_times: per canvis en el predecessor %{link} + work_package_parent_changed_times: per canvis en el pare %{link} + work_package_children_changed_times: per canvis en el fill %{link} + work_package_related_changed_times: per canvis en el relacionat %{link} + unaccessable_work_package_changed: per canvis a un paquet de treball relacionat working_days_changed: - changed: "by changes to working days (%{changes})" + changed: "per canvis en els dies laborals (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} és ara laboral" + non_working: "%{day} és ara no laboral" dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} és ara laboral" + non_working: "%{date} és ara no laboral" links: configuration_guide: 'Guia de configuració' get_in_touch: "Tens preguntes? Posa't en contacte amb nosaltres." @@ -1489,6 +1489,7 @@ ca: label_age: "Edat" label_ago: "dies abans" label_all: "tot" + label_all_projects: "All projects" label_all_time: "tot el temps" label_all_words: "Totes les paraules" label_all_open_wps: "Tots els oberts" @@ -1505,6 +1506,7 @@ ca: label_ical_access_key_revoke: "Revoca" label_applied_status: "Estat aplicat" label_archive_project: "Arxiva el projecte" + label_archived_projects: "Archived projects" label_ascending: "Ascendent" label_assigned_to_me_work_packages: "Paquets de treball assignats a mi" label_associated_revisions: "Revisions associades" @@ -1641,6 +1643,7 @@ ca: label_everywhere: "a tot arreu" label_example: "Exemple" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Importació" label_export_to: "També disponible en:" label_expanded_click_to_collapse: "Desplegat. Fes clic per col·lapsar" @@ -1677,6 +1680,7 @@ ca: label_hierarchy_leaf: "Branca de jerarquia" label_home: "Inici" label_subject_or_id: "Subjecte o ID" + label_icalendar: "iCalendar" label_impressum: "Avís legal" label_in: "en" label_in_less_than: "en menys de" @@ -1720,7 +1724,7 @@ ca: label_logged_as: "Connectat com a" label_login: "Iniciar sessió" label_custom_logo: "Logotips personalitzats" - label_custom_export_logo: "Custom export logo" + label_custom_export_logo: "Exportar logo personalitzat" label_custom_favicon: "Favicon personalitzat" label_custom_touch_icon: "Icona \"touch\" personalitzada" label_logout: "Tancar sessió" @@ -2078,7 +2082,7 @@ ca: more_to_see: one: 'Hi ha un paquet de treball més amb notificacions.' other: 'Hi han %{count} paquets de treball més amb notificacions.' - open_in_browser: 'Open in browser' + open_in_browser: 'Obre al navegador' reason: watched: 'Observat' assigned: 'Assignat' @@ -2343,7 +2347,7 @@ ca: archived: "Arxivat" project_module_activity: "Activitat" project_module_forums: "Fòrums" - project_module_work_package_tracking: "Paquet de treball de seguiment" + project_module_work_package_tracking: "Paquets de treball" project_module_news: "Notícies" project_module_repository: "Repositori" project_module_wiki: "Wiki" @@ -2527,7 +2531,7 @@ ca: setting_enabled_scm: "Activar SCM" setting_enabled_projects_columns: "Visible en la llista de projectes" setting_feeds_enabled: "Habilita els canals" - setting_ical_enabled: "Activa la subscripció d'iCalendar" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Límit de contingut del canals" setting_file_max_size_displayed: "Mida màxima dels fitxers de text mostrats en línia" setting_host_name: "Nom del servidor" @@ -2591,34 +2595,21 @@ ca: setting_work_package_list_default_highlighted_attributes: "Atributs de destacament en línia per defecte" setting_working_days: "Dies laborals" settings: - general: "General" - other: "Altres" - passwords: "Contrasenyes" - session: "Sessió" - brute_force_prevention: "Bloqueig automàtic d'usuari" attachments: whitelist_text_html: > Defineix una llista vàlida d'extensions de fitxers i/o classes MIME per carregar fitxers.
    Introdueïx extensions de fitxers (ex. %{ext_example}) o classes MIME (ex. %{mime_example}).
    Deixa el camp buit per permetre qualsevol classe de fitxer. Es permeten múltiples valors (una línia per cada valor). + brute_force_prevention: "Bloqueig automàtic d'usuari" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Controla per a quins esdeveniments s''envien correus electrònics. Els paquets de treball estan exclosos d''aquesta llista, ja que les seves notificacions poden ser configurades específicament per a cada usuari.' - delay_minutes_explanation: "L'enviada de correus electrònics pot ser endarrerida per permetre als usuaris amb notificacions dins l'aplicació confirmar la notificació dins de l'aplicació abans que s'enviï. Els usuaris que han llegit la notificació a l'aplicació no rebran el correu electrònic, ja que ja han llegit la notificació." - display: + date_format: first_date_of_week_and_year_set: > - Si alguna de les opcions "%{day_of_week_setting_name}" o "%{first_week_setting_name}" estan configurades, l'altre ha d'estar també configurada per evitar inconsistències en l'aplicació. - first_week_of_year_text: > - Selecciona la data de gener que està continguda dins la primera setmana de l'any. Aquest valor conjuntament amb el primer dia de la setmana estipula el nombre total de setmanes de l'any. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Alerta! Risc de pèrdua de dades! Només activa les funcions experimentals si no t'importà desconfigurar la teva instal·lació d'OpenProject o perdre dades. warning_toast: Els marcadors de funcions són una funcionalitat que activa funcions que encara estan en desenvolupament. Només s'han d'utilitzar per a realitzar tests. No s'han d'activar mai a instal·lacions d'OpenProject amb dades importants. Aquestes funcions poden, molt probablement, corrompre les teves dades. Utilitza-les sota el teu propi risc. feature_flags: Marcadors de funcions - projects: - section_new_projects: "Configuració per a projectes nous" - section_project_overview: "Configuracions per a la llista de visió general del projecte" - user: - default_preferences: "Preferències per defecte" - display_format: "Format the visualització" - deletion: "Eliminació" highlighting: mode_long: inline: "Atribut(s) de destacament en línia" @@ -2626,6 +2617,23 @@ ca: status: "Fila sencera per Estat" type: "Fila sencera per Classe" priority: "Fila sencera per Prioritat" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Controla per a quins esdeveniments s''envien correus electrònics. Els paquets de treball estan exclosos d''aquesta llista, ja que les seves notificacions poden ser configurades específicament per a cada usuari.' + delay_minutes_explanation: "L'enviada de correus electrònics pot ser endarrerida per permetre als usuaris amb notificacions dins l'aplicació confirmar la notificació dins de l'aplicació abans que s'enviï. Els usuaris que han llegit la notificació a l'aplicació no rebran el correu electrònic, ja que ja han llegit la notificació." + other: "Altres" + passwords: "Contrasenyes" + projects: + section_new_projects: "Configuració per a projectes nous" + section_project_overview: "Configuracions per a la llista de visió general del projecte" + session: "Sessió" + user: + default_preferences: "Preferències per defecte" + display_format: "Format the visualització" + deletion: "Eliminació" working_days: section_work_week: "Setmana laboral" section_holidays_and_closures: "Vacances i tancaments" @@ -2668,11 +2676,11 @@ ca: text_custom_logo_instructions: > Es recomana un logo blanc amb fons transparent. Per a un millor resultat tant en pantalles retina o convencionals assegura't que la teva imatge té unes dimensions de 460px per 60px. text_custom_export_logo_instructions: > - This is the logo that appears in your PDF exports. It needs to be a PNG or JPEG image file. A black or colored logo on transparent or white background is recommended. + Aquest és logotip que apareix en les teves exportacions PDF. Necessita ser una imatge en format PNG o JPG. Es recomana un logotip negre o de color amb fons transparent o blanc. text_custom_favicon_instructions: > - This is the tiny icon that appears in your browser window/tab next to the page's title. It needs to be a squared 32 by 32 pixels sized PNG image file with a transparent background. + Aquest és la icona petita que apareix a la pantalla del navegador just al costat del títol de la pàgina. Ha de ser un PNG de 32 per 32 píxels amb un fons transparent. text_custom_touch_icon_instructions: > - This is the icon that appears in your mobile or tablet when you place a bookmark on your homescreen. It needs to be a squared 180 by 180 pixels sized PNG image file. Please make sure the image's background is not transparent otherwise it will look bad on iOS. + Aquesta és la icona que apareix en el teu telèfon mòbil o tauleta quan guardes la web com a "bookmark" a la teva pantalla d'inici. Ha de ser un PNG quadrat de 180 per 180 píxels. Si us plau, assegura't que el fons de la imatge no és transparent per un millor resultat en iOS. text_database_allows_tsv: "La base de dades permet TSVector (opcional)" text_default_administrator_account_changed: "S'ha canviat el compte d'administrador predeterminat" text_default_encoding: "Per defecte: UTF-8" diff --git a/config/locales/crowdin/ckb-IR.yml b/config/locales/crowdin/ckb-IR.yml index 54e9495364ed..50a61219d2c3 100644 --- a/config/locales/crowdin/ckb-IR.yml +++ b/config/locales/crowdin/ckb-IR.yml @@ -198,8 +198,6 @@ ckb-IR: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ ckb-IR: hours: "Hours" spent_on: "Date" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ ckb-IR: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1493,6 +1493,7 @@ ckb-IR: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ ckb-IR: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1645,6 +1647,7 @@ ckb-IR: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ ckb-IR: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2352,7 +2356,7 @@ ckb-IR: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2538,7 +2542,7 @@ ckb-IR: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2602,34 +2606,21 @@ ckb-IR: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ ckb-IR: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/cs.seeders.yml b/config/locales/crowdin/cs.seeders.yml index 6806c7fc3993..b6eed99d9e30 100644 --- a/config/locales/crowdin/cs.seeders.yml +++ b/config/locales/crowdin/cs.seeders.yml @@ -323,11 +323,11 @@ cs: name: Tabule úkolů lists: item_0: - name: Wish list + name: Seznam přání item_1: name: Short list item_2: - name: Priority list for today + name: Seznam priorit pro dnešek item_3: name: Nikdy project-overview: diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index b9c144470662..586d336f850c 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -198,8 +198,6 @@ cs: no_results_content_text: Vytvořit nové vlastní pole concatenation: single: 'nebo' - documentation: - see_more_link: Více informací naleznete v naší dokumentaci k tomuto tématu. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -530,6 +528,7 @@ cs: hours: "Hodiny" spent_on: "Datum" type: "Typ" + ongoing: "Ongoing" type: description: "Výchozí text pro popis" attribute_groups: '' @@ -1080,7 +1079,8 @@ cs: button_configure: "Přizpůsobit" button_continue: "Pokračovat" button_copy: "Kopírovat" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopírovat do schránky" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopírovat a pokračovat" button_create: "Vytvořit" button_create_and_continue: "Vytvořit a pokračovat" @@ -1460,8 +1460,8 @@ cs: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} je pracovní " + non_working: "%{day} je nepracovní " dates: working: "%{date} is now working" non_working: "%{date} is now non-working" @@ -1531,6 +1531,7 @@ cs: label_age: "Věk" label_ago: "dnů před" label_all: "vše" + label_all_projects: "All projects" label_all_time: "celkový čas" label_all_words: "Všechna slova" label_all_open_wps: "Všechny otevřené" @@ -1547,6 +1548,7 @@ cs: label_ical_access_key_revoke: "Revoke" label_applied_status: "Přiřazený stav" label_archive_project: "Archivovat projekt" + label_archived_projects: "Archived projects" label_ascending: "Vzestupně" label_assigned_to_me_work_packages: "Pracovní balíčky přidělené mně" label_associated_revisions: "Související revize" @@ -1633,7 +1635,7 @@ cs: label_database_version: "Verze PostgreSQL" label_date: "Datum" label_date_and_time: "Datum a čas" - label_date_format: "Date format" + label_date_format: "Formát data" label_date_from: "Od" label_date_from_to: "Od %{start} do %{end}" label_date_to: "Do" @@ -1682,7 +1684,8 @@ cs: label_equals: "je" label_everywhere: "všude" label_example: "Příklad" - label_experimental: "Experimental" + label_experimental: "Experimentální" + label_i_am_member: "I am member" label_import: "Importovat" label_export_to: "K dispozici:" label_expanded_click_to_collapse: "Rozbaleno. Klepnutím sbalte" @@ -1719,6 +1722,7 @@ cs: label_hierarchy_leaf: "Úroveň hierarchie" label_home: "Domů" label_subject_or_id: "Předmět nebo ID" + label_icalendar: "iCalendar" label_impressum: "Právní oznámení" label_in: "v" label_in_less_than: "za méně než" @@ -2393,7 +2397,7 @@ cs: archived: "Archivováno" project_module_activity: "Aktivita" project_module_forums: "Fóra" - project_module_work_package_tracking: "Sledování pracovních balíčků" + project_module_work_package_tracking: "Pracovní balíčky" project_module_news: "Novinky" project_module_repository: "Repozitář" project_module_wiki: "Wiki" @@ -2567,7 +2571,7 @@ cs: setting_consent_decline_mail: "Kontaktní e-mailová adresa pro souhlas" setting_cross_project_work_package_relations: "Povolit vztahy mezi projekty a pracovními balíčky" setting_first_week_of_year: "První týden v roce obsahuje" - setting_date_format: "Date" + setting_date_format: "Datum" setting_default_language: "Výchozí jazyk" setting_default_projects_modules: "Výchozí zapnutné moduly pro nový projekt" setting_default_projects_public: "Nové projekty nastavovat jako veřejné" @@ -2579,7 +2583,7 @@ cs: setting_enabled_scm: "Povolit SCM" setting_enabled_projects_columns: "Viditelné v seznamu projektů" setting_feeds_enabled: "Povolit kanály" - setting_ical_enabled: "Povolit odebírání iCalendar" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Limit obsahu kanálů" setting_file_max_size_displayed: "Maximální velikost textových souborů zobrazených přímo na stránce" setting_host_name: "Název serveru" @@ -2630,7 +2634,7 @@ cs: setting_start_of_week: "Začátek týdne" setting_sys_api_enabled: "Povolit webovou službu pro správu repositářů" setting_sys_api_description: "Webová služba pro správu repositářů poskytuje integraci a uživatelskou autorizaci pro přístup k repositářům." - setting_time_format: "Time" + setting_time_format: "Čas" setting_accessibility_mode_for_anonymous: "Povolit režim usnadnění pro anonymní uživatele" setting_user_format: "Formát uživatelského jména" setting_user_default_timezone: "Výchozí časové pásmo uživatele" @@ -2641,36 +2645,23 @@ cs: setting_welcome_on_homescreen: "Zobrazit uvítací blok na domovské obrazovce" setting_work_package_list_default_highlighting_mode: "Výchozí režim zvýraznění" setting_work_package_list_default_highlighted_attributes: "Výchozí inline zvýrazněné atributy" - setting_working_days: "Working days" + setting_working_days: "Pracovní dny" settings: - general: "Obecné" - other: "Ostatní" - passwords: "Hesla" - session: "Relace" - brute_force_prevention: "Automatizované blokování uživatelů" attachments: whitelist_text_html: > Definujte seznam platných přípon souborů a/nebo mime typů pro nahrané soubory.
    Zadejte přípony souborů (např. %{ext_example}) nebo mime typy (např. ., %{mime_example}).
    Ponechte prázdné pro nahrání jakéhokoli typu souboru. Povoleno více hodnot (jeden řádek pro každou hodnotu). + brute_force_prevention: "Automatizované blokování uživatelů" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože oznámení pro ně mohou být nastavena speciálně pro každého uživatele.' - delay_minutes_explanation: "Odesílání e-mailu může být pozdrženo, aby bylo uživatelům s nakonfigurovaným v oznámení aplikace před odesláním pošty potvrzeno oznámení. Uživatelé, kteří si přečtou oznámení v aplikaci, nedostanou e-mail pro již přečtené oznámení." - display: + date_format: first_date_of_week_and_year_set: > - Pokud jsou nastaveny možnosti buď "%{day_of_week_setting_name}" nebo "%{first_week_setting_name}", druhý je třeba nastavit také aby jste se vyhli nesrovnalostem na frontendu. - first_week_of_year_text: > - Vyberte datum ledna, které je obsaženo v prvním týdnu roku. Tato hodnota spolu s prvním dnem v týdnu určuje celkový počet týdnů v roce. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Obecné" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Nastavení pro nové projekty" - section_project_overview: "Nastavení přehledu seznamu projektu" - user: - default_preferences: "Výchozí předvolby" - display_format: "Formát zobrazení" - deletion: "Odstranění" highlighting: mode_long: inline: "Zvýraznit atributy vložené" @@ -2678,8 +2669,25 @@ cs: status: "Celý řádek podle stavu" type: "Celý řádek podle typu" priority: "Celý řádek podle priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Určuje, pro kterou událost je odeslán e-mail. Pracovní balíčky jsou z tohoto seznamu vyloučeny, protože oznámení pro ně mohou být nastavena speciálně pro každého uživatele.' + delay_minutes_explanation: "Odesílání e-mailu může být pozdrženo, aby bylo uživatelům s nakonfigurovaným v oznámení aplikace před odesláním pošty potvrzeno oznámení. Uživatelé, kteří si přečtou oznámení v aplikaci, nedostanou e-mail pro již přečtené oznámení." + other: "Ostatní" + passwords: "Hesla" + projects: + section_new_projects: "Nastavení pro nové projekty" + section_project_overview: "Nastavení přehledu seznamu projektu" + session: "Relace" + user: + default_preferences: "Výchozí předvolby" + display_format: "Formát zobrazení" + deletion: "Odstranění" working_days: - section_work_week: "Work week" + section_work_week: "Pracovní týden" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Zmenšení' diff --git a/config/locales/crowdin/da.yml b/config/locales/crowdin/da.yml index e698ab8c6841..305dae5a240c 100644 --- a/config/locales/crowdin/da.yml +++ b/config/locales/crowdin/da.yml @@ -196,8 +196,6 @@ da: no_results_content_text: Oprette en ny brugerdefineret felt concatenation: single: 'eller' - documentation: - see_more_link: For mere information, se vores dokumentation om dette emne. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -526,6 +524,7 @@ da: hours: "Timer" spent_on: "Dato" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1064,7 +1063,8 @@ da: button_configure: "Opsæt" button_continue: "Fortsæt" button_copy: "Kopier" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopiér til Udklipsholder" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopier og følg" button_create: "Opret" button_create_and_continue: "Opret og fortsæt" @@ -1491,6 +1491,7 @@ da: label_age: "Alder" label_ago: "dage siden" label_all: "alle" + label_all_projects: "All projects" label_all_time: "alle tider" label_all_words: "Alle ord" label_all_open_wps: "All open" @@ -1507,6 +1508,7 @@ da: label_ical_access_key_revoke: "Revoke" label_applied_status: "Tildelt status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Stigende" label_assigned_to_me_work_packages: "Mine tilknyttede arbejdspakker" label_associated_revisions: "Tilknyttede ændringer" @@ -1593,7 +1595,7 @@ da: label_database_version: "PostgreSQL version" label_date: "Dato" label_date_and_time: "Date and time" - label_date_format: "Date format" + label_date_format: "Datoformat" label_date_from: "Fra" label_date_from_to: "Fra %{start} til %{end}" label_date_to: "Til" @@ -1642,7 +1644,8 @@ da: label_equals: "er" label_everywhere: "everywhere" label_example: "Eksempel" - label_experimental: "Experimental" + label_experimental: "Eksperimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Også til rådighed i:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1679,6 +1682,7 @@ da: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Hjem" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "i" label_in_less_than: "på mindre end" @@ -2350,7 +2354,7 @@ da: archived: "Archived" project_module_activity: "Aktivivtet" project_module_forums: "Fora" - project_module_work_package_tracking: "Sporing af arbejdspakke" + project_module_work_package_tracking: "Arbejdspakker" project_module_news: "Nyheder" project_module_repository: "Projektarkiv" project_module_wiki: "Wiki" @@ -2522,7 +2526,7 @@ da: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Tillad forbindelser mellem arbejdspakker på tværs af projekter" setting_first_week_of_year: "Første uge i året indeholder" - setting_date_format: "Date" + setting_date_format: "Dato" setting_default_language: "Forhåndsvalgt sprog" setting_default_projects_modules: "Forhåndsvalgt aktive moduler for nye projekter" setting_default_projects_public: "Nye projekter er på forhånd sat som offentlige" @@ -2534,7 +2538,7 @@ da: setting_enabled_scm: "Aktiver SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Aktiver feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Grænse for indhold af feeds" setting_file_max_size_displayed: "Maksimal størrelse af tekstfiler, der vises inline" setting_host_name: "Værtsnavn" @@ -2585,7 +2589,7 @@ da: setting_start_of_week: "Week starts on" setting_sys_api_enabled: "Aktiver repositorieadministrations-webtjeneste" setting_sys_api_description: "Repositorieadministration-webtjenesten sørger for integration og brugertilladelse for adgang til repositorier." - setting_time_format: "Time" + setting_time_format: "Tidspunkt" setting_accessibility_mode_for_anonymous: "Aktivér tilgængelighedstilstand for anonyme brugere" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2598,34 +2602,21 @@ da: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Generelle" - other: "Andet" - passwords: "Adgangskoder" - session: "Session" - brute_force_prevention: "Automatiseret brugerblokering" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automatiseret brugerblokering" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Vælg datoen for januar, der er indeholdt i den første uge af året. Denne værdi afgør, sammen med den første dag i ugen, det samlede antal uger i et år. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Generelle" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2633,6 +2624,23 @@ da: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Andet" + passwords: "Adgangskoder" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index 78ae61da45e6..29ad00f3f9ff 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -195,8 +195,6 @@ de: no_results_content_text: Neues benutzerdefiniertes Feld anlegen concatenation: single: 'oder' - documentation: - see_more_link: Weitere Informationen finden Sie in unserer Dokumentation zu diesem Thema. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -275,7 +273,7 @@ de: sessions: session_name: "%{browser_name} %{browser_version} unter %{os_name}" browser: 'Browser' - device: 'Device / OS' + device: 'Gerät / Betriebssystem' unknown_browser: 'unbekannter Browser' unknown_os: 'unbekanntes Betriebssystem' current: 'Aktuelle Sitzung' @@ -523,6 +521,7 @@ de: hours: "Stunden" spent_on: "Datum" type: "Art" + ongoing: "Fortlaufend" type: description: "Standardtext für Beschreibung" attribute_groups: '' @@ -1062,6 +1061,7 @@ de: button_continue: "Fortfahren" button_copy: "Kopieren" button_copy_to_clipboard: "In Zwischenablage kopieren" + button_copy_link_to_clipboard: "Link in Zwischenablage kopieren" button_copy_and_follow: "Kopieren und Arbeitspaket anzeigen" button_create: "Anlegen" button_create_and_continue: "Anlegen und weiter" @@ -1407,21 +1407,21 @@ de: journals: changes_retracted: "Die Änderungen wurden zurückgezogen." caused_changes: - dates_changed: "Dates changed" + dates_changed: "Datum geändert" cause_descriptions: - work_package_predecessor_changed_times: by changes to predecessor %{link} - work_package_parent_changed_times: by changes to parent %{link} - work_package_children_changed_times: by changes to child %{link} - work_package_related_changed_times: by changes to related %{link} - unaccessable_work_package_changed: by changes to a related work package + work_package_predecessor_changed_times: durch Änderungen am Vorgänger %{link} + work_package_parent_changed_times: durch Änderungen am übergeordneten Arbeitspaket %{link} + work_package_children_changed_times: durch Änderungen an Kind-Arbeitspaket %{link} + work_package_related_changed_times: durch Änderungen an verwandtem Arbeitspaket %{link} + unaccessable_work_package_changed: nach Änderungen an einem zugehörigen Arbeitspaket working_days_changed: - changed: "by changes to working days (%{changes})" + changed: "Durch Änderungen an Werktagen (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} ist jetzt ein Arbeitstag" + non_working: "%{day} ist jetzt kein Arbeitstag" dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} ist jetzt ein Arbeitstag" + non_working: "%{date} ist jetzt ein arbeitsfreier Tag" links: configuration_guide: 'Konfigurationsanleitung' get_in_touch: "Sie haben Fragen? Nehmen Sie Kontakt mit uns auf." @@ -1488,6 +1488,7 @@ de: label_age: "Geändert vor" label_ago: "vor (Tage)" label_all: "alle" + label_all_projects: "Alle Projekte" label_all_time: "gesamter Zeitraum" label_all_words: "Alle Wörter" label_all_open_wps: "Alle offenen" @@ -1504,6 +1505,7 @@ de: label_ical_access_key_revoke: "Widerrufen" label_applied_status: "Zugewiesener Status" label_archive_project: "Projekt archivieren" + label_archived_projects: "Archivierte Projekte" label_ascending: "Aufsteigend" label_assigned_to_me_work_packages: "Mir zugewiesene Arbeitspakete" label_associated_revisions: "Zugehörige Revisionen" @@ -1639,7 +1641,8 @@ de: label_equals: "ist" label_everywhere: "überall" label_example: "Beispiel" - label_experimental: "Experimental" + label_experimental: "Experimentel" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Auch abrufbar als:" label_expanded_click_to_collapse: "Erweitert. Klicken Sie zum Ausblenden" @@ -1676,6 +1679,7 @@ de: label_hierarchy_leaf: "Hierarchie-Blatt" label_home: "Hauptseite" label_subject_or_id: "Titel oder ID" + label_icalendar: "iCalendar" label_impressum: "Impressum" label_in: "an" label_in_less_than: "in weniger als" @@ -1719,7 +1723,7 @@ de: label_logged_as: "Angemeldet als" label_login: "Anmelden" label_custom_logo: "Benutzerdefiniertes Logo" - label_custom_export_logo: "Custom export logo" + label_custom_export_logo: "Selbstdefiniertes Logo für PDF-Export" label_custom_favicon: "Benutzerdefiniertes Favicon" label_custom_touch_icon: "Benutzerdefiniertes Touch-Icon" label_logout: "Abmelden" @@ -2077,7 +2081,7 @@ de: more_to_see: one: 'Es gibt ein weiteres Arbeitspaket mit Benachrichtigungen.' other: 'Es gibt %{count} weitere Arbeitspakete mit Benachrichtigungen.' - open_in_browser: 'Open in browser' + open_in_browser: 'Im Browser öffnen' reason: watched: 'Beobachtet' assigned: 'Zugewiesen' @@ -2347,7 +2351,7 @@ de: archived: "Archiviert" project_module_activity: "Aktivität" project_module_forums: "Foren" - project_module_work_package_tracking: "Arbeitspakete-Verfolgung" + project_module_work_package_tracking: "Arbeitspakete" project_module_news: "Neuigkeiten" project_module_repository: "Projektarchiv" project_module_wiki: "Wiki" @@ -2533,7 +2537,7 @@ de: setting_enabled_scm: "Aktivierte Versionskontrollsysteme" setting_enabled_projects_columns: "In der Projektliste sichtbar" setting_feeds_enabled: "Feeds aktiviert" - setting_ical_enabled: "iCalendar-Abonnements aktivieren" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Max. Anzahl Einträge pro Atom-Feed" setting_file_max_size_displayed: "Maximale Größe inline angezeigter Textdateien" setting_host_name: "Hostname" @@ -2597,41 +2601,45 @@ de: setting_work_package_list_default_highlighted_attributes: "Voreinstellung Inline Hervorherbung" setting_working_days: "Arbeitstage" settings: - general: "Allgemein" - other: "Andere" - passwords: "Passwörter" - session: "Sitzung" - brute_force_prevention: "Automatisches Sperren von Benutzern" attachments: whitelist_text_html: > Legen Sie eine Liste gültiger Dateierweiterungen und/oder Mime-Typen für hochgeladene Dateien fest.
    Dateierweiterungen (z. B. %{ext_example}) oder Mime-Typen (z. ., %{mime_example}).
    Lassen Sie diese Liste leer, um das Hochladen beliebiger Dateitypen zu erlauben. Mehrere Werte erlaubt (eine Zeile pro Wert). - language_name_being_default: '%{language_name} (default)' + brute_force_prevention: "Automatisches Sperren von Benutzern" + language_name_being_default: '%{language_name} (Standard)' + date_format: + first_date_of_week_and_year_set: > + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Allgemein" + experimental: + save_confirmation: Achtung! Risiko für Datenverlust! Aktivieren Sie diese experimentelle Funktionen nur, wenn diese Instanz zu Testzwecken verwendet wird und Datenverlust oder -korruption akzeptiert wird. + warning_toast: Feature Flags sind Einstellungen, die Funktionen aktivieren, die noch in Entwicklung sind. Sie werden nur für Testzwecke verwendet. Sie sollten niemals in OpenProject Installationen aktiviert werden, die produktive Daten enthalten. Diese Funktionen werden sehr wahrscheinlich Ihre Daten beschädigen. Verwenden Sie diese Optionen auf eigene Gefahr. + feature_flags: Feature Flags + highlighting: + mode_long: + inline: "Inline hervorgehobene Attribute" + none: "Keine Hervorhebung" + status: "Ganze Zeile nach Status" + type: "Ganze Zeile nach Typ" + priority: "Ganze Zeile nach Priorität" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. notifications: events_explanation: 'Bestimmt, für welche Ereignisse eine E-Mail verschickt wird. Arbeitspakete sind von dieser Liste ausgeschlossen, da die Benachrichtigungen hierfür pro Benutzer konfiguriert werden können.' delay_minutes_explanation: "Das Senden von E-Mails kann verzögert werden, damit Benutzer über In-App-Benachrichtigungen benachrichtigt werden können, bevor eine E-Mail versendet wird. Benutzer, die eine Benachrichtigung innerhalb der Anwendung lesen, erhalten keine separate E-Mail." - display: - first_date_of_week_and_year_set: > - Wenn beide Optionen "%{day_of_week_setting_name}" oder "%{first_week_setting_name}" gesetzt sind der andere muss ebenfalls gesetzt werden, um Ungereimtheiten im Frontend zu vermeiden. - first_week_of_year_text: > - Wählen Sie das Datum vom Januar, das in der ersten Woche des Jahres enthalten ist. Dieser Wert zusammen mit dem ersten Wochentag bestimmt die Gesamtzahl der Wochen in einem Jahr. - experimental: - save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. - warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. - feature_flags: Feature flags + other: "Andere" + passwords: "Passwörter" projects: section_new_projects: "Einstellungen für neue Projekte" section_project_overview: "Einstellungen für Projektliste" + session: "Sitzung" user: default_preferences: "Standardeinstellungen" display_format: "Anzeigeformat" deletion: "Löschen" - highlighting: - mode_long: - inline: "Inline hervorgehobene Attribute" - none: "Keine Hervorhebung" - status: "Ganze Zeile nach Status" - type: "Ganze Zeile nach Typ" - priority: "Ganze Zeile nach Priorität" working_days: section_work_week: "Arbeitswoche" section_holidays_and_closures: "Feiertage und Schließungen" @@ -2674,11 +2682,11 @@ de: text_custom_logo_instructions: > Ein weißes Logo mit transparentem Hintergrund wird empfohlen. Für ein optimales Ergebnis für konventionelle und Retina-Displays sollte die Bildabmessungen 460 x 110 Pixel betragen. text_custom_export_logo_instructions: > - This is the logo that appears in your PDF exports. It needs to be a PNG or JPEG image file. A black or colored logo on transparent or white background is recommended. + Dies ist das Logo, das in Ihren PDF-Exporten erscheint. Es muss eine PNG- oder JPEG-Bilddatei sein. Ein schwarzes oder farbiges Logo auf transparentem oder weißem Hintergrund wird empfohlen. text_custom_favicon_instructions: > - This is the tiny icon that appears in your browser window/tab next to the page's title. It needs to be a squared 32 by 32 pixels sized PNG image file with a transparent background. + Dies ist das kleine Symbol, das in Ihrem Browser-Fenster/Tab neben dem Seitentitel angezeigt wird. Es muss ein quadratisches 32 x 32 Pixel großes PNG mit transparentem Hintergrund sein. text_custom_touch_icon_instructions: > - This is the icon that appears in your mobile or tablet when you place a bookmark on your homescreen. It needs to be a squared 180 by 180 pixels sized PNG image file. Please make sure the image's background is not transparent otherwise it will look bad on iOS. + Dieses Symbol wird auf Ihrem Mobilgerät oder Tablet angezeigt, wenn Sie ein Lesezeichen dieser OpenProject-Instanz erstellen. Es muss ein quadratisches 180 x 180 Pixel großes PNG sein. Der Hintergrund sollte nicht transparent sein, da dies auf iOS-Geräten nicht optimal dargestellt wird. text_database_allows_tsv: "Datenbank unterstützt TSVector (optional)" text_default_administrator_account_changed: "Administrator-Kennwort geändert" text_default_encoding: "Default: UTF-8" diff --git a/config/locales/crowdin/el.yml b/config/locales/crowdin/el.yml index bfbded03436e..d7eda6b66dff 100644 --- a/config/locales/crowdin/el.yml +++ b/config/locales/crowdin/el.yml @@ -194,8 +194,6 @@ el: no_results_content_text: Δημιουργία νέου προσαρμοσμένου πεδίου concatenation: single: 'ή' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -524,6 +522,7 @@ el: hours: "Ώρες" spent_on: "Ημερομηνία" type: "Τύπος" + ongoing: "Ongoing" type: description: "Προεπιλεγμένο κείμενο για την περιγραφή" attribute_groups: '' @@ -1062,7 +1061,8 @@ el: button_configure: "Ρύθμιση παραμέτρων" button_continue: "Συνέχεια" button_copy: "Αντιγραφή" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Αντιγραφή στο πρόχειρο" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Αντιγραφή και ακολούθηση" button_create: "Δημιουργία" button_create_and_continue: "Δημιουργία και συνέχεια" @@ -1489,6 +1489,7 @@ el: label_age: "Ηλικία" label_ago: "ημέρες πριν" label_all: "όλα" + label_all_projects: "All projects" label_all_time: "πάντα" label_all_words: "Όλες οι λέξεις" label_all_open_wps: "Όλα τα ανοιχτά" @@ -1505,6 +1506,7 @@ el: label_ical_access_key_revoke: "Ανάκληση" label_applied_status: "Εφαρμόστηκε η κατάσταση" label_archive_project: "Αρχειοθέτηση έργου" + label_archived_projects: "Archived projects" label_ascending: "Αύξουσα" label_assigned_to_me_work_packages: "Πακέτα εργασίας που έχουν ανατεθεί σε μένα" label_associated_revisions: "Σχετικές αναθεωρήσεις" @@ -1591,7 +1593,7 @@ el: label_database_version: "Έκδοση PostgreSQL" label_date: "Ημερομηνία" label_date_and_time: "Ημερομηνία και ώρα" - label_date_format: "Date format" + label_date_format: "Μορφηποίηση ημερομηνίας" label_date_from: "Από" label_date_from_to: "Από %{start} έως %{end}" label_date_to: "Έως" @@ -1640,7 +1642,8 @@ el: label_equals: "είναι" label_everywhere: "παντού" label_example: "Παράδειγμα" - label_experimental: "Experimental" + label_experimental: "Πειραματικό" + label_i_am_member: "I am member" label_import: "Εισαγωγή" label_export_to: "Επίσης διαθέσιμο σε:" label_expanded_click_to_collapse: "Επεκταμένο. Πατήστε για σύμπτυξη" @@ -1677,6 +1680,7 @@ el: label_hierarchy_leaf: "Φύλλο ιεραρχίας" label_home: "Αρχική" label_subject_or_id: "Θέμα ή ταυτότητα" + label_icalendar: "iCalendar" label_impressum: "Νομική Ειδοποίηση" label_in: "σε" label_in_less_than: "σε λιγότερο από" @@ -2347,7 +2351,7 @@ el: archived: "Αρχειοθετημένο" project_module_activity: "Δραστηριότητα" project_module_forums: "Φόρουμ" - project_module_work_package_tracking: "Παρακολούθηση πακέτου εργασίας" + project_module_work_package_tracking: "Πακέτα εργασίας" project_module_news: "Νέα" project_module_repository: "Αποθετήριο" project_module_wiki: "Wiki" @@ -2521,7 +2525,7 @@ el: setting_consent_decline_mail: "Συγκατάθεση επικοινωνίας διεύθυνσης email" setting_cross_project_work_package_relations: "Επιτρέψτε συσχετισμό πακέτων εργασίας μεταξύ έργων" setting_first_week_of_year: "Η πρώτη εβδομάδα του έτους περιέχει" - setting_date_format: "Date" + setting_date_format: "Ημερομηνία" setting_default_language: "Προεπιλεγμένη γλώσσα" setting_default_projects_modules: "Ενότητα ενεργοποιημένες από προεπιλογή για τα νέα έργα" setting_default_projects_public: "Τα νέα έργα είναι δημόσια από προεπιλογή" @@ -2533,7 +2537,7 @@ el: setting_enabled_scm: "Ενεργοποίηση SCM" setting_enabled_projects_columns: "Ορατό στη λίστα έργων" setting_feeds_enabled: "Ενεργοποίηση Τροφοδοσιών" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Όριο συγκατάθεσης τροφοδοσίας" setting_file_max_size_displayed: "Μέγιστο μέγεθος αρχείων κειμένου που εμφανίζονται inline" setting_host_name: "Όνομα εξυπηρετητή" @@ -2584,7 +2588,7 @@ el: setting_start_of_week: "Η εβδομάδα ξεκινά από" setting_sys_api_enabled: "Ενεργοποίηση του web service διαχείρισης αποθετηρίων" setting_sys_api_description: "Το web service διαχείρισης αποθετηρίων παρέχει ενσωμάτωση και αυθεντικοποίηση χρήστη για την πρόσβαση σε αποθετήρια." - setting_time_format: "Time" + setting_time_format: "Ώρα" setting_accessibility_mode_for_anonymous: "Ενεργοποίηση της λειτουργίας προσβασιμότητας για ανώνυμους χρήστες" setting_user_format: "Users name format" setting_user_default_timezone: "Προεπιλεγμένη ζώνη ώρας του χρήστη" @@ -2597,34 +2601,21 @@ el: setting_work_package_list_default_highlighted_attributes: "Προεπιλεγμένα inline χαρακτηριστικά με επισήμανση" setting_working_days: "Working days" settings: - general: "Γενικά" - other: "Άλλο" - passwords: "Κωδικοί πρόσβασης" - session: "Συνεδρία" - brute_force_prevention: "Αυτόματο μπλοκάρισμα χρήστη" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Αυτόματο μπλοκάρισμα χρήστη" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Γενικά" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Ρυθμίσεις για νέα έργα" - section_project_overview: "Ρυθμίσεις για τη λίστα επισκόπησης έργου" - user: - default_preferences: "Προεπιλεγμένες προτιμήσεις" - display_format: "Display format" - deletion: "Διαγραφή" highlighting: mode_long: inline: "Επισήμανση χαρακτηριστικού(-ών) inline" @@ -2632,6 +2623,23 @@ el: status: "Ολόκληρη η σειρά ανά Κατάσταση" type: "Ολόκληρη η σειρά ανά Τύπο" priority: "Ολόκληρη η σειρά ανά Προτεραιότητα" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Άλλο" + passwords: "Κωδικοί πρόσβασης" + projects: + section_new_projects: "Ρυθμίσεις για νέα έργα" + section_project_overview: "Ρυθμίσεις για τη λίστα επισκόπησης έργου" + session: "Συνεδρία" + user: + default_preferences: "Προεπιλεγμένες προτιμήσεις" + display_format: "Display format" + deletion: "Διαγραφή" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/eo.yml b/config/locales/crowdin/eo.yml index 9914d734d933..d2cb040d342b 100644 --- a/config/locales/crowdin/eo.yml +++ b/config/locales/crowdin/eo.yml @@ -198,8 +198,6 @@ eo: no_results_content_text: Krei novan adaptitan kampon concatenation: single: 'aŭ' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Vikio" @@ -528,6 +526,7 @@ eo: hours: "Horoj" spent_on: "Dato" type: "Tipo" + ongoing: "Ongoing" type: description: "Defaŭlta teksto por priskribo" attribute_groups: '' @@ -1066,7 +1065,8 @@ eo: button_configure: "Agordi" button_continue: "Daŭrigi" button_copy: "Kopii" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopii al la tondujo" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Krei" button_create_and_continue: "Krei kaj daŭrigi" @@ -1493,6 +1493,7 @@ eo: label_age: "Aĝo" label_ago: "tagoj antaŭe" label_all: "ĉiuj" + label_all_projects: "All projects" label_all_time: "ĉiam" label_all_words: "Ĉiuj vortoj" label_all_open_wps: "Ĉio malfermita" @@ -1509,6 +1510,7 @@ eo: label_ical_access_key_revoke: "Eksvalidigi" label_applied_status: "Aplikita stato" label_archive_project: "Aktivi projekton" + label_archived_projects: "Archived projects" label_ascending: "Kreskante" label_assigned_to_me_work_packages: "Laborpakaĵoj asignitaj al mi" label_associated_revisions: "Ligitaj revizioj" @@ -1645,6 +1647,7 @@ eo: label_everywhere: "everywhere" label_example: "Ekzemplo" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Importi" label_export_to: "Krome disponebla ĉe:" label_expanded_click_to_collapse: "Etendita. Klaki por maletendi" @@ -1681,6 +1684,7 @@ eo: label_hierarchy_leaf: "Hierarkia folio" label_home: "Ĉefpaĝo" label_subject_or_id: "Temo aŭ ID" + label_icalendar: "iCalendar" label_impressum: "Leĝa atentigo" label_in: "en" label_in_less_than: "en malpli ol" @@ -2352,7 +2356,7 @@ eo: archived: "Archived" project_module_activity: "Aktiveco" project_module_forums: "Forumoj" - project_module_work_package_tracking: "Laborpakaĵa spurado" + project_module_work_package_tracking: "Laborpakaĵoj" project_module_news: "Novaĵoj" project_module_repository: "Deponejo" project_module_wiki: "Vikio" @@ -2526,7 +2530,7 @@ eo: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Dato" setting_default_language: "Default language" setting_default_projects_modules: "Default enabled modules for new projects" setting_default_projects_public: "New projects are public by default" @@ -2538,7 +2542,7 @@ eo: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2602,34 +2606,21 @@ eo: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Aliaj" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ eo: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Aliaj" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index d5a18d7c869d..aa8e2f59a3a6 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -195,8 +195,6 @@ es: no_results_content_text: Crear un nuevo campo personalizado concatenation: single: 'o bien' - documentation: - see_more_link: Para obtener más información, consulte la documentación sobre este tema. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -525,6 +523,7 @@ es: hours: "Horas" spent_on: "Fecha" type: "Tipo" + ongoing: "Ongoing" type: description: "Texto predeterminado para descripción" attribute_groups: '' @@ -1063,7 +1062,8 @@ es: button_configure: "Configurar" button_continue: "Continuar" button_copy: "Copiar" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copiar en el portapapeles" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copiar y seguir" button_create: "Crear" button_create_and_continue: "Crear y continuar" @@ -1419,8 +1419,8 @@ es: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} es ahora laboral" + non_working: "%{day} es ahora no laboral" dates: working: "%{date} is now working" non_working: "%{date} is now non-working" @@ -1490,6 +1490,7 @@ es: label_age: "Edad" label_ago: "días antes" label_all: "todos" + label_all_projects: "All projects" label_all_time: "todo el tiempo" label_all_words: "Todas las palabras" label_all_open_wps: "Todo abierto" @@ -1506,6 +1507,7 @@ es: label_ical_access_key_revoke: "Revocar" label_applied_status: "Estado aplicado" label_archive_project: "Archivar proyecto" + label_archived_projects: "Archived projects" label_ascending: "Ascendente" label_assigned_to_me_work_packages: "Paquetes de trabajo asignados a mí" label_associated_revisions: "Revisiones asociadas" @@ -1592,7 +1594,7 @@ es: label_database_version: "Versión de PostgreSQL" label_date: "Fecha" label_date_and_time: "Fecha y hora" - label_date_format: "Date format" + label_date_format: "Formato de fecha" label_date_from: "De" label_date_from_to: "De %{start} al %{end}" label_date_to: "Para" @@ -1642,6 +1644,7 @@ es: label_everywhere: "todo" label_example: "Ejemplo" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Importar" label_export_to: "También disponible en:" label_expanded_click_to_collapse: "Expandido. Haga clic para contraer" @@ -1678,6 +1681,7 @@ es: label_hierarchy_leaf: "Hoja de jerarquía" label_home: "Inicio" label_subject_or_id: "Asunto o ID" + label_icalendar: "iCalendar" label_impressum: "Aviso legal" label_in: "en" label_in_less_than: "en menos de" @@ -2348,7 +2352,7 @@ es: archived: "Archivado" project_module_activity: "Actividad" project_module_forums: "Foros" - project_module_work_package_tracking: "Seguimiento de paquetes de trabajo" + project_module_work_package_tracking: "Paquetes de trabajo" project_module_news: "Noticias" project_module_repository: "Repositorio" project_module_wiki: "Wiki" @@ -2522,7 +2526,7 @@ es: setting_consent_decline_mail: "Consentimiento de la dirección de correo electrónico" setting_cross_project_work_package_relations: "Permitir relaciones cruzadas en paquetes de trabajo de proyecto" setting_first_week_of_year: "La primera semana del año contiene" - setting_date_format: "Date" + setting_date_format: "Fecha" setting_default_language: "Idioma predeterminado" setting_default_projects_modules: "Modulos activados por defecto para nuevos proyectos" setting_default_projects_public: "Nuevos proyectos son públicos por defecto" @@ -2534,7 +2538,7 @@ es: setting_enabled_scm: "SCM activado" setting_enabled_projects_columns: "Visible en la lista de proyectos" setting_feeds_enabled: "Activar Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Limite de contenido de feed" setting_file_max_size_displayed: "Tamaño máximo de archivos de texto mostrado en linea" setting_host_name: "Nombre de host" @@ -2585,7 +2589,7 @@ es: setting_start_of_week: "La semana empieza el" setting_sys_api_enabled: "Habilitar el servicio web de administración de repositorios" setting_sys_api_description: "El servicio web de administración de repositorios proporciona integración y autorización de usuario para acceder a los repositorios." - setting_time_format: "Time" + setting_time_format: "Tiempo" setting_accessibility_mode_for_anonymous: "Activar el modo de accesibilidad para usuarios anónimos" setting_user_format: "Users name format" setting_user_default_timezone: "Zona horaria por defecto de los usuarios" @@ -2596,36 +2600,23 @@ es: setting_welcome_on_homescreen: "Mostrar bloque de bienvenida en la pagina de inicio" setting_work_package_list_default_highlighting_mode: "Modo de resaltado predeterminado" setting_work_package_list_default_highlighted_attributes: "Atributos resaltados en línea predeterminados" - setting_working_days: "Working days" + setting_working_days: "Días laborables" settings: - general: "General" - other: "Otros" - passwords: "Contraseñas" - session: "Sesión" - brute_force_prevention: "Bloqueo automático de usuarios" attachments: whitelist_text_html: > Define una lista de extensiones de archivo válidas o tipos MIME para los archivos cargados.
    Escriba las extensiones de archivo (por ejemplo, %{ext_example}) o tipos MIME (%{mime_example}).
    Deje vacío este campo para que pueda cargarse cualquier tipo de archivo. Se permiten varios valores (una línea para cada valor). + brute_force_prevention: "Bloqueo automático de usuarios" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Controla para qué evento se envía un correo electrónico. Los paquetes de trabajo se excluyen de esta lista, ya que las notificaciones para estos se pueden configurar específicamente por usuario.' - delay_minutes_explanation: "El envío de correos electrónicos se puede retrasar para permitir que los usuarios que reciban notificaciones en la aplicación puedan confirmarlas desde la aplicación antes de que se envíe un correo. Los usuarios que lean notificaciones en la aplicación no recibirán correos electrónicos de las notificaciones ya leídas." - display: + date_format: first_date_of_week_and_year_set: > - Si se establece una de las opciones «%{day_of_week_setting_name}» o «%{first_week_setting_name}», también debe establecerse la otra para evitar incoherencias en el front-end. - first_week_of_year_text: > - Seleccione la fecha de enero de la primera semana del año. Este valor y el primer día de la semana determinan el número total de semanas de un año. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Configuración para nuevos proyectos" - section_project_overview: "Configuración de la lista de información general del proyecto" - user: - default_preferences: "Preferencias predeterminadas" - display_format: "Display format" - deletion: "Eliminación" highlighting: mode_long: inline: "Resaltar atributos en línea" @@ -2633,8 +2624,25 @@ es: status: "Toda la fila por estado" type: "Toda la fila por tipo" priority: "Toda la fila por prioridad" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Controla para qué evento se envía un correo electrónico. Los paquetes de trabajo se excluyen de esta lista, ya que las notificaciones para estos se pueden configurar específicamente por usuario.' + delay_minutes_explanation: "El envío de correos electrónicos se puede retrasar para permitir que los usuarios que reciban notificaciones en la aplicación puedan confirmarlas desde la aplicación antes de que se envíe un correo. Los usuarios que lean notificaciones en la aplicación no recibirán correos electrónicos de las notificaciones ya leídas." + other: "Otros" + passwords: "Contraseñas" + projects: + section_new_projects: "Configuración para nuevos proyectos" + section_project_overview: "Configuración de la lista de información general del proyecto" + session: "Sesión" + user: + default_preferences: "Preferencias predeterminadas" + display_format: "Display format" + deletion: "Eliminación" working_days: - section_work_week: "Work week" + section_work_week: "Semana de trabajo" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/et.yml b/config/locales/crowdin/et.yml index a675941e0daa..31cba4756b35 100644 --- a/config/locales/crowdin/et.yml +++ b/config/locales/crowdin/et.yml @@ -198,8 +198,6 @@ et: no_results_content_text: Create a new custom field concatenation: single: 'või' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Viki" @@ -528,6 +526,7 @@ et: hours: "Tunnid" spent_on: "Kuupäev" type: "Tüüp" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ et: button_continue: "Jätka" button_copy: "Kopeeri" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopeeri ja järgne" button_create: "Loo uus" button_create_and_continue: "Loo uus ja jätka" @@ -1493,6 +1493,7 @@ et: label_age: "Vanus" label_ago: "päeva tagasi" label_all: "kõik" + label_all_projects: "All projects" label_all_time: "kogu aeg" label_all_words: "Kõik sõnad" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ et: label_ical_access_key_revoke: "Võta tagasi" label_applied_status: "Rakendatud olek" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Kasvav" label_assigned_to_me_work_packages: "Minu teemad" label_associated_revisions: "Seotud muudatused" @@ -1595,7 +1597,7 @@ et: label_database_version: "PostgreSQL version" label_date: "Kuupäev" label_date_and_time: "Kuupäev ja kellaaeg" - label_date_format: "Date format" + label_date_format: "Kuupäevaformaat" label_date_from: "Algus" label_date_from_to: "Kuupäevast %{start} kuni %{end}" label_date_to: "Lõpp" @@ -1645,6 +1647,7 @@ et: label_everywhere: "everywhere" label_example: "Näide" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Saadaval ka:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ et: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Avaleht" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "sisaldub hulgas" label_in_less_than: "on väiksem kui" @@ -2352,7 +2356,7 @@ et: archived: "Archived" project_module_activity: "Tegevus" project_module_forums: "Foorumid" - project_module_work_package_tracking: "Teemasid jälgida" + project_module_work_package_tracking: "Teemad" project_module_news: "Uudised" project_module_repository: "Hoidla" project_module_wiki: "Viki" @@ -2526,7 +2530,7 @@ et: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Võimalda seostada teemasid teistest projektidest" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Kuupäev" setting_default_language: "Vaikimisi keel" setting_default_projects_modules: "Uue projekti vaikimisi moodulid" setting_default_projects_public: "Uued projektid on vaikimisi avalikud" @@ -2538,7 +2542,7 @@ et: setting_enabled_scm: "Kasutatavad lähtekoodi haldusvahendid" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Luba tellitavaid uudisvoogusid" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Uudisvoogude suurim uudiste arv" setting_file_max_size_displayed: "Teksti sees kuvatava tekstifaili maksimaalne suurus" setting_host_name: "Serveri nimi ja teerada" @@ -2589,7 +2593,7 @@ et: setting_start_of_week: "Week starts on" setting_sys_api_enabled: "Enable repository management web service" setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." - setting_time_format: "Time" + setting_time_format: "Aeg" setting_accessibility_mode_for_anonymous: "Võimalda külalistel kasutada hõlbustus- ja juurdepääsetavusrežiimi" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2602,34 +2606,21 @@ et: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Üldine" - other: "Muu" - passwords: "Paroolid" - session: "Seanss" - brute_force_prevention: "Automatiseeritud kasutajate blokeerimine" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automatiseeritud kasutajate blokeerimine" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Üldine" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ et: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Muu" + passwords: "Paroolid" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Seanss" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml index 91d2e6adf947..3f919340dfb1 100644 --- a/config/locales/crowdin/eu.yml +++ b/config/locales/crowdin/eu.yml @@ -198,8 +198,6 @@ eu: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wikia" @@ -528,6 +526,7 @@ eu: hours: "Orduak" spent_on: "Date" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ eu: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1493,6 +1493,7 @@ eu: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ eu: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1645,6 +1647,7 @@ eu: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ eu: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2352,7 +2356,7 @@ eu: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wikia" @@ -2538,7 +2542,7 @@ eu: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2589,7 +2593,7 @@ eu: setting_start_of_week: "Week starts on" setting_sys_api_enabled: "Enable repository management web service" setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." - setting_time_format: "Time" + setting_time_format: "Ordua" setting_accessibility_mode_for_anonymous: "Enable accessibility mode for anonymous users" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2602,34 +2606,21 @@ eu: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Beste bat" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ eu: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Beste bat" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/fa.yml b/config/locales/crowdin/fa.yml index 5a0a3e1b5ea8..230ffb1aedec 100644 --- a/config/locales/crowdin/fa.yml +++ b/config/locales/crowdin/fa.yml @@ -198,8 +198,6 @@ fa: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "دانشنامه" @@ -528,6 +526,7 @@ fa: hours: "ساعت‌‌‌‌‌‌" spent_on: "تاریخ" type: "نوع" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ fa: button_continue: "Continue" button_copy: "کپی" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "کپی کنید و دنبال کردن" button_create: "ایجاد" button_create_and_continue: "ذخیره و ادامه" @@ -1493,6 +1493,7 @@ fa: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ fa: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1645,6 +1647,7 @@ fa: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ fa: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2352,7 +2356,7 @@ fa: archived: "بایگانی" project_module_activity: "فعالیت" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "دانشنامه" @@ -2526,7 +2530,7 @@ fa: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "تاریخ" setting_default_language: "Default language" setting_default_projects_modules: "Default enabled modules for new projects" setting_default_projects_public: "New projects are public by default" @@ -2538,7 +2542,7 @@ fa: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2589,7 +2593,7 @@ fa: setting_start_of_week: "Week starts on" setting_sys_api_enabled: "Enable repository management web service" setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." - setting_time_format: "Time" + setting_time_format: "زمان" setting_accessibility_mode_for_anonymous: "Enable accessibility mode for anonymous users" setting_user_format: "Users name format" setting_user_default_timezone: "منطقه زمانی پیش فرض کاربران" @@ -2602,34 +2606,21 @@ fa: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ fa: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/fi.yml b/config/locales/crowdin/fi.yml index e787a41a9147..f7e7e4d5bb33 100644 --- a/config/locales/crowdin/fi.yml +++ b/config/locales/crowdin/fi.yml @@ -198,8 +198,6 @@ fi: no_results_content_text: Luo uusi mukautettu kenttä concatenation: single: 'tai' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ fi: hours: "Tunnit" spent_on: "Päivämäärä" type: "Tyyppi" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1066,7 +1065,8 @@ fi: button_configure: "Asetukset" button_continue: "Jatka" button_copy: "Kopioi" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopioi leikepöydälle" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopioi ja seuraa" button_create: "Uusi" button_create_and_continue: "Luo ja jatka" @@ -1493,6 +1493,7 @@ fi: label_age: "Ikä" label_ago: "päiviä sitten" label_all: "kaikki" + label_all_projects: "All projects" label_all_time: "koko ajalta" label_all_words: "kaikki sanat" label_all_open_wps: "Avoimet tehtävät" @@ -1509,6 +1510,7 @@ fi: label_ical_access_key_revoke: "Revoke" label_applied_status: "Käytetty tila" label_archive_project: "Arkisto projekti" + label_archived_projects: "Archived projects" label_ascending: "Nouseva" label_assigned_to_me_work_packages: "Minulle määritellyt tehtävät" label_associated_revisions: "Liittyvät versiot" @@ -1595,7 +1597,7 @@ fi: label_database_version: "PostgreSQL version" label_date: "Päivämäärä" label_date_and_time: "Päivämäärä ja aika" - label_date_format: "Date format" + label_date_format: "Päivän muoto" label_date_from: "Alkaen" label_date_from_to: "Välillä %{start} - %{end}" label_date_to: "Päättyen" @@ -1645,6 +1647,7 @@ fi: label_everywhere: "kaikkialla" label_example: "Esimerkki" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Tuo" label_export_to: "Vie" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ fi: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Koti" label_subject_or_id: "Aihe tai ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "tässä" label_in_less_than: "pienempi kuin" @@ -2352,7 +2356,7 @@ fi: archived: "Archived" project_module_activity: "Tapahtumat" project_module_forums: "Keskustelupalstat" - project_module_work_package_tracking: "Tehtävien seuranta" + project_module_work_package_tracking: "Tehtävät" project_module_news: "Uutiset" project_module_repository: "Tietovarasto" project_module_wiki: "Wiki" @@ -2526,7 +2530,7 @@ fi: setting_consent_decline_mail: "Suostumukseen liittyvien lisätietojen sähköpostiosoite" setting_cross_project_work_package_relations: "Salli projektien väliset tehtävien riippuvuudet" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Päivämäärä" setting_default_language: "Vakiokieli" setting_default_projects_modules: "Oletusmodulit uusille projketeille" setting_default_projects_public: "Uudet projektit ovat oletuksena julkisia" @@ -2538,7 +2542,7 @@ fi: setting_enabled_scm: "Käytössäoleva versionhallinta" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Ota syötteet käyttöön" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Syötteen sisällön raja" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Verkko-osoite" @@ -2589,7 +2593,7 @@ fi: setting_start_of_week: "Viikko alkaa" setting_sys_api_enabled: "Salli WS tietovaraston hallintaan" setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." - setting_time_format: "Time" + setting_time_format: "Aika" setting_accessibility_mode_for_anonymous: "Ota helppokäyttötila anonyymeille käyttäjille" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2602,34 +2606,21 @@ fi: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Yleinen" - other: "Muut" - passwords: "Salasana" - session: "Istunto" - brute_force_prevention: "Automaattinen käyttäjän estäminen" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automaattinen käyttäjän estäminen" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Yleinen" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ fi: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Muut" + passwords: "Salasana" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Istunto" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/fil.yml b/config/locales/crowdin/fil.yml index 0971b5849135..79d6aee1ba1c 100644 --- a/config/locales/crowdin/fil.yml +++ b/config/locales/crowdin/fil.yml @@ -198,8 +198,6 @@ fil: no_results_content_text: Gumawa ng bagong patlang na custom concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ fil: hours: "Mga oras" spent_on: "Petsa" type: "Uri" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1066,7 +1065,8 @@ fil: button_configure: "I-configure" button_continue: "Ipagpatuloy" button_copy: "Kopyahin" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopyahin sa clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopyahin at sundin" button_create: "Lumikha" button_create_and_continue: "Lumikha at magpatuloy" @@ -1493,6 +1493,7 @@ fil: label_age: "Edad" label_ago: "ang mga araw nakalipas" label_all: "lahat" + label_all_projects: "All projects" label_all_time: "sa lahat ng oras" label_all_words: "Lahat ng mga salita" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ fil: label_ical_access_key_revoke: "Revoke" label_applied_status: "Estadong nilapat" label_archive_project: "I-archive ang proyekto" + label_archived_projects: "Archived projects" label_ascending: "Pataas" label_assigned_to_me_work_packages: "Ang work package ay nakatakaga sa akin" label_associated_revisions: "Nauugnay ng mga rebisyon" @@ -1595,7 +1597,7 @@ fil: label_database_version: "PostgreSQL version" label_date: "Petsa" label_date_and_time: "Petsa at oras" - label_date_format: "Date format" + label_date_format: "Format ng petsa" label_date_from: "Mula sa" label_date_from_to: "Mula sa %{start} hanggang %{end}" label_date_to: "Sa" @@ -1645,6 +1647,7 @@ fil: label_everywhere: "everywhere" label_example: "Halimbawa" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Magagamit rin sa:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ fil: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Tahanan" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "sa" label_in_less_than: "mas mababa kaysa" @@ -2352,7 +2356,7 @@ fil: archived: "Archived" project_module_activity: "Aktibidad" project_module_forums: "Mga forum" - project_module_work_package_tracking: "Ang pagtra-track ng work package" + project_module_work_package_tracking: "Ang mga work package" project_module_news: "Mga balita" project_module_repository: "Repositoryo" project_module_wiki: "Wiki" @@ -2524,7 +2528,7 @@ fil: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Pahintulutan ang cross-project na relasyon ng work package" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Petsa" setting_default_language: "Default na linggwahe" setting_default_projects_modules: "I-default ang pinaganang mga modyul para sa bagong proyekto" setting_default_projects_public: "Bagong proyektong ay publiko sa pamamagitan ng default" @@ -2536,7 +2540,7 @@ fil: setting_enabled_scm: "Paganahin ang SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Paganahin ang mga feed" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Limitasyon ng nilalaman na feed" setting_file_max_size_displayed: "Max na laki ng mga tekstong file na ipinapakita inline" setting_host_name: "Host name" @@ -2587,7 +2591,7 @@ fil: setting_start_of_week: "Pagsisimula ng linggo sa" setting_sys_api_enabled: "Paganahin ang serbisyo ng repository management web" setting_sys_api_description: "Ang serbisyo ng repositoryo management web ay nagbibigay ng intregrasyon at user awtorisasyon para sa pag-access ng mga repositoryo." - setting_time_format: "Time" + setting_time_format: "Oras" setting_accessibility_mode_for_anonymous: "Paganahin ang aksebilidad mode para sa mga gumagamit ng anonymous" setting_user_format: "Users name format" setting_user_default_timezone: "Ang mga user defaullt time zone" @@ -2600,34 +2604,21 @@ fil: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Pangkalahatan" - other: "Iba pa" - passwords: "Ang mga password" - session: "Sesyon" - brute_force_prevention: "Naka-automate na user block" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Naka-automate na user block" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Pangkalahatan" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2635,6 +2626,23 @@ fil: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Iba pa" + passwords: "Ang mga password" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Sesyon" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index b4bcb0bbd6fb..2573ede2e324 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -198,8 +198,6 @@ fr: no_results_content_text: Créer un nouveau champ personnalisé concatenation: single: 'ou' - documentation: - see_more_link: Pour plus d'informations, consultez notre documentation sur ce sujet. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ fr: hours: "Heures" spent_on: "date" type: "Type" + ongoing: "Ongoing" type: description: "Texte par défaut pour la description" attribute_groups: '' @@ -1066,7 +1065,8 @@ fr: button_configure: "Configurer" button_continue: "Continuer" button_copy: "Copier" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copier dans le presse-papier" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copier et suivre" button_create: "Créer" button_create_and_continue: "Créer et continuer" @@ -1422,11 +1422,11 @@ fr: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} est maintenant un jour ouvrable" + non_working: "%{day} est maintenant un jour non ouvrable" dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} est maintenant un jour ouvrable" + non_working: "%{date} est maintenant un jour non ouvrable" links: configuration_guide: 'Guide de configuration' get_in_touch: "Vous avez des questions ? Contactez-nous." @@ -1493,6 +1493,7 @@ fr: label_age: "Âge" label_ago: "il y a quelques jours" label_all: "tous" + label_all_projects: "All projects" label_all_time: "tout le temps" label_all_words: "Tous les mots" label_all_open_wps: "Tous les ouverts" @@ -1509,6 +1510,7 @@ fr: label_ical_access_key_revoke: "Révoquer" label_applied_status: "Statut appliqué" label_archive_project: "Archiver le projet" + label_archived_projects: "Archived projects" label_ascending: "Croissant" label_assigned_to_me_work_packages: "Lots de Travaux m'étant assignés" label_associated_revisions: "Révisions associées" @@ -1595,7 +1597,7 @@ fr: label_database_version: "Version de PostgreSQL" label_date: "date" label_date_and_time: "Date et heure" - label_date_format: "Date format" + label_date_format: "Format de date" label_date_from: "De" label_date_from_to: "De %{start} à %{end}" label_date_to: "À" @@ -1644,7 +1646,8 @@ fr: label_equals: "est" label_everywhere: "partout" label_example: "Exemple" - label_experimental: "Experimental" + label_experimental: "Expérimental" + label_i_am_member: "I am member" label_import: "Importer" label_export_to: "Aussi disponible en :" label_expanded_click_to_collapse: "Déplié. Cliquez pour replier" @@ -1681,6 +1684,7 @@ fr: label_hierarchy_leaf: "Feuille de hiérarchie" label_home: "Accueil" label_subject_or_id: "Objet ou ID" + label_icalendar: "iCalendar" label_impressum: "Mentions légales" label_in: "dans" label_in_less_than: "dans moins de" @@ -2352,7 +2356,7 @@ fr: archived: "Archivé" project_module_activity: "Activité" project_module_forums: "Forums" - project_module_work_package_tracking: "Suivi des lots de travaux" + project_module_work_package_tracking: "Lots de Travaux" project_module_news: "Actualités" project_module_repository: "Référentiel" project_module_wiki: "Wiki" @@ -2526,7 +2530,7 @@ fr: setting_consent_decline_mail: "Adresse mail de contact de l'accord" setting_cross_project_work_package_relations: "Autoriser les relations entre lots de travaux de projets différents" setting_first_week_of_year: "La première semaine de l'année contient" - setting_date_format: "Date" + setting_date_format: "date" setting_default_language: "Langage par défaut" setting_default_projects_modules: "Modules activés par défaut pour les nouveaux projets" setting_default_projects_public: "Les nouveaux projets sont publics par défaut" @@ -2538,7 +2542,7 @@ fr: setting_enabled_scm: "Permettre SCM" setting_enabled_projects_columns: "Visible dans la liste des projets" setting_feeds_enabled: "Permettre les flux" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Limite du contenu du flux" setting_file_max_size_displayed: "Taille maximale de l'affichage du fichers texte inline" setting_host_name: "Nom d'hôte" @@ -2589,7 +2593,7 @@ fr: setting_start_of_week: "La semaine commence le" setting_sys_api_enabled: "Activer le service web de gestion de dépôt" setting_sys_api_description: "Le service web de gestion de dépôt fournit l'intégration et l'autorisation d'accès aux dépôts." - setting_time_format: "Time" + setting_time_format: "Heure" setting_accessibility_mode_for_anonymous: "Activer le mode d'accessibilité pour les utilisateurs anonymes" setting_user_format: "Users name format" setting_user_default_timezone: "Fuseau horaire par défaut des utilisateurs" @@ -2600,36 +2604,23 @@ fr: setting_welcome_on_homescreen: "Afficher le bloc de bienvenue sur l'écran d'accueil" setting_work_package_list_default_highlighting_mode: "Mode de surbrillance par défaut" setting_work_package_list_default_highlighted_attributes: "Attributs en ligne mis en surbrillance par défaut" - setting_working_days: "Working days" + setting_working_days: "Jours ouvrés" settings: - general: "Général" - other: "Autre" - passwords: "Mots de passe" - session: "Session" - brute_force_prevention: "Blocage d'utilisateur automatique (pour éviter les pirates)" attachments: whitelist_text_html: > Définissez une liste d'extensions de fichiers et/ou de types MIME valides pour les fichiers téléversés.
    Entrez les extensions de fichier (par exemple, %{ext_example}) ou les types mime (par exemple, %{mime_example}).
    Laissez vide pour permettre le téléversement de tout type de fichier. Plusieurs valeurs autorisées (une ligne pour chaque valeur). + brute_force_prevention: "Blocage d'utilisateur automatique (pour éviter les pirates)" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Définit pour quel événement un e-mail est envoyé. Les lots de travaux sont exclus de cette liste car les notifications pour ceux-ci peuvent être configurées spécifiquement pour chaque utilisateur.' - delay_minutes_explanation: "L'envoi d'e-mails peut être retardé pour permettre aux utilisateurs ayant des notifications configurées dans l'application de confirmer la notification dans l'application avant l'envoi. Les utilisateurs qui lisent une notification dans l'application ne recevront pas d'e-mail pour la notification déjà lue." - display: + date_format: first_date_of_week_and_year_set: > - Si une des options « %{day_of_week_setting_name} » ou « %{first_week_setting_name} » sont définies, l'autre doit être réglé aussi bien pour éviter les incohérences dans le frontend. - first_week_of_year_text: > - Sélectionnez la date de janvier qui se trouve dans la première semaine de l'année. Cette valeur ainsi que le premier jour de la semaine déterminent le nombre total de semaines dans une année. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Général" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Paramètres pour les nouveaux projets" - section_project_overview: "Paramètres de la liste des projets" - user: - default_preferences: "Préférences par défaut" - display_format: "Display format" - deletion: "Suppression" highlighting: mode_long: inline: "Mettre en surbrillance le(s) attribut(s) en ligne" @@ -2637,8 +2628,25 @@ fr: status: "Ligne entière par Statut" type: "Ligne entière par Type" priority: "Ligne entière par Priorité" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Définit pour quel événement un e-mail est envoyé. Les lots de travaux sont exclus de cette liste car les notifications pour ceux-ci peuvent être configurées spécifiquement pour chaque utilisateur.' + delay_minutes_explanation: "L'envoi d'e-mails peut être retardé pour permettre aux utilisateurs ayant des notifications configurées dans l'application de confirmer la notification dans l'application avant l'envoi. Les utilisateurs qui lisent une notification dans l'application ne recevront pas d'e-mail pour la notification déjà lue." + other: "Autre" + passwords: "Mots de passe" + projects: + section_new_projects: "Paramètres pour les nouveaux projets" + section_project_overview: "Paramètres de la liste des projets" + session: "Session" + user: + default_preferences: "Préférences par défaut" + display_format: "Display format" + deletion: "Suppression" working_days: - section_work_week: "Work week" + section_work_week: "Semaine de travail" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/he.yml b/config/locales/crowdin/he.yml index 4e2977c6bd90..cfdd496279f9 100644 --- a/config/locales/crowdin/he.yml +++ b/config/locales/crowdin/he.yml @@ -198,8 +198,6 @@ he: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "ויקי" @@ -530,6 +528,7 @@ he: hours: "שעות" spent_on: "תאריך" type: "סוג" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1081,6 +1080,7 @@ he: button_continue: "Continue" button_copy: "העתק" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "העתק ועקוב" button_create: "צור" button_create_and_continue: "צור והמשך" @@ -1531,6 +1531,7 @@ he: label_age: "גיל" label_ago: "ימים לפני" label_all: "כל" + label_all_projects: "All projects" label_all_time: "כל הזמנים" label_all_words: "כל המילים" label_all_open_wps: "All open" @@ -1547,6 +1548,7 @@ he: label_ical_access_key_revoke: "Revoke" label_applied_status: "מצב יישומית" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "סדר עולה" label_assigned_to_me_work_packages: "חבילות עבודה שהוקצו לי" label_associated_revisions: "תיקונים הקשורים" @@ -1683,6 +1685,7 @@ he: label_everywhere: "everywhere" label_example: "דוגמה" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1719,6 +1722,7 @@ he: label_hierarchy_leaf: "Hierarchy leaf" label_home: "דף הבית" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "ב" label_in_less_than: "in less than" @@ -2394,7 +2398,7 @@ he: archived: "Archived" project_module_activity: "פעילות" project_module_forums: "פורומים" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "חדשות" project_module_repository: "Repository" project_module_wiki: "ויקי" @@ -2568,7 +2572,7 @@ he: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "תאריך" setting_default_language: "Default language" setting_default_projects_modules: "Default enabled modules for new projects" setting_default_projects_public: "New projects are public by default" @@ -2580,7 +2584,7 @@ he: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2631,7 +2635,7 @@ he: setting_start_of_week: "Week starts on" setting_sys_api_enabled: "Enable repository management web service" setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." - setting_time_format: "Time" + setting_time_format: "זמן" setting_accessibility_mode_for_anonymous: "Enable accessibility mode for anonymous users" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2644,34 +2648,21 @@ he: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "כללי" - other: "אחר" - passwords: "סיסמאות" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "כללי" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2679,6 +2670,23 @@ he: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "אחר" + passwords: "סיסמאות" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/hi.yml b/config/locales/crowdin/hi.yml index 61645d301988..35dcce43c26e 100644 --- a/config/locales/crowdin/hi.yml +++ b/config/locales/crowdin/hi.yml @@ -198,8 +198,6 @@ hi: no_results_content_text: Create a new custom field concatenation: single: 'या' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "विकी" @@ -526,6 +524,7 @@ hi: hours: "घंटे" spent_on: "तिथि" type: "प्रकार" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1065,6 +1064,7 @@ hi: button_continue: "Continue" button_copy: "प्रतिलिपि बनाएँ" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "रचना करें" button_create_and_continue: "सहेजें और जारी रखें" @@ -1491,6 +1491,7 @@ hi: label_age: "Age" label_ago: "दिन पहले" label_all: "सभी" + label_all_projects: "All projects" label_all_time: "हमेशा" label_all_words: "सभी शब्दों" label_all_open_wps: "सभी खुले" @@ -1507,6 +1508,7 @@ hi: label_ical_access_key_revoke: "Revoke" label_applied_status: "लागू की गई स्थिति" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "आरोही" label_assigned_to_me_work_packages: "मेरे लिए असाइन किए गए कार्य पैकेज" label_associated_revisions: "संबद्ध पुनरावलोकन" @@ -1643,6 +1645,7 @@ hi: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "विस्तार. संक्षिप्त करने के लिए क्लिक करें" @@ -1679,6 +1682,7 @@ hi: label_hierarchy_leaf: "पदानुक्रम पत्ती" label_home: "मुखपृष्ठ" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "में" label_in_less_than: "से भी कम समय में" @@ -2350,7 +2354,7 @@ hi: archived: "Archived" project_module_activity: "गतिविधी" project_module_forums: "मंच" - project_module_work_package_tracking: "कार्य पैकेज ट्रैकिंग" + project_module_work_package_tracking: "कार्य पैकेज" project_module_news: "नया" project_module_repository: "Repository" project_module_wiki: "विकी" @@ -2524,7 +2528,7 @@ hi: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "तिथि" setting_default_language: "Default language" setting_default_projects_modules: "Default enabled modules for new projects" setting_default_projects_public: "New projects are public by default" @@ -2536,7 +2540,7 @@ hi: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2600,34 +2604,21 @@ hi: setting_work_package_list_default_highlighted_attributes: "डिफ़ॉल्ट पंक्ति ही में हाइलाइट किए गए गुण" setting_working_days: "Working days" settings: - general: "सामान्य" - other: "अन्य" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "सामान्य" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "डिफ़ॉल्ट प्राथमिकताएं" - display_format: "Display format" - deletion: "हटाने" highlighting: mode_long: inline: "पंक्ति ही में गुण / गुणों को हाइलाइट करें" @@ -2635,6 +2626,23 @@ hi: status: "स्थिति के अनुसार संपूर्ण पंक्ति" type: "प्रकार के अनुसार संपूर्ण पंक्ति" priority: "प्राथमिकता के अनुसार संपूर्ण पंक्ति" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "अन्य" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "डिफ़ॉल्ट प्राथमिकताएं" + display_format: "Display format" + deletion: "हटाने" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/hr.yml b/config/locales/crowdin/hr.yml index d0baf1c538b1..cb45eda46e53 100644 --- a/config/locales/crowdin/hr.yml +++ b/config/locales/crowdin/hr.yml @@ -198,8 +198,6 @@ hr: no_results_content_text: Novo prilagođeno polje concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -529,6 +527,7 @@ hr: hours: "Sati" spent_on: "Datum" type: "Tip" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1073,7 +1072,8 @@ hr: button_configure: "Postavi" button_continue: "Nastavi" button_copy: "Kopiraj" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopiraj u međuspremnik" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopirajte i pratite" button_create: "Stvori" button_create_and_continue: "Stvori i nastavi" @@ -1512,6 +1512,7 @@ hr: label_age: "Dob" label_ago: "dana ranije" label_all: "sve" + label_all_projects: "All projects" label_all_time: "sve vrijeme" label_all_words: "Sve riječi" label_all_open_wps: "Svi otvoreni" @@ -1528,6 +1529,7 @@ hr: label_ical_access_key_revoke: "Revoke" label_applied_status: "Dodijeljeni status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Uzlazno" label_assigned_to_me_work_packages: "Radni paketi dodijeljeni meni" label_associated_revisions: "Pridružene revizije" @@ -1614,7 +1616,7 @@ hr: label_database_version: "PostgreSQL version" label_date: "Datum" label_date_and_time: "Datum i vrijeme" - label_date_format: "Date format" + label_date_format: "Format datuma" label_date_from: "Od" label_date_from_to: "Od %{start} do %{end}" label_date_to: "Prima" @@ -1664,6 +1666,7 @@ hr: label_everywhere: "everywhere" label_example: "Primjer" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Također dostupan kao:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1700,6 +1703,7 @@ hr: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Početna" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "u" label_in_less_than: "u manje od" @@ -2373,7 +2377,7 @@ hr: archived: "Archived" project_module_activity: "Aktivnost" project_module_forums: "Forumi" - project_module_work_package_tracking: "Praćenje radnog paketa" + project_module_work_package_tracking: "Radni paketi" project_module_news: "Vijesti" project_module_repository: "Repozitorij" project_module_wiki: "Wiki" @@ -2547,7 +2551,7 @@ hr: setting_consent_decline_mail: "E-mail kontakta za suglasnost" setting_cross_project_work_package_relations: "Omogući relacije između unakrsnih projekata" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Datum" setting_default_language: "Zadani jezik" setting_default_projects_modules: "Zadani omogućeni moduli za nove projekte" setting_default_projects_public: "Novi projekti su zadani kao javni" @@ -2559,7 +2563,7 @@ hr: setting_enabled_scm: "Omogući SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Omogući sažetke sadržaja aktivnosti" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Maksimalna veličina tesktualnih datoteka prikazanih u liniji" setting_host_name: "Hostname" @@ -2610,7 +2614,7 @@ hr: setting_start_of_week: "Week starts on" setting_sys_api_enabled: "Enable repository management web service" setting_sys_api_description: "Web servis za upravljanje repozitorijom omogućava integraciju i autorizaciju za pristup repozitorijima." - setting_time_format: "Time" + setting_time_format: "Vrijeme" setting_accessibility_mode_for_anonymous: "Enable accessibility mode for anonymous users" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2623,34 +2627,21 @@ hr: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Općenito" - other: "Ostalo" - passwords: "Lozinke" - session: "Sesija" - brute_force_prevention: "Automatizirano blokiranje korisnika" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automatizirano blokiranje korisnika" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Općenito" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2658,6 +2649,23 @@ hr: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Ostalo" + passwords: "Lozinke" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Sesija" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/hu.yml b/config/locales/crowdin/hu.yml index 963eb1927a8b..2a412e0473f6 100644 --- a/config/locales/crowdin/hu.yml +++ b/config/locales/crowdin/hu.yml @@ -197,8 +197,6 @@ hu: no_results_content_text: Új egyéni mező létrehozása concatenation: single: 'vagy' - documentation: - see_more_link: További információért ebben a témakörben kérem látogasson el a dokumentációnkba global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -525,6 +523,7 @@ hu: hours: "órák" spent_on: "dátum" type: "Típus" + ongoing: "Ongoing" type: description: "Alapértelmezett szöveg a leíráshoz" attribute_groups: '' @@ -1063,7 +1062,8 @@ hu: button_configure: "Beállítások" button_continue: "Folytatás" button_copy: "Másol" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Másolás a vágólapra" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Másol és folytat" button_create: "Létrehoz" button_create_and_continue: "Létrehoz és folytat" @@ -1490,6 +1490,7 @@ hu: label_age: "Életkor" label_ago: "nappal ezelőtt" label_all: "mind" + label_all_projects: "All projects" label_all_time: "minden alkalommal" label_all_words: "Minden szó" label_all_open_wps: "Nyitottak" @@ -1506,6 +1507,7 @@ hu: label_ical_access_key_revoke: "Visszavonás" label_applied_status: "Alkalmazott státusz" label_archive_project: "Projekt archiválása" + label_archived_projects: "Archived projects" label_ascending: "Növekvő" label_assigned_to_me_work_packages: "Magamhoz rendelt feladatcsoportok" label_associated_revisions: "Kapcsolódó módosítások" @@ -1592,7 +1594,7 @@ hu: label_database_version: "PostgreSQL verzió" label_date: "dátum" label_date_and_time: "Dátum és idő" - label_date_format: "Date format" + label_date_format: "Dátum formátum" label_date_from: "tól" label_date_from_to: "%{start}-tól %{end}-ig" label_date_to: "címzett" @@ -1641,7 +1643,8 @@ hu: label_equals: "van" label_everywhere: "bárhol" label_example: "Példa" - label_experimental: "Experimental" + label_experimental: "Kísérleti" + label_i_am_member: "I am member" label_import: "Importálás" label_export_to: "Is elérhető:" label_expanded_click_to_collapse: "Kinyitva. Kattintson az összecsukáshoz" @@ -1678,6 +1681,7 @@ hu: label_hierarchy_leaf: "Hierarchia szint" label_home: "Home" label_subject_or_id: "Tárgy, vagy azonosító" + label_icalendar: "iCalendar" label_impressum: "Jogi nyilatkozat" label_in: "in" label_in_less_than: "kevesebb, mint" @@ -2348,7 +2352,7 @@ hu: archived: "Archiválva" project_module_activity: "Tevékenység" project_module_forums: "Fórumok" - project_module_work_package_tracking: "A munkacsomag nyomon követése" + project_module_work_package_tracking: "Munkacsomagok" project_module_news: "Hírek" project_module_repository: "Csomagtároló" project_module_wiki: "Wiki" @@ -2522,7 +2526,7 @@ hu: setting_consent_decline_mail: "Hozzájárulás a kapcsolattartói e-mail címhez" setting_cross_project_work_package_relations: "Projektek közötti feladatcsoportok kapcsolatainak engedélyezése" setting_first_week_of_year: "Az év első hete tartalmazza\n" - setting_date_format: "Date" + setting_date_format: "dátum" setting_default_language: "Alapértelmezett nyelv" setting_default_projects_modules: "Az új projektekben alapértelmezetten engedélyezett modulok" setting_default_projects_public: "Új projektek nyilvánosak alapértelmezetten" @@ -2534,7 +2538,7 @@ hu: setting_enabled_scm: "SCM engedélyezve" setting_enabled_projects_columns: "Látható a projektlistában" setting_feeds_enabled: "Hírcsatornák engedélyezése" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Tartalom szintjének a korlátja" setting_file_max_size_displayed: "A szöveg fájl sorainak maximum mérete megjelenítéskor" setting_host_name: "Gazdagép neve" @@ -2585,7 +2589,7 @@ hu: setting_start_of_week: "Hét kezdőnapja" setting_sys_api_enabled: "Csomagtároló webszolgáltatás bekapcsolva" setting_sys_api_description: "A csomagtároló webszolgáltatás integrációt és felhasználói hozzáférést biztosít a tároló eléréséhez." - setting_time_format: "Time" + setting_time_format: "Idő" setting_accessibility_mode_for_anonymous: "Engedélyezi a kisegítő módot a névtelen felhasználók számára" setting_user_format: "Users name format" setting_user_default_timezone: "A felhasználók alapértelmezett időzónája" @@ -2596,36 +2600,23 @@ hu: setting_welcome_on_homescreen: "Üdvözlő blokk megjelenítése a kezdőképernyőn" setting_work_package_list_default_highlighting_mode: "Alapértelmezett kiemelési mód" setting_work_package_list_default_highlighted_attributes: "Alapértelmezett kiemelt attribútumok sorai" - setting_working_days: "Working days" + setting_working_days: "Munkanapok" settings: - general: "Általános" - other: "Egyéb" - passwords: "Jelszavak" - session: "Munkamenet" - brute_force_prevention: "Felhasználó automatikus blokkolása" attachments: whitelist_text_html: > Határozza meg a feltöltött fájlok érvényes fájlkiterjesztéseinek és/vagy mime típusainak listáját.
    Adjon meg fájlkiterjesztéseket (pl. %{ext_example} ) vagy mime típusokat (pl. %{mime_example} ).
    Hagyja üresen, ha bármilyen fájltípust szeretne feltölteni. Több érték megengedett (egy sor minden értékhez). + brute_force_prevention: "Felhasználó automatikus blokkolása" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: "Azt szabályozza, hogy melyik eseményhez küldjön e -mailt. A munkacsomagok nem tartoznak ebbe a listába, mivel a rájuk vonatkozó értesítések kifejezetten minden felhasználó számára konfigurálhatók.\n" - delay_minutes_explanation: "Az e -mailek küldése késleltethető, hogy az alkalmazások értesítésében beállított felhasználók megerősíthessék az értesítést az alkalmazáson belül, mielőtt levelet küldenek. Azok a felhasználók, akik elolvasták az értesítést az alkalmazáson belül, nem kapnak e -mailt a már olvasott értesítésről.\n" - display: + date_format: first_date_of_week_and_year_set: > - Ha a "%{day_of_week_setting_name}" vagy a "%{first_week_setting_name}" opciók közül valamelyik be van állítva, akkor a másiknak is be kell lennie, hogy elkerüljük az ellentmondásokat a frontendben. - first_week_of_year_text: > - Válassza ki azt a január dátumot, amely az év első hetében található. Ez az érték a hét első napjával együtt határozza meg az év hetek teljes számát. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Általános" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Új projekt beállításai" - section_project_overview: "A projekt áttekintési lista beállítása" - user: - default_preferences: "Alapértelmezett preferenciák" - display_format: "Display format" - deletion: "Törlés" highlighting: mode_long: inline: "Kiemelt attribútum(ok) egy vonalban" @@ -2633,6 +2624,23 @@ hu: status: "Teljes sor állapot szerint" type: "Teljes sor típus szerint" priority: "Teljes sor prioritás szerint" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: "Azt szabályozza, hogy melyik eseményhez küldjön e -mailt. A munkacsomagok nem tartoznak ebbe a listába, mivel a rájuk vonatkozó értesítések kifejezetten minden felhasználó számára konfigurálhatók.\n" + delay_minutes_explanation: "Az e -mailek küldése késleltethető, hogy az alkalmazások értesítésében beállított felhasználók megerősíthessék az értesítést az alkalmazáson belül, mielőtt levelet küldenek. Azok a felhasználók, akik elolvasták az értesítést az alkalmazáson belül, nem kapnak e -mailt a már olvasott értesítésről.\n" + other: "Egyéb" + passwords: "Jelszavak" + projects: + section_new_projects: "Új projekt beállításai" + section_project_overview: "A projekt áttekintési lista beállítása" + session: "Munkamenet" + user: + default_preferences: "Alapértelmezett preferenciák" + display_format: "Display format" + deletion: "Törlés" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index 35538b9b656b..c74368c973cf 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -192,8 +192,6 @@ id: no_results_content_text: Buat bidang kustom baru concatenation: single: 'atau' - documentation: - see_more_link: Untuk informasi lebih lanjut, silakan lihat dokumentasi kami tentang topik ini. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -520,6 +518,7 @@ id: hours: "Jam" spent_on: "Tanggal" type: "Tipe" + ongoing: "Ongoing" type: description: "Teks default untuk deskripsi" attribute_groups: '' @@ -1053,6 +1052,7 @@ id: button_continue: "Lanjutkan" button_copy: "Salin" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Salin dan amati" button_create: "Buat baru" button_create_and_continue: "Buat baru dan lanjut" @@ -1396,11 +1396,11 @@ id: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} sekarang bekerja" + non_working: "%{day} sekarang tidak berkerja" dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} sekarang berkerja" + non_working: "%{date} sekarang tidak berkerja" links: configuration_guide: 'Petunjuk Konfigurasi' get_in_touch: "Anda punya pertanyaan? Hubungi kami." @@ -1467,6 +1467,7 @@ id: label_age: "Usia" label_ago: "hari yang lalu" label_all: "semua" + label_all_projects: "All projects" label_all_time: "Sepanjang waktu" label_all_words: "Semua kata" label_all_open_wps: "Semua terbuka" @@ -1483,6 +1484,7 @@ id: label_ical_access_key_revoke: "Menarik kembali" label_applied_status: "Status berjalan" label_archive_project: "Proyek arsip" + label_archived_projects: "Archived projects" label_ascending: "Askending" label_assigned_to_me_work_packages: "Paket-Penugasan yang saya kerjakan" label_associated_revisions: "Revisi terkait" @@ -1619,6 +1621,7 @@ id: label_everywhere: "di mana pun" label_example: "Contoh" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Impor" label_export_to: "Juga tersedia dalam:" label_expanded_click_to_collapse: "Diperluas. Klik untuk menciutkan" @@ -1655,6 +1658,7 @@ id: label_hierarchy_leaf: "Daun hierarki" label_home: "Home" label_subject_or_id: "Subyek atau ID" + label_icalendar: "iCalendar" label_impressum: "Pernyataan hukum" label_in: "dalam" label_in_less_than: "kurang dari" @@ -1793,7 +1797,7 @@ id: label_personalize_page: "Personalisasi halaman" label_placeholder_user: "Pengguna placeholder" label_placeholder_user_new: "New placeholder user" - label_placeholder_user_plural: "Placeholder users" + label_placeholder_user_plural: "Pengguna placeholder" label_planning: "Perencanaan" label_please_login: "Silakan login" label_plugins: "Plugin" @@ -1809,7 +1813,7 @@ id: label_product_version: "Product version" label_profile: "Profil" label_project_activity: "Project activity" - label_project_attribute_plural: "Project attributes" + label_project_attribute_plural: "Atribut proyek" label_project_count: "Jumlah proyek" label_project_copy_notifications: "Kirim email notifikasi selama meng-copy Project" label_project_latest: "Project terbaru" @@ -1986,7 +1990,7 @@ id: label_workflow: "Workflow" label_workflow_plural: "Alur kerja" label_workflow_summary: "Ringkasan" - label_working_days: "Working days" + label_working_days: "Hari kerja" label_x_closed_work_packages_abbr: one: "1 closed" other: "%{count} tertutup" @@ -2059,11 +2063,11 @@ id: reason: watched: 'Watched' assigned: 'Assigned' - responsible: 'Accountable' + responsible: 'Akuntabel' mentioned: 'Mentioned' subscribed: 'semua' prefix: 'Received because of the notification setting: %{reason}' - date_alert_start_date: 'Date alert' + date_alert_start_date: 'Peringatan tanggal' date_alert_due_date: 'Peringatan tanggal' see_all: 'Lihat semua' updated_at: 'Diperbarui pada %{timestamp} oleh %{user}' @@ -2322,7 +2326,7 @@ id: archived: "Diarsipkan" project_module_activity: "Activity" project_module_forums: "Forum" - project_module_work_package_tracking: "Tracking Paket-Penugasan" + project_module_work_package_tracking: "Paket-Penugasan" project_module_news: "News" project_module_repository: "Repositori" project_module_wiki: "Wiki" @@ -2494,7 +2498,7 @@ id: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Mungkinkan relasi cross-project Paket-Penugasan" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Tanggal" setting_default_language: "Bahasa default" setting_default_projects_modules: "Modul default aktif untuk Project baru" setting_default_projects_public: "Project baru default untuk publik" @@ -2506,7 +2510,7 @@ id: setting_enabled_scm: "Aktifkan SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Aktifkan Feed" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Batasan konten feed" setting_file_max_size_displayed: "Ukuran maks. file teks yang ditampilkan inline" setting_host_name: "Nama host" @@ -2557,7 +2561,7 @@ id: setting_start_of_week: "Minggu dimulai pada" setting_sys_api_enabled: "Aktifkan web service untuk manajemen repository" setting_sys_api_description: "Repository management web service menyediakan integrasi fungsi dan otorisasi untuk akses repository." - setting_time_format: "Time" + setting_time_format: "Waktu" setting_accessibility_mode_for_anonymous: "Aktifkan mode Aksesibilitas untuk user anonim" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2568,36 +2572,23 @@ id: setting_welcome_on_homescreen: "Display welcome block on homescreen" setting_work_package_list_default_highlighting_mode: "Default highlighting mode" setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" - setting_working_days: "Working days" + setting_working_days: "Hari kerja" settings: - general: "Umum" - other: "Lainnya" - passwords: "Password" - session: "Sesi" - brute_force_prevention: "Pemblokiran otomatis user" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Pemblokiran otomatis user" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Umum" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2605,6 +2596,23 @@ id: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Lainnya" + passwords: "Password" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Sesi" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" @@ -3089,7 +3097,7 @@ id: close_warning: "Abaikan peringatan ini." oauth: application: - singular: "OAuth application" + singular: "aplikasi OAuth" plural: "OAuth applications" named: "OAuth application '%{name}'" new: "New OAuth application" diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index fac0a1267845..8ad90227a49e 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -195,8 +195,6 @@ it: no_results_content_text: Crea un nuovo campo personalizzato concatenation: single: 'oppure' - documentation: - see_more_link: Per ulteriori informazioni, sei pregato di vedere la nostra documentazione su quest'argomento. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -525,6 +523,7 @@ it: hours: "Ore" spent_on: "Data" type: "Tipo" + ongoing: "Ongoing" type: description: "Testo predefinito per la descrizione" attribute_groups: '' @@ -1063,7 +1062,8 @@ it: button_configure: "Configura" button_continue: "Continua" button_copy: "Copia" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copia negli appunti" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copia e segui" button_create: "Crea" button_create_and_continue: "Crea e continua" @@ -1419,11 +1419,11 @@ it: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} ora è lavorativo" + non_working: "%{day} ora non è lavorativo" dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} è ora lavorativo" + non_working: "%{date} è ora non lavorativo" links: configuration_guide: 'Guida di configurazione' get_in_touch: "Hai dei dubbi? Mettiti in contatto con noi." @@ -1490,6 +1490,7 @@ it: label_age: "Età" label_ago: "giorni fa" label_all: "tutti" + label_all_projects: "All projects" label_all_time: "tutto il tempo" label_all_words: "Tutte le parole" label_all_open_wps: "Apri tutto" @@ -1506,6 +1507,7 @@ it: label_ical_access_key_revoke: "Revoca" label_applied_status: "Stato applicato" label_archive_project: "Archivia progetto" + label_archived_projects: "Archived projects" label_ascending: "Crescente" label_assigned_to_me_work_packages: "Macro-attività assegnate a me" label_associated_revisions: "Revisioni associate" @@ -1592,7 +1594,7 @@ it: label_database_version: "Versione di PostgreSQL" label_date: "Data" label_date_and_time: "Data e ora" - label_date_format: "Date format" + label_date_format: "Formato data" label_date_from: "Da" label_date_from_to: "Da %{start} a %{end}" label_date_to: "A" @@ -1641,7 +1643,8 @@ it: label_equals: "è" label_everywhere: "ovunque" label_example: "Esempio" - label_experimental: "Experimental" + label_experimental: "Sperimentale" + label_i_am_member: "I am member" label_import: "Importazione" label_export_to: "Disponibile anche in:" label_expanded_click_to_collapse: "Espanso. Clicca per comprimere" @@ -1678,6 +1681,7 @@ it: label_hierarchy_leaf: "Foglia della gerarchia" label_home: "Radice (home)" label_subject_or_id: "Oggetto o ID" + label_icalendar: "iCalendar" label_impressum: "Note legali" label_in: "in" label_in_less_than: "in meno di" @@ -2349,7 +2353,7 @@ it: archived: "Archiviato" project_module_activity: "Attività" project_module_forums: "Forum" - project_module_work_package_tracking: "Monitoraggio macro-attività" + project_module_work_package_tracking: "Macro-attività" project_module_news: "Notizie" project_module_repository: "Archivio" project_module_wiki: "Wiki" @@ -2523,7 +2527,7 @@ it: setting_consent_decline_mail: "Indirizzo mail del contatto di consenso" setting_cross_project_work_package_relations: "Consenti di correlare macro-attività tra più progetti" setting_first_week_of_year: "La prima settimana dell'anno contiene" - setting_date_format: "Date" + setting_date_format: "Data" setting_default_language: "Linguaggio predefinito" setting_default_projects_modules: "Moduli abilitati in automatico su nuovi progetti" setting_default_projects_public: "I nuovi progetti sono pubblici come impostazione predefinita" @@ -2535,7 +2539,7 @@ it: setting_enabled_scm: "SCM Abilitato" setting_enabled_projects_columns: "Visibile nell'elenco dei progetti" setting_feeds_enabled: "Abilita Feed" - setting_ical_enabled: "Abilita Iscrizioni di iCalendar" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Limite al contenuto del contributo" setting_file_max_size_displayed: "Dimensione massima dei file di testo visualizzati inline" setting_host_name: "Nome dell'Host" @@ -2586,7 +2590,7 @@ it: setting_start_of_week: "La settimana inizia da" setting_sys_api_enabled: "Abilita la gestione di archivi via web service" setting_sys_api_description: "Il web service di gestione archivio fornisce servizi per integrare ed autorizzare gli utenti nell'accesso agli archivi." - setting_time_format: "Time" + setting_time_format: "Tempo" setting_accessibility_mode_for_anonymous: "Abilita la modalità di accesso facilitato per utenti anonimi" setting_user_format: "Formato del nome utente" setting_user_default_timezone: "Orario predefinito utenti" @@ -2597,36 +2601,23 @@ it: setting_welcome_on_homescreen: "Mostra il blocco testo di benvenuto nella pagina home" setting_work_package_list_default_highlighting_mode: "Modalità evidenziazione predefinita" setting_work_package_list_default_highlighted_attributes: "Attributi evidenziati in linea predefiniti" - setting_working_days: "Working days" + setting_working_days: "Giorni lavorativi" settings: - general: "Generale" - other: "Altro" - passwords: "Password" - session: "Sessione" - brute_force_prevention: "Blocco automatico degli utenti" attachments: whitelist_text_html: > Definisci un elenco di estensioni di file valide e/o tipi MIME per i file caricati.
    Inserisci le estensioni dei file (ad es. %{ext_example}) o i tipi MIME (ad es. %{mime_example}).
    Lascia vuoto per consentire il caricamento di qualsiasi tipo di file. Sono consentiti più valori (una riga per ogni valore). + brute_force_prevention: "Blocco automatico degli utenti" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Determina per quale evento viene inviata un''e-mail. Le macro-attività sono escluse da questo elenco in quanto le notifiche per essi possono essere configurate in modo specifico per ogni utente.' - delay_minutes_explanation: "L'invio di e-mail può essere ritardato per consentire agli utenti con la notifica in-app configurata di confermare la notifica all'interno dell'applicazione prima che la mail venga inviata. Gli utenti che leggono una notifica all'interno dell'applicazione non riceveranno un'email per la notifica già letta." - display: + date_format: first_date_of_week_and_year_set: > - Se le opzioni "%{day_of_week_setting_name}" o "%{first_week_setting_name}" sono impostate, dev'esser impostata anche l'altra per evitare incoerenze in vetrina. - first_week_of_year_text: > - Seleziona la data di Gennaio contenuta nella prima settimana dell'anno. Questo valore, con il primo giorno della settimana, determina il numero totale di settimane in un anno. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Generale" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Impostazioni per i nuovi progetti" - section_project_overview: "Impostazioni per l'elenco generale dei progetti" - user: - default_preferences: "Preferenze predefinite" - display_format: "Formato di visualizzazione" - deletion: "Eliminazione" highlighting: mode_long: inline: "Attributo/i evidenziato/i in linea" @@ -2634,8 +2625,25 @@ it: status: "Tutta la riga per Stato" type: "Tutta la riga per Tipo" priority: "Tutta la riga per Priorità" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Determina per quale evento viene inviata un''e-mail. Le macro-attività sono escluse da questo elenco in quanto le notifiche per essi possono essere configurate in modo specifico per ogni utente.' + delay_minutes_explanation: "L'invio di e-mail può essere ritardato per consentire agli utenti con la notifica in-app configurata di confermare la notifica all'interno dell'applicazione prima che la mail venga inviata. Gli utenti che leggono una notifica all'interno dell'applicazione non riceveranno un'email per la notifica già letta." + other: "Altro" + passwords: "Password" + projects: + section_new_projects: "Impostazioni per i nuovi progetti" + section_project_overview: "Impostazioni per l'elenco generale dei progetti" + session: "Sessione" + user: + default_preferences: "Preferenze predefinite" + display_format: "Formato di visualizzazione" + deletion: "Eliminazione" working_days: - section_work_week: "Work week" + section_work_week: "Settimana lavorativa" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/ja.yml b/config/locales/crowdin/ja.yml index ce02aa564ee6..b1be1861d235 100644 --- a/config/locales/crowdin/ja.yml +++ b/config/locales/crowdin/ja.yml @@ -196,8 +196,6 @@ ja: no_results_content_text: 新しいカスタム フィールドを作成 concatenation: single: 'または' - documentation: - see_more_link: 詳細については、このトピックに関するドキュメントを参照してください。 global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -494,12 +492,12 @@ ja: status_code: 'プロジェクトの進捗状況' status_explanation: 'Project status description' status_codes: - not_started: 'Not started' + not_started: '未着手' on_track: '順調' at_risk: 'リスクあり' off_track: '脱線' finished: '完了しました' - discontinued: 'Discontinued' + discontinued: '中止' templated: "テンプレートプロジェクト" templated_value: true: "marked as template" @@ -523,6 +521,7 @@ ja: hours: " 時間" spent_on: "日付" type: "タイプ" + ongoing: "Ongoing" type: description: "デフォルトの説明" attribute_groups: '' @@ -1055,7 +1054,8 @@ ja: button_configure: "設定" button_continue: "続行" button_copy: "コピー" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "クリップボードにコピー" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "コピー後表示" button_create: "作成" button_create_and_continue: "連続作成" @@ -1470,6 +1470,7 @@ ja: label_age: "経過" label_ago: "○日前" label_all: "全て" + label_all_projects: "All projects" label_all_time: "全期間" label_all_words: "全ての単語" label_all_open_wps: "全ての未完了" @@ -1486,6 +1487,7 @@ ja: label_ical_access_key_revoke: "取り消し" label_applied_status: "適用されるステータス" label_archive_project: "プロジェクトをアーカイブ" + label_archived_projects: "Archived projects" label_ascending: "昇順" label_assigned_to_me_work_packages: "担当しているワークパッケージ" label_associated_revisions: "関連するリビジョン" @@ -1572,7 +1574,7 @@ ja: label_database_version: "PostgreSQL バージョン" label_date: "日付" label_date_and_time: "日付と時刻" - label_date_format: "Date format" + label_date_format: "日付の形式" label_date_from: "日付指定: " label_date_from_to: "%{start} ~%{end}" label_date_to: "から" @@ -1621,7 +1623,8 @@ ja: label_equals: "等しい" label_everywhere: "どこにでも" label_example: "例" - label_experimental: "Experimental" + label_experimental: "実験的" + label_i_am_member: "I am member" label_import: "インポート" label_export_to: "こちらもアクセス可能:" label_expanded_click_to_collapse: "拡大しました。クリックすると閉じます" @@ -1658,6 +1661,7 @@ ja: label_hierarchy_leaf: "階層枚" label_home: "ホーム" label_subject_or_id: "タイトルまたはID" + label_icalendar: "iCalendar" label_impressum: "法的情報" label_in: "今日から○日後" label_in_less_than: "今日から○日後以前" @@ -2327,7 +2331,7 @@ ja: archived: "アーカイブ済み" project_module_activity: "活動" project_module_forums: "フォーラム" - project_module_work_package_tracking: "ワークパッケージの追跡" + project_module_work_package_tracking: "ワークパッケージ" project_module_news: "ニュース" project_module_repository: "リポジトリ" project_module_wiki: "Wiki" @@ -2501,7 +2505,7 @@ ja: setting_consent_decline_mail: "連絡先メールアドレスに同意します。" setting_cross_project_work_package_relations: "他プロジェクトとの間にワークパッケージの関連付けを許可する" setting_first_week_of_year: "年の最初の週に含む" - setting_date_format: "Date" + setting_date_format: "日付" setting_default_language: "デフォルトの言語" setting_default_projects_modules: "新規プロジェクトにおいてデフォルトで有効になるモジュール" setting_default_projects_public: "デフォルトで新しいプロジェクトは公開にする" @@ -2513,7 +2517,7 @@ ja: setting_enabled_scm: "使用するバージョン管理システム" setting_enabled_projects_columns: "プロジェクトリストに表示する" setting_feeds_enabled: "フィードを有効にする" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "フィードの項目数の上限" setting_file_max_size_displayed: "画面表示するテキストファイルの最大サイズ" setting_host_name: "ホスト名" @@ -2564,7 +2568,7 @@ ja: setting_start_of_week: "週の開始" setting_sys_api_enabled: "リポジトリ管理Webサービスを有効にする" setting_sys_api_description: "リポジトリ管理Webサービスは、リポジトリへのアクセスの統合およびユーザー認証を提供します。" - setting_time_format: "Time" + setting_time_format: "時間" setting_accessibility_mode_for_anonymous: "匿名ユーザ向けにアクセシビリティモードを有効" setting_user_format: "Users name format" setting_user_default_timezone: "ユーザーのデフォルトのタイム ゾーン" @@ -2577,34 +2581,21 @@ ja: setting_work_package_list_default_highlighted_attributes: "デフォルトのインライン強調表示属性" setting_working_days: "Working days" settings: - general: "概要" - other: "その他" - passwords: "パスワード" - session: "セッション" - brute_force_prevention: "自動的にユーザをロック" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "自動的にユーザをロック" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "メール送信を遅らせることで、アプリ内通知を設定したユーザーが、メールを送信前にアプリケーション内で通知を確認できるようにすることができます。 アプリケーション内で通知を読んだユーザーは、すでに読んだ通知の電子メールを受け取りません。" - display: + date_format: first_date_of_week_and_year_set: > - オプション "%{day_of_week_setting_name}" または "%{first_week_setting_name}" が設定されている場合、フロントエンドでの不整合を避けるために、もう一方も設定する必要があります。 - first_week_of_year_text: > - その年の最初の週に含まれる1月の日付を選択します。 この値と週の開始の日によって、1年の合計週数が決定されます。 + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "概要" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "新規プロジェクトの設定" - section_project_overview: "プロジェクト概要リストの設定" - user: - default_preferences: "デフォルト設定" - display_format: "Display format" - deletion: "削除" highlighting: mode_long: inline: "属性をインラインで強調表示する" @@ -2612,6 +2603,23 @@ ja: status: "ステータス別の行全体" type: "タイプごとの行全体" priority: "優先度別に行全体" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "メール送信を遅らせることで、アプリ内通知を設定したユーザーが、メールを送信前にアプリケーション内で通知を確認できるようにすることができます。 アプリケーション内で通知を読んだユーザーは、すでに読んだ通知の電子メールを受け取りません。" + other: "その他" + passwords: "パスワード" + projects: + section_new_projects: "新規プロジェクトの設定" + section_project_overview: "プロジェクト概要リストの設定" + session: "セッション" + user: + default_preferences: "デフォルト設定" + display_format: "Display format" + deletion: "削除" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/js-af.yml b/config/locales/crowdin/js-af.yml index 5d5468e2e044..6627cf3a868b 100644 --- a/config/locales/crowdin/js-af.yml +++ b/config/locales/crowdin/js-af.yml @@ -66,6 +66,7 @@ af: button_continue: "Continue" button_copy: "Kopieer" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Pasgemaakte velde" button_delete: "Skrap" @@ -737,6 +738,14 @@ af: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log tyd' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-ar.yml b/config/locales/crowdin/js-ar.yml index 2943dadee136..35963075270b 100644 --- a/config/locales/crowdin/js-ar.yml +++ b/config/locales/crowdin/js-ar.yml @@ -65,7 +65,8 @@ ar: button_confirm: "تأكيد" button_continue: "Continue" button_copy: "انسخ" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "نسخ إلى الحافظة" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "الحقول المخصصة" button_delete: "احذف" @@ -741,6 +742,14 @@ ar: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'وقت السجل' + tracking: 'تعقب الوقت' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-az.yml b/config/locales/crowdin/js-az.yml index f806392f3007..bae7ffbff871 100644 --- a/config/locales/crowdin/js-az.yml +++ b/config/locales/crowdin/js-az.yml @@ -66,6 +66,7 @@ az: button_continue: "Davam" button_copy: "Kopyala" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Digər layihəyə kopyala" button_custom-fields: "Özəl sahələr" button_delete: "Sil" @@ -737,6 +738,14 @@ az: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Jurnal vaxtı' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-be.yml b/config/locales/crowdin/js-be.yml index 73fdcd6e04c1..d88b2adfe643 100644 --- a/config/locales/crowdin/js-be.yml +++ b/config/locales/crowdin/js-be.yml @@ -66,6 +66,7 @@ be: button_continue: "Continue" button_copy: "Скапіраваць" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Карыстальніцкія палі" button_delete: "Выдаліць" @@ -739,6 +740,14 @@ be: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log time' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-bg.yml b/config/locales/crowdin/js-bg.yml index 36906aa9d798..5785cc172437 100644 --- a/config/locales/crowdin/js-bg.yml +++ b/config/locales/crowdin/js-bg.yml @@ -65,7 +65,8 @@ bg: button_confirm: "Confirm" button_continue: "Продължаване" button_copy: "Копиране" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Копирай в буфер" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "допълнителни полета" button_delete: "Изтрий" @@ -737,6 +738,14 @@ bg: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Отчетено време' + tracking: 'Проследяване по време' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-ca.yml b/config/locales/crowdin/js-ca.yml index 5939ae6e79ee..e13348136f66 100644 --- a/config/locales/crowdin/js-ca.yml +++ b/config/locales/crowdin/js-ca.yml @@ -66,6 +66,7 @@ ca: button_continue: "Continua" button_copy: "Copiar" button_copy_to_clipboard: "Copiar al porta-retalls" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copia a un altre projecte" button_custom-fields: "Camps personalitzats" button_delete: "Esborrar" @@ -737,6 +738,14 @@ ca: time_entry: work_package_required: 'Requereix seleccionar un paquet de treball primer.' title: 'Registrar temps' + tracking: 'Seguiment de temps' + stop: 'Aturar' + timer: + start_new_timer: 'Iniciar nou temporitzador' + timer_already_running: 'Per començar un nou temporitzador, has de parar el temporitzador actual:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Seguiment de temps' + button_stop: 'Aturar el temporitzador actual' two_factor_authentication: label_two_factor_authentication: 'Autentificació en dos passos' watchers: diff --git a/config/locales/crowdin/js-ckb-IR.yml b/config/locales/crowdin/js-ckb-IR.yml index 71698cc919c8..34bd1b153cf3 100644 --- a/config/locales/crowdin/js-ckb-IR.yml +++ b/config/locales/crowdin/js-ckb-IR.yml @@ -66,6 +66,7 @@ ckb-IR: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "Delete" @@ -737,6 +738,14 @@ ckb-IR: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log time' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-cs.yml b/config/locales/crowdin/js-cs.yml index e9545a75086e..1274e839eb4b 100644 --- a/config/locales/crowdin/js-cs.yml +++ b/config/locales/crowdin/js-cs.yml @@ -65,7 +65,8 @@ cs: button_confirm: "Potvrdit" button_continue: "Pokračovat" button_copy: "Kopírovat" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopírovat do schránky" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Kopírovat do jiného projektu" button_custom-fields: "Vlastní pole" button_delete: "Odstranit" @@ -614,7 +615,7 @@ cs: inbox: 'Inbox' mentioned: 'Zmíněné' watched: 'Sledující' - date_alert: 'Date alert' + date_alert: 'Upozornění na datum' settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Nastavení oznámení" @@ -739,6 +740,14 @@ cs: time_entry: work_package_required: 'Vyžaduje nejprve výběr pracovního balíčku.' title: 'Čas protokolu' + tracking: 'Sledování času' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Dvoufázové ověření' watchers: diff --git a/config/locales/crowdin/js-da.yml b/config/locales/crowdin/js-da.yml index f1ef7c71d30f..1af9b1709904 100644 --- a/config/locales/crowdin/js-da.yml +++ b/config/locales/crowdin/js-da.yml @@ -65,7 +65,8 @@ da: button_confirm: "Bekræft" button_continue: "Fortsæt" button_copy: "Kopier" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopiér til Udklipsholder" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Selvvalgte felter" button_delete: "Slet" @@ -736,6 +737,14 @@ da: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Tidsregistrering' + tracking: 'Tidsregistrering' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-de.yml b/config/locales/crowdin/js-de.yml index b2f38ac9304e..6ce61c100cf6 100644 --- a/config/locales/crowdin/js-de.yml +++ b/config/locales/crowdin/js-de.yml @@ -66,6 +66,7 @@ de: button_continue: "Fortfahren" button_copy: "Kopieren" button_copy_to_clipboard: "In Zwischenablage kopieren" + button_copy_link_to_clipboard: "Link in Zwischenablage kopieren" button_copy_to_other_project: "In anderes Projekt kopieren" button_custom-fields: "Benutzerdefinierte Felder" button_delete: "Löschen" @@ -736,6 +737,14 @@ de: time_entry: work_package_required: 'Benötigt zuerst die Auswahl eines Arbeitspakets.' title: 'Zeit buchen' + tracking: 'Zeiterfassung' + stop: 'Anhalten' + timer: + start_new_timer: 'Neuen Timer starten' + timer_already_running: 'Um einen neuen Timer zu starten, müssen Sie zuerst den aktuellen Timer beenden:' + timer_already_stopped: 'Kein aktiver Timer für dieses Arbeitspaket, hast du einen Timer in einem anderen Fenster gestoppt?' + tracking_time: 'Zeiterfassung' + button_stop: 'Aktuellen Timer stoppen' two_factor_authentication: label_two_factor_authentication: 'Zwei-Faktor-Authentifizierung' watchers: @@ -1178,7 +1187,7 @@ de: close_search: "Suche schließen" current_project_and_all_descendants: "In diesem Projekt + Unterprojekten" current_project: "In diesem Projekt" - recently_viewed: "Recently viewed" + recently_viewed: "Vor Kurzem angesehen" search: "Suche" title: all_projects: "alle Projekte" diff --git a/config/locales/crowdin/js-el.yml b/config/locales/crowdin/js-el.yml index 2c7e9030868e..ddc3c8e5381d 100644 --- a/config/locales/crowdin/js-el.yml +++ b/config/locales/crowdin/js-el.yml @@ -65,7 +65,8 @@ el: button_confirm: "Επιβεβαίωση" button_continue: "Συνέχεια" button_copy: "Αντιγραφή" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Αντιγραφή στο πρόχειρο" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Προσαρμοσμένα πεδία" button_delete: "Διαγραφή" @@ -736,6 +737,14 @@ el: time_entry: work_package_required: 'Πρέπει πρώτα να επιλεγεί ένα πακέτο εργασίας.' title: 'Καταγραφή χρόνου' + tracking: 'Παρακολούθηση χρόνου' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Ταυτοποίηση δύο παραγόντων' watchers: diff --git a/config/locales/crowdin/js-eo.yml b/config/locales/crowdin/js-eo.yml index 087e96175643..8a39cec9f22f 100644 --- a/config/locales/crowdin/js-eo.yml +++ b/config/locales/crowdin/js-eo.yml @@ -65,7 +65,8 @@ eo: button_confirm: "Konfirmi" button_continue: "Daŭrigi" button_copy: "Kopii" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopii al la tondujo" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Propraj kampoj" button_delete: "Forigi" @@ -737,6 +738,14 @@ eo: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Tempoprotokolo' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-es.yml b/config/locales/crowdin/js-es.yml index a25a747fba66..9e9d0565286a 100644 --- a/config/locales/crowdin/js-es.yml +++ b/config/locales/crowdin/js-es.yml @@ -65,7 +65,8 @@ es: button_confirm: "Confirmar" button_continue: "Continuar" button_copy: "Copiar" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copiar en el portapapeles" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copiar en otro proyecto" button_custom-fields: "Campos personalizados" button_delete: "Eliminar" @@ -737,6 +738,14 @@ es: time_entry: work_package_required: 'Es necesario seleccionar primero un paquete de trabajo.' title: 'Registro de tiempo' + tracking: 'Tiempo de seguimiento' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Autenticación de dos factores' watchers: diff --git a/config/locales/crowdin/js-et.yml b/config/locales/crowdin/js-et.yml index 4cd430c94bc9..acd802ffddd9 100644 --- a/config/locales/crowdin/js-et.yml +++ b/config/locales/crowdin/js-et.yml @@ -66,6 +66,7 @@ et: button_continue: "Jätka" button_copy: "Kopeeri" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Lisaväljad" button_delete: "Kustuta" @@ -737,6 +738,14 @@ et: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Ajakulu' + tracking: 'Ajakulu arvestus' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-eu.yml b/config/locales/crowdin/js-eu.yml index ab3b15f8515f..52ba41447aa3 100644 --- a/config/locales/crowdin/js-eu.yml +++ b/config/locales/crowdin/js-eu.yml @@ -66,6 +66,7 @@ eu: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "Delete" @@ -737,6 +738,14 @@ eu: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log time' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-fa.yml b/config/locales/crowdin/js-fa.yml index 86f7df5efb51..4a45cb2a5219 100644 --- a/config/locales/crowdin/js-fa.yml +++ b/config/locales/crowdin/js-fa.yml @@ -66,6 +66,7 @@ fa: button_continue: "Continue" button_copy: "کپی" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "حذف" @@ -737,6 +738,14 @@ fa: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'پیگیری زمان' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-fi.yml b/config/locales/crowdin/js-fi.yml index 36ab0faf6989..425eee418bfc 100644 --- a/config/locales/crowdin/js-fi.yml +++ b/config/locales/crowdin/js-fi.yml @@ -65,7 +65,8 @@ fi: button_confirm: "Vahvista" button_continue: "Jatka" button_copy: "Kopioi" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopioi leikepöydälle" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Mukautetut kentät" button_delete: "Poista" @@ -737,6 +738,14 @@ fi: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Kirjaa työaika' + tracking: 'Työajanseuranta' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Kaksivaiheinen tunnistautuminen' watchers: diff --git a/config/locales/crowdin/js-fil.yml b/config/locales/crowdin/js-fil.yml index 2c9a638690e8..0ac120725597 100644 --- a/config/locales/crowdin/js-fil.yml +++ b/config/locales/crowdin/js-fil.yml @@ -65,7 +65,8 @@ fil: button_confirm: "Kumpirmahin" button_continue: "Magpatuloy" button_copy: "Kopyahin" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopyahin sa clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Mga pasadyang patlang" button_delete: "Burahin" @@ -737,6 +738,14 @@ fil: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Ang oras ng tala' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Ang dalwang-Dahilan sa authentication' watchers: diff --git a/config/locales/crowdin/js-fr.yml b/config/locales/crowdin/js-fr.yml index 963675c3a6eb..f28004d3c558 100644 --- a/config/locales/crowdin/js-fr.yml +++ b/config/locales/crowdin/js-fr.yml @@ -65,7 +65,8 @@ fr: button_confirm: "Confirmer" button_continue: "Continuer" button_copy: "Copier" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copier dans le presse-papier" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copier vers un autre projet" button_custom-fields: "Champs personnalisés" button_delete: "Supprimer" @@ -737,6 +738,14 @@ fr: time_entry: work_package_required: 'Nécessite d''abord la sélection d''un lot de travaux.' title: 'Consigner temps' + tracking: 'Suivi du temps' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Authentification à deux facteurs' watchers: diff --git a/config/locales/crowdin/js-he.yml b/config/locales/crowdin/js-he.yml index d6d95637fdcb..6f02980b9493 100644 --- a/config/locales/crowdin/js-he.yml +++ b/config/locales/crowdin/js-he.yml @@ -66,6 +66,7 @@ he: button_continue: "Continue" button_copy: "העתק" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "שדות מותאמים אישית" button_delete: "מחק" @@ -739,6 +740,14 @@ he: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'נרשם ביומן' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-hi.yml b/config/locales/crowdin/js-hi.yml index bb9e030e63de..d9bdcec8370c 100644 --- a/config/locales/crowdin/js-hi.yml +++ b/config/locales/crowdin/js-hi.yml @@ -66,6 +66,7 @@ hi: button_continue: "Continue" button_copy: "प्रतिलिपि बनाएँ" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "मिटाएँ" @@ -737,6 +738,14 @@ hi: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'लॉग समय' + tracking: 'समय ट्रैकिंग' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-hr.yml b/config/locales/crowdin/js-hr.yml index 32d148b1f2bd..7f6e2ce10179 100644 --- a/config/locales/crowdin/js-hr.yml +++ b/config/locales/crowdin/js-hr.yml @@ -65,7 +65,8 @@ hr: button_confirm: "Potvrdi" button_continue: "Nastavi" button_copy: "Kopiraj" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopiraj u međuspremnik" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Prilagođena polja" button_delete: "Obriši" @@ -738,6 +739,14 @@ hr: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Vrijeme pristupa' + tracking: 'Praćenje vremena' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-hu.yml b/config/locales/crowdin/js-hu.yml index 45a1d19300b1..7ef5b3cad401 100644 --- a/config/locales/crowdin/js-hu.yml +++ b/config/locales/crowdin/js-hu.yml @@ -65,7 +65,8 @@ hu: button_confirm: "Jóváhagy" button_continue: "Folytatás" button_copy: "Másol" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Másolás a vágólapra" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Másolás másik projektbe" button_custom-fields: "Választható mezők" button_delete: "Törlés" @@ -737,6 +738,14 @@ hu: time_entry: work_package_required: 'Először ki kell választania egy munkacsomagot.' title: 'Eltöltött idő rögzítése' + tracking: 'Munkaidő követése' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Kétlépcsős hitelesítés' watchers: diff --git a/config/locales/crowdin/js-id.yml b/config/locales/crowdin/js-id.yml index 1a76edc1af75..d3ee89ac27ea 100644 --- a/config/locales/crowdin/js-id.yml +++ b/config/locales/crowdin/js-id.yml @@ -66,6 +66,7 @@ id: button_continue: "Lanjut" button_copy: "Salin" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Isian kustom" button_delete: "Hapus" @@ -126,7 +127,7 @@ id: errors: could_not_load: 'The data to display the graph could not be loaded. The necessary permissions may be lacking.' description_available_columns: "Kolom tersedia" - description_current_position: "You are here: " + description_current_position: "Kamu di sini:" description_select_work_package: "Select work package #%{id}" description_selected_columns: "Kolom dipilih" description_subwork_package: "Child of work package #%{id}" @@ -261,7 +262,7 @@ id: add_non_working_day: "Non-working day" already_added_error: "A non-working day for this date exists already. There can only be one non-working day created for each unique date." change_button: "Save and reschedule" - change_title: "Change working days" + change_title: "Ubah hari kerja" removed_title: "You will remove the following days from the non-working days list:" change_description: "Changing which days of the week are considered working days or non-working days can affect the start and finish days of all work packages in all projects in this instance." warning: > @@ -568,7 +569,7 @@ id: commented: 'commented' processed: 'processed' prioritized: 'prioritized' - dateAlert: 'Date alert' + dateAlert: 'Peringatan tanggal' date_alerts: milestone_date: 'Milestone date' overdue: 'Overdue' @@ -605,13 +606,13 @@ id: message: 'There are new notifications.' link_text: 'Click here to load them' menu: - accountable: 'Accountable' + accountable: 'Akuntabel' by_project: 'Unread by project' by_reason: 'Reason' inbox: 'Inbox' mentioned: 'Mentioned' watched: 'Pemantau' - date_alert: 'Date alert' + date_alert: 'Peringatan tanggal' settings: change_notification_settings: 'You can modify your notification settings to ensure you never miss an important update.' title: "Notification settings" @@ -633,7 +634,7 @@ id: title: 'Mentioned' description: 'Receive a notification every time someone mentions me anywhere' assignee: 'Pelimpahan' - responsible: 'Accountable' + responsible: 'Akuntabel' watched: 'Pemantau' work_package_commented: 'All new comments' work_package_created: 'New work packages' @@ -679,7 +680,7 @@ id: context: 'Konteks proyek' click_to_switch_to_project: 'Project: %{projectname}' confirm_template_load: 'Switching the template will reload the page and you will lose all input to this form. Continue?' - use_template: "Use template" + use_template: "Gunakan templat" no_template_selected: "(None)" copy: copy_options: "Copy options" @@ -736,6 +737,14 @@ id: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Catatan waktu' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Autentikasi dua faktor' watchers: @@ -828,7 +837,7 @@ id: button_deactivate: 'Hide Gantt chart' cancel: Batal change: "Perubahan dalam perencanaan" - due_date: "Finish date" + due_date: "Tanggal selesai" empty: "(kosong)" error: "An error has occurred." errors: @@ -973,7 +982,7 @@ id: createdAt: "Dibuat" description: "Deskripsi" date: "Tanggal" - dueDate: "Finish date" + dueDate: "Tanggal selesai" duration: "Durasi" estimatedTime: "Estimasi Waktu" spentTime: "Durasi" @@ -996,7 +1005,7 @@ id: created_by_me: "Created by me" assigned_to_me: "Assigned to me" recently_created: "Recently created" - all_open: "All open" + all_open: "Semua terbuka" summary: "Ringkasan" jump_marks: pagination: "Jump to table pagination" @@ -1213,7 +1222,7 @@ id: title: 'Grup' description: 'Permissions based on the assigned role in the selected project' placeholder: - title: 'Placeholder user' + title: 'Pengguna placeholder' title_no_ee: 'Placeholder user (Enterprise edition only add-on)' description: 'Has no access to the project and no emails are sent out.' description_no_ee: 'Has no access to the project and no emails are sent out.
    Check out the Enterprise edition' @@ -1257,7 +1266,7 @@ id: clear_selection: 'Clear selection' apply: 'Apply' selected_filter: - all: 'All projects' + all: 'Semua proyek' selected: 'Only selected' search_placeholder: 'Search project...' include_subprojects: 'Include all sub-projects' diff --git a/config/locales/crowdin/js-it.yml b/config/locales/crowdin/js-it.yml index 15703a5abfd9..19813b0aa8b1 100644 --- a/config/locales/crowdin/js-it.yml +++ b/config/locales/crowdin/js-it.yml @@ -65,7 +65,8 @@ it: button_confirm: "Conferma" button_continue: "Continua" button_copy: "Copia" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copia negli appunti" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copia su altro progetto" button_custom-fields: "Campo personalizzato" button_delete: "Cancella" @@ -737,6 +738,14 @@ it: time_entry: work_package_required: 'Richiede prima di selezionare una macro-attività.' title: 'Registra l''orario effettuato' + tracking: 'Monitoraggio tempi' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Autenticazione due fattori' watchers: diff --git a/config/locales/crowdin/js-ja.yml b/config/locales/crowdin/js-ja.yml index 08beca7f2672..945bf2a8861c 100644 --- a/config/locales/crowdin/js-ja.yml +++ b/config/locales/crowdin/js-ja.yml @@ -66,7 +66,8 @@ ja: button_confirm: "確認" button_continue: "続行" button_copy: "コピー" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "クリップボードにコピー" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "カスタムフィールド" button_delete: "削除" @@ -737,6 +738,14 @@ ja: time_entry: work_package_required: '最初にワークパッケージを選択する必要があります。' title: '時間を記録' + tracking: '作業時間の記録' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: '2要素認証' watchers: diff --git a/config/locales/crowdin/js-ka.yml b/config/locales/crowdin/js-ka.yml index 6427b6e16488..06b64afbacf1 100644 --- a/config/locales/crowdin/js-ka.yml +++ b/config/locales/crowdin/js-ka.yml @@ -66,6 +66,7 @@ ka: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "Delete" @@ -242,7 +243,7 @@ ka: professional_support: "Professional support" professional_support_text: "Get reliable, high-touch support from senior support engineers with expert knowledge about running OpenProject in business-critical environments." button_start_trial: "Start free trial" - button_upgrade: "Upgrade now" + button_upgrade: "ახლავე განაახლე" button_contact_us: "Contact us for a demo" button_book_now: "Book now" confidence: > @@ -737,6 +738,14 @@ ka: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log time' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: @@ -984,14 +993,14 @@ ka: projectName: "Project" responsible: "Responsible" startDate: "Start date" - status: "Status" + status: "სტატუსი" subject: "Subject" subproject: "Subproject" title: "Title" type: "Type" updatedAt: "Updated on" - versionName: "Version" - version: "Version" + versionName: "ვერსია" + version: "ვერსია" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1060,7 +1069,7 @@ ka: inline: 'Highlighted attribute(s)' inline_all: 'All attributes' entire_row_by: 'Entire row by' - status: 'Status' + status: 'სტატუსი' priority: 'Priority' type: 'Type' sorting_mode: diff --git a/config/locales/crowdin/js-ko.yml b/config/locales/crowdin/js-ko.yml index 3ea70f9cc2a4..73ad05a1f212 100644 --- a/config/locales/crowdin/js-ko.yml +++ b/config/locales/crowdin/js-ko.yml @@ -65,7 +65,8 @@ ko: button_confirm: "확인" button_continue: "계속" button_copy: "복사" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "클립보드 복사" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "다른 프로젝트에 복사" button_custom-fields: "사용자 정의 필드" button_delete: "삭제" @@ -736,6 +737,14 @@ ko: time_entry: work_package_required: '먼저 작업 패키지를 선택해야 합니다.' title: '작업시간 기록' + tracking: '시간 추적' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: '2단계 인증' watchers: diff --git a/config/locales/crowdin/js-lol.yml b/config/locales/crowdin/js-lol.yml index ed6f6b341fec..3ba7059e5843 100644 --- a/config/locales/crowdin/js-lol.yml +++ b/config/locales/crowdin/js-lol.yml @@ -66,6 +66,7 @@ lol: button_continue: "crwdns786902:0crwdne786902:0" button_copy: "crwdns786904:0crwdne786904:0" button_copy_to_clipboard: "crwdns855841:0crwdne855841:0" + button_copy_link_to_clipboard: "crwdns858843:0crwdne858843:0" button_copy_to_other_project: "crwdns786906:0crwdne786906:0" button_custom-fields: "crwdns786908:0crwdne786908:0" button_delete: "crwdns786910:0crwdne786910:0" @@ -735,6 +736,14 @@ lol: time_entry: work_package_required: 'crwdns787892:0crwdne787892:0' title: 'crwdns787904:0crwdne787904:0' + tracking: 'crwdns858103:0crwdne858103:0' + stop: 'crwdns858105:0crwdne858105:0' + timer: + start_new_timer: 'crwdns858107:0crwdne858107:0' + timer_already_running: 'crwdns858109:0crwdne858109:0' + timer_already_stopped: 'crwdns858111:0crwdne858111:0' + tracking_time: 'crwdns858113:0crwdne858113:0' + button_stop: 'crwdns858115:0crwdne858115:0' two_factor_authentication: label_two_factor_authentication: 'crwdns787906:0crwdne787906:0' watchers: diff --git a/config/locales/crowdin/js-lt.yml b/config/locales/crowdin/js-lt.yml index 3f83450f9840..e9f9f3909fb2 100644 --- a/config/locales/crowdin/js-lt.yml +++ b/config/locales/crowdin/js-lt.yml @@ -66,6 +66,7 @@ lt: button_continue: "Tęsti" button_copy: "Kopijuoti" button_copy_to_clipboard: "Kopijuoti į iškarpinę" + button_copy_link_to_clipboard: "Kopijuoti nuorodą į iškarpinę" button_copy_to_other_project: "Kopijuoti į kitą projektą" button_custom-fields: "Pritaikyti laukai" button_delete: "Trinti" @@ -739,6 +740,14 @@ lt: time_entry: work_package_required: 'Reikia pirma pasirinkti darbo paketą.' title: 'Registruoti laiką' + tracking: 'Laiko apskaita' + stop: 'Stabdyti' + timer: + start_new_timer: 'Pradėti naują laikmatį' + timer_already_running: 'Norėdami pradėti naują laikmatį, jūs iš pradžių turite sustabdyti esamą laikmatį:' + timer_already_stopped: 'Šis darbo paketas neturi aktyvių laikmačių, ar sustabdėte jį kitame lange?' + tracking_time: 'Sekamas laikas' + button_stop: 'Stabdyti dabartinį laikmatį' two_factor_authentication: label_two_factor_authentication: 'Dviejų veiksnių autentifikavimas' watchers: diff --git a/config/locales/crowdin/js-lv.yml b/config/locales/crowdin/js-lv.yml index 6a06384e4f77..eadfb19c74d7 100644 --- a/config/locales/crowdin/js-lv.yml +++ b/config/locales/crowdin/js-lv.yml @@ -65,7 +65,8 @@ lv: button_confirm: "Confirm" button_continue: "Continue" button_copy: "Copy" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopēt uz starpliktuvi" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Pielāgotie lauki" button_delete: "Dzēst" @@ -738,6 +739,14 @@ lv: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log time' + tracking: 'Laika uzskaite' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-mn.yml b/config/locales/crowdin/js-mn.yml index 1744ea87a5e4..e1502e3800a2 100644 --- a/config/locales/crowdin/js-mn.yml +++ b/config/locales/crowdin/js-mn.yml @@ -66,6 +66,7 @@ mn: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "Delete" @@ -737,6 +738,14 @@ mn: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log time' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-ne.yml b/config/locales/crowdin/js-ne.yml index f1b778582ae0..b6e4b933af9c 100644 --- a/config/locales/crowdin/js-ne.yml +++ b/config/locales/crowdin/js-ne.yml @@ -66,6 +66,7 @@ ne: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "Delete" @@ -737,6 +738,14 @@ ne: time_entry: work_package_required: 'सबै भन्दा पहिले कार्य प्याकेज चयन गर्न आवश्यक छ।' title: 'Log time' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-nl.yml b/config/locales/crowdin/js-nl.yml index b9162ff2ea1a..358f31787c8c 100644 --- a/config/locales/crowdin/js-nl.yml +++ b/config/locales/crowdin/js-nl.yml @@ -66,6 +66,7 @@ nl: button_continue: "Ga verder" button_copy: "Kopieer" button_copy_to_clipboard: "Kopiëren naar het klembord" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Kopiëren naar een ander project" button_custom-fields: "Aangepaste velden" button_delete: "Verwijderen" @@ -260,7 +261,7 @@ nl: new_date: '(nieuw)' add_non_working_day: "Vrije dagen" already_added_error: "A non-working day for this date exists already. There can only be one non-working day created for each unique date." - change_button: "Save and reschedule" + change_button: "Opslaan en opnieuw plannen" change_title: "Wijzig werkdagen" removed_title: "You will remove the following days from the non-working days list:" change_description: "Changing which days of the week are considered working days or non-working days can affect the start and finish days of all work packages in all projects in this instance." @@ -608,7 +609,7 @@ nl: menu: accountable: 'Verantwoording afleggen' by_project: 'Ongelezen per project' - by_reason: 'Reason' + by_reason: 'Reden' inbox: 'Inkomend' mentioned: 'Genoemd' watched: 'Kijker' @@ -618,17 +619,17 @@ nl: title: "Instellingen voor meldingen" notify_me: "Waarschuw mij" reminders: - no_notification: No notification + no_notification: Geen melding timeframes: normal: - PT0S: same day - P1D: 1 day before - P3D: 3 days before - P7D: a week before + PT0S: dezelfde dag + P1D: 1 dag ervoor + P3D: 3 dagen ervoor + P7D: een week ervoor overdue: - P1D: every day - P3D: every 3 days - P7D: every week + P1D: elke dag + P3D: elke 3 dagen + P7D: elke week reasons: mentioned: title: 'Genoemd' @@ -737,6 +738,14 @@ nl: time_entry: work_package_required: 'Vereist eerst een werkpakket te selecteren.' title: 'Gelogde tijd' + tracking: 'Tijdregistratie' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Twee-factor-authenticatie' watchers: diff --git a/config/locales/crowdin/js-no.yml b/config/locales/crowdin/js-no.yml index 288127b20482..42d783397e22 100644 --- a/config/locales/crowdin/js-no.yml +++ b/config/locales/crowdin/js-no.yml @@ -65,7 +65,8 @@ button_confirm: "Bekreft" button_continue: "Fortsett" button_copy: "Kopier" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopier til utklippstavlen" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Egendefinerte felter" button_delete: "Slett" @@ -467,7 +468,7 @@ label_this_week: "denne uken" label_today: "I dag" label_time_entry_plural: "Tid brukt" - label_up: "Up" + label_up: "Opp" label_user_plural: "Brukere" label_activity_show_only_comments: "Show activities with comments only" label_activity_show_all: "Show all activities" @@ -583,7 +584,7 @@ facets: unread: 'Unread' unread_title: 'Show unread' - all: 'All' + all: 'Alle' all_title: 'Vis alle' center: label_actor_and: 'og' @@ -737,6 +738,14 @@ time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Logg tid' + tracking: 'Tidsstyring' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Tofaktorautentisering' watchers: diff --git a/config/locales/crowdin/js-pl.yml b/config/locales/crowdin/js-pl.yml index 8f4afed5a5c4..ba4dddd90cde 100644 --- a/config/locales/crowdin/js-pl.yml +++ b/config/locales/crowdin/js-pl.yml @@ -65,7 +65,8 @@ pl: button_confirm: "Potwierdź" button_continue: "Kontynuuj" button_copy: "Kopiuj" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Skopiuj do schowka" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Kopiuj do innego projektu" button_custom-fields: "Pola niestandardowe" button_delete: "Usuń" @@ -739,6 +740,14 @@ pl: time_entry: work_package_required: 'Wymaga wybrania najpierw pakietu roboczego.' title: 'Rejestruj czas pracy' + tracking: 'Zarządzanie czasem' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Uwierzytelnianie dwuskładnikowe' watchers: diff --git a/config/locales/crowdin/js-pt.yml b/config/locales/crowdin/js-pt.yml index add6819e8ad3..5fe14e10d352 100644 --- a/config/locales/crowdin/js-pt.yml +++ b/config/locales/crowdin/js-pt.yml @@ -65,7 +65,8 @@ pt: button_confirm: "Confirmar" button_continue: "Continuar" button_copy: "Copiar" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copiar para a área de transferência" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copiar para outro projeto" button_custom-fields: "Campos personalizados" button_delete: "Excluir" @@ -736,6 +737,14 @@ pt: time_entry: work_package_required: 'É necessário selecionar primeiro um pacote de trabalho.' title: 'Registro de tempo' + tracking: 'Controle de tempo' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Autenticação de dois fatores' watchers: diff --git a/config/locales/crowdin/js-ro.yml b/config/locales/crowdin/js-ro.yml index b9c8516148f2..e074b83bfc73 100644 --- a/config/locales/crowdin/js-ro.yml +++ b/config/locales/crowdin/js-ro.yml @@ -65,7 +65,8 @@ ro: button_confirm: "Confirmă" button_continue: "Continuaţi" button_copy: "Copiere" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copiere în clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copiază în alt proiect" button_custom-fields: "Câmpuri personalizate" button_delete: "Ștergere" @@ -737,6 +738,14 @@ ro: time_entry: work_package_required: 'Necesită să se selecteze mai întâi un pachet de lucru.' title: 'Consum timp' + tracking: 'Monitorizare efort' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Autentificare cu doi factori' watchers: diff --git a/config/locales/crowdin/js-ru.yml b/config/locales/crowdin/js-ru.yml index 698a8f04bb8e..44fb5ef5b081 100644 --- a/config/locales/crowdin/js-ru.yml +++ b/config/locales/crowdin/js-ru.yml @@ -65,7 +65,8 @@ ru: button_confirm: "Подтвердить" button_continue: "Продолжить" button_copy: "Копировать" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Копировать в буфер обмена" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Копировать в другой проект" button_custom-fields: "Настраиваемые поля" button_delete: "Удалить" @@ -738,6 +739,14 @@ ru: time_entry: work_package_required: 'Сначала необходимо выбрать пакет работ.' title: 'Журналировать время' + tracking: 'Учет времени' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Двухфакторная аутентификация' watchers: diff --git a/config/locales/crowdin/js-rw.yml b/config/locales/crowdin/js-rw.yml index b250c3eb2c78..67b4fe6f1ba3 100644 --- a/config/locales/crowdin/js-rw.yml +++ b/config/locales/crowdin/js-rw.yml @@ -66,6 +66,7 @@ rw: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "Delete" @@ -737,6 +738,14 @@ rw: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log time' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-si.yml b/config/locales/crowdin/js-si.yml index 40551cf4a6bd..9d741d537b57 100644 --- a/config/locales/crowdin/js-si.yml +++ b/config/locales/crowdin/js-si.yml @@ -65,7 +65,8 @@ si: button_confirm: "තහවුරු කරන්න" button_continue: "ඉදිරියට යන්න" button_copy: "පිටපත් කරන්න" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "පසුරු පුවරුවට පිටපත් කරන්න" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "අභිරුචි ක්ෂේත්ර" button_delete: "මකන්න" @@ -737,6 +738,14 @@ si: time_entry: work_package_required: 'පළමුව වැඩ පැකේජයක් තෝරා ගැනීම අවශ්ය වේ.' title: 'ලොග් වේලාව' + tracking: 'ෙසොයා ගැනීෙම්' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-sk.yml b/config/locales/crowdin/js-sk.yml index 9b08c05790f9..445ca444b052 100644 --- a/config/locales/crowdin/js-sk.yml +++ b/config/locales/crowdin/js-sk.yml @@ -65,7 +65,8 @@ sk: button_confirm: "Potvrdiť" button_continue: "Pokračovať" button_copy: "Kopírovať" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopírovať do schránky" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Vlastné polia" button_delete: "Odstrániť" @@ -739,6 +740,14 @@ sk: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Zaprotokoluj čas' + tracking: 'Sledovanie času' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Dvojfaktorové overenie (2FA)' watchers: diff --git a/config/locales/crowdin/js-sl.yml b/config/locales/crowdin/js-sl.yml index c69195d341e7..474dc3b45f35 100644 --- a/config/locales/crowdin/js-sl.yml +++ b/config/locales/crowdin/js-sl.yml @@ -65,7 +65,8 @@ sl: button_confirm: "Potrdi" button_continue: "Nadaljuj" button_copy: "Kopiraj" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopiraj v odložišče" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Polja po meri" button_delete: "Izbriši" @@ -738,6 +739,14 @@ sl: time_entry: work_package_required: 'Najprej izberite opravilo' title: 'Beleži čas' + tracking: 'Sledenje časa' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Dvofaktorna avtentikacija' watchers: diff --git a/config/locales/crowdin/js-sr.yml b/config/locales/crowdin/js-sr.yml index 94f9fd4156fe..6e7448b714d1 100644 --- a/config/locales/crowdin/js-sr.yml +++ b/config/locales/crowdin/js-sr.yml @@ -66,6 +66,7 @@ sr: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Custom fields" button_delete: "Delete" @@ -738,6 +739,14 @@ sr: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Log time' + tracking: 'Time tracking' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-sv.yml b/config/locales/crowdin/js-sv.yml index 3d1e232f7d9b..3bada5ff3301 100644 --- a/config/locales/crowdin/js-sv.yml +++ b/config/locales/crowdin/js-sv.yml @@ -65,7 +65,8 @@ sv: button_confirm: "Bekräfta" button_continue: "Fortsätt" button_copy: "Kopiera" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopiera till Urklipp" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "Anpassade fält" button_delete: "Ta bort" @@ -736,6 +737,14 @@ sv: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'Logga tid' + tracking: 'Tidredovisning' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Tvåfaktorsautentisering' watchers: diff --git a/config/locales/crowdin/js-th.yml b/config/locales/crowdin/js-th.yml index e952baccb3f7..3f91effdcc60 100644 --- a/config/locales/crowdin/js-th.yml +++ b/config/locales/crowdin/js-th.yml @@ -65,7 +65,8 @@ th: button_confirm: "ยืนยัน" button_continue: "Continue" button_copy: "คัดลอก" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "คัดลอกไปยังคลิปบอร์ด" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" button_custom-fields: "ฟิลด์ที่กำหนดเอง" button_delete: "ลบ" @@ -736,6 +737,14 @@ th: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'เวลาที่ถูกบันทึก' + tracking: 'ติดตามเวลาที่ใช้' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-tr.yml b/config/locales/crowdin/js-tr.yml index 1506ff94689d..385a899f3b85 100644 --- a/config/locales/crowdin/js-tr.yml +++ b/config/locales/crowdin/js-tr.yml @@ -65,7 +65,8 @@ tr: button_confirm: "Onaylamak" button_continue: "Devam et" button_copy: "Kopyalamak" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Panoya kopyala" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Başka bir projeye kopyala" button_custom-fields: "Özel Alanlar" button_delete: "silmek" @@ -736,6 +737,14 @@ tr: time_entry: work_package_required: 'Önce bir iş paketi seçilmesini gerektirir.' title: 'Zaman kaydet' + tracking: 'Zaman takibi' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'İki faktörlü kimlik doğrulama' watchers: diff --git a/config/locales/crowdin/js-uk.yml b/config/locales/crowdin/js-uk.yml index 914ec7b0bb2b..778c1268c21e 100644 --- a/config/locales/crowdin/js-uk.yml +++ b/config/locales/crowdin/js-uk.yml @@ -65,7 +65,8 @@ uk: button_confirm: "Підтвердити" button_continue: "Продовжити" button_copy: "Копіювати" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Копіювати в буфер обміну" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Копіювати в інший проєкт" button_custom-fields: "Індивідуальні поля" button_delete: "Видалити" @@ -739,6 +740,14 @@ uk: time_entry: work_package_required: 'Спочатку потрібно вибрати пакет робіт.' title: 'Час журналу' + tracking: 'Відстеження часу' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Двофакторна аутентифікація' watchers: diff --git a/config/locales/crowdin/js-vi.yml b/config/locales/crowdin/js-vi.yml index b9159822c7cd..0f9d9a60ef11 100644 --- a/config/locales/crowdin/js-vi.yml +++ b/config/locales/crowdin/js-vi.yml @@ -65,7 +65,8 @@ vi: button_confirm: "Xác nhận" button_continue: "Tiếp tục" button_copy: "Sao chép" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Sao chép vào clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Sao chép sang dự án khác" button_custom-fields: "Tùy chỉnh mục" button_delete: "Xoá" @@ -735,6 +736,14 @@ vi: time_entry: work_package_required: 'Yều cầu chọn một gói công việc đầu tiên.' title: 'Thời gian truy cập' + tracking: 'Theo dõi thời gian' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' watchers: diff --git a/config/locales/crowdin/js-zh-TW.yml b/config/locales/crowdin/js-zh-TW.yml index a985ab173fb5..8ddf77bed977 100644 --- a/config/locales/crowdin/js-zh-TW.yml +++ b/config/locales/crowdin/js-zh-TW.yml @@ -65,7 +65,8 @@ zh-TW: button_confirm: "確認" button_continue: "繼續" button_copy: "複製" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "複製到剪貼簿" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "複製到其他專案" button_custom-fields: "自訂欄位" button_delete: "删除" @@ -735,6 +736,14 @@ zh-TW: time_entry: work_package_required: 'Requires selecting a work package first.' title: '日誌的時間' + tracking: '時間追蹤' + stop: 'Stop' + timer: + start_new_timer: 'Start new timer' + timer_already_running: 'To start a new timer, you must first stop the current timer:' + timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' + tracking_time: 'Tracking time' + button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: '雙重身分驗證' watchers: diff --git a/config/locales/crowdin/ka.yml b/config/locales/crowdin/ka.yml index ae3bdf848b35..48d08ff5490e 100644 --- a/config/locales/crowdin/ka.yml +++ b/config/locales/crowdin/ka.yml @@ -78,7 +78,7 @@ ka: book_now: 'Book now' get_quote: 'Get a quote' buttons: - upgrade: "Upgrade now" + upgrade: "ახლავე განაახლე" contact: "Contact us for a demo" enterprise_info_html: "is an Enterprise add-on." upgrade_info: "Please upgrade to a paid plan to activate and start using it in your team." @@ -198,8 +198,6 @@ ka: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ ka: hours: "Hours" spent_on: "Date" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -587,7 +586,7 @@ ka: subproject: "Subproject" time_entries: "Log time" type: "Type" - version: "Version" + version: "ვერსია" watcher: "Watcher" 'doorkeeper/application': uid: "Client ID" @@ -922,7 +921,7 @@ ka: other: "Roles" type: "Type" user: "User" - version: "Version" + version: "ვერსია" wiki: "Wiki" wiki_page: "Wiki page" workflow: "Workflow" @@ -1006,7 +1005,7 @@ ka: role: "Role" roles: "Roles" start_date: "Start date" - status: "Status" + status: "სტატუსი" subject: "Subject" summary: "Summary" title: "Title" @@ -1016,7 +1015,7 @@ ka: uploader: "Uploader" user: "User" value: "Value" - version: "Version" + version: "ვერსია" work_package: "Work package" backup: failed: "Backup failed" @@ -1067,6 +1066,7 @@ ka: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1493,6 +1493,7 @@ ka: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ ka: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1645,6 +1647,7 @@ ka: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ ka: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -1911,7 +1915,7 @@ ka: label_start_to_end: "start to end" label_start_to_start: "start to start" label_statistics: "Statistics" - label_status: "Status" + label_status: "სტატუსი" label_stay_logged_in: "Stay logged in" label_storage_free_space: "Remaining disk space" label_storage_used_space: "Used disk space" @@ -2352,7 +2356,7 @@ ka: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2538,7 +2542,7 @@ ka: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2602,34 +2606,21 @@ ka: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ ka: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" @@ -2824,7 +2832,7 @@ ka: type: "Type" due_date: "End date" name: "Name" - status: "Status" + status: "სტატუსი" start_date: "Start date" columns: "Columns" comparisons: "Comparisons" diff --git a/config/locales/crowdin/ko.yml b/config/locales/crowdin/ko.yml index 525b62c7bf79..87fe7c3f66d1 100644 --- a/config/locales/crowdin/ko.yml +++ b/config/locales/crowdin/ko.yml @@ -198,8 +198,6 @@ ko: no_results_content_text: 새 사용자 필드 생성 concatenation: single: '또는' - documentation: - see_more_link: 자세한 내용은 이 주제에 대한 저희의 문서를 참고하십시오. global_search: overwritten_tabs: wiki_pages: "위키" @@ -526,6 +524,7 @@ ko: hours: "시간" spent_on: "날짜" type: "타입" + ongoing: "Ongoing" type: description: "설명의 기본 텍스트" attribute_groups: '' @@ -1058,7 +1057,8 @@ ko: button_configure: "구성" button_continue: "계속" button_copy: "복사" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "클립보드 복사" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "복사하고 따라가기" button_create: "만들기" button_create_and_continue: "만들고 계속하기" @@ -1402,11 +1402,11 @@ ko: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day}은(는) 이제 근무일입니다." + non_working: "%{day}은(는) 이제 휴무일입니다." dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date}은(는) 이제 근무일입니다." + non_working: "%{date}은(는) 이제 휴무일입니다." links: configuration_guide: '구성 가이드' get_in_touch: "질문이 있으신가요? 문의해 주세요." @@ -1473,6 +1473,7 @@ ko: label_age: "기간" label_ago: "일 전" label_all: "모두" + label_all_projects: "All projects" label_all_time: "모든 시간" label_all_words: "모든 단어" label_all_open_wps: "모두 열림" @@ -1489,6 +1490,7 @@ ko: label_ical_access_key_revoke: "취소" label_applied_status: "적용된 상태" label_archive_project: "프로젝트 아카이브하기" + label_archived_projects: "Archived projects" label_ascending: "오름차순" label_assigned_to_me_work_packages: "내게 할당된 작업 패키지" label_associated_revisions: "연결된 수정" @@ -1575,7 +1577,7 @@ ko: label_database_version: "PostgreSQL 버전" label_date: "날짜" label_date_and_time: "날짜 및 시간" - label_date_format: "Date format" + label_date_format: "날짜 형식" label_date_from: "시작" label_date_from_to: "%{start}부터 %{end}까지" label_date_to: "끝" @@ -1624,7 +1626,8 @@ ko: label_equals: "일치함" label_everywhere: "어디에 있든지" label_example: "예" - label_experimental: "Experimental" + label_experimental: "실험" + label_i_am_member: "I am member" label_import: "가져오기" label_export_to: "다음에서도 사용 가능:" label_expanded_click_to_collapse: "확장되었습니다. 축소하려면 클릭하세요." @@ -1661,6 +1664,7 @@ ko: label_hierarchy_leaf: "계층 구조 리프" label_home: "홈" label_subject_or_id: "제목 또는 ID" + label_icalendar: "iCalendar" label_impressum: "법적 고지" label_in: "-" label_in_less_than: "보다 작음" @@ -2329,7 +2333,7 @@ ko: archived: "보관됨" project_module_activity: "활동" project_module_forums: "포럼" - project_module_work_package_tracking: "작업 패키지 추적" + project_module_work_package_tracking: "작업 패키지" project_module_news: "뉴스" project_module_repository: "리포지토리" project_module_wiki: "위키" @@ -2501,7 +2505,7 @@ ko: setting_consent_decline_mail: "동의 연락처 메일 주소" setting_cross_project_work_package_relations: "교차 프로젝트 작업 패키지 관계 허용" setting_first_week_of_year: "1년의 첫 주 기준" - setting_date_format: "Date" + setting_date_format: "날짜" setting_default_language: "기본 언어" setting_default_projects_modules: "새 프로젝트에 대해 기본적으로 활성화된 모듈" setting_default_projects_public: "새 프로젝트는 기본적으로 공용입니다." @@ -2513,7 +2517,7 @@ ko: setting_enabled_scm: "활성화된 SCM" setting_enabled_projects_columns: "프로젝트 목록에 표시" setting_feeds_enabled: "피드 사용" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "피드 콘텐츠 제한" setting_file_max_size_displayed: "인라인에 표시되는 텍스트 파일의 최대 크기" setting_host_name: "호스트 이름" @@ -2564,7 +2568,7 @@ ko: setting_start_of_week: "주의 시작:" setting_sys_api_enabled: "리포지토리 관리 웹 서비스 사용" setting_sys_api_description: "리포지토리 관리 웹 서비스는 리포지토리에 액세스하기 위한 통합 및 사용자 인증을 제공합니다." - setting_time_format: "Time" + setting_time_format: "시간" setting_accessibility_mode_for_anonymous: "익명 사용자에 대해 접근성 모드 사용" setting_user_format: "Users name format" setting_user_default_timezone: "사용자의 기본 표준 시간대" @@ -2575,36 +2579,23 @@ ko: setting_welcome_on_homescreen: "홈 화면에 환영 블록 표시" setting_work_package_list_default_highlighting_mode: "기본 강조 표시 모드" setting_work_package_list_default_highlighted_attributes: "기본 인라인 강조 표시 특성" - setting_working_days: "Working days" + setting_working_days: "근무일" settings: - general: "일반" - other: "기타" - passwords: "암호" - session: "세션" - brute_force_prevention: "자동화된 사용자 차단" attachments: whitelist_text_html: > 업로드된 파일의 유효한 파일 확장명 및/또는 MIME 형식 목록을 정의합니다.
    파일 확장명(예: %{ext_example}) 또는 MIME 형식(예: %{mime_example})을 입력합니다.
    모든 파일 형식을 업로드할 수 있도록 허용하려면 비워 둡니다. 여러 값이 허용됩니다(각 값에 대해 한 줄). + brute_force_prevention: "자동화된 사용자 차단" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: '이메일을 보낼 이벤트를 관리합니다. 작업 패키지에 대한 알림은 각 사용자에 대해 구체적으로 구성할 수 있으므로 작업 패키지는 이 목록에 포함되지 않습니다.' - delay_minutes_explanation: "인앱 알림이 구성된 사용자가 메일이 전송되기 전에 애플리케이션 내에서 알림을 확인할 수 있도록 이메일 전송이 지연될 수 있습니다. 애플리케이션 내에서 알림을 읽은 사용자는 이미 읽은 알림에 대한 이메일을 받지 않습니다." - display: + date_format: first_date_of_week_and_year_set: > - "%{day_of_week_setting_name}"이나 "%{first_week_setting_name}" 중 하나가 설정되었다면, 프론트엔드 충돌을 방지하기 위해 나머지 하나도 설정되어야 합니다. - first_week_of_year_text: > - 1년의 첫째 주에 포함될 1월 날짜를 선택하십시오. 이 값은 첫째 요일과 함께 1년의 총 주일 수를 결정합니다. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "일반" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "새 프로젝트의 설정" - section_project_overview: "프로젝트 개요 목록의 설정" - user: - default_preferences: "기본 설정" - display_format: "Display format" - deletion: "삭제" highlighting: mode_long: inline: "특성을 인라인으로 강조 표시" @@ -2612,8 +2603,25 @@ ko: status: "상태별 전체 행" type: "유형별 전체 행" priority: "우선 순위별 전체 행" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: '이메일을 보낼 이벤트를 관리합니다. 작업 패키지에 대한 알림은 각 사용자에 대해 구체적으로 구성할 수 있으므로 작업 패키지는 이 목록에 포함되지 않습니다.' + delay_minutes_explanation: "인앱 알림이 구성된 사용자가 메일이 전송되기 전에 애플리케이션 내에서 알림을 확인할 수 있도록 이메일 전송이 지연될 수 있습니다. 애플리케이션 내에서 알림을 읽은 사용자는 이미 읽은 알림에 대한 이메일을 받지 않습니다." + other: "기타" + passwords: "암호" + projects: + section_new_projects: "새 프로젝트의 설정" + section_project_overview: "프로젝트 개요 목록의 설정" + session: "세션" + user: + default_preferences: "기본 설정" + display_format: "Display format" + deletion: "삭제" working_days: - section_work_week: "Work week" + section_work_week: "근무 주" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/lol.yml b/config/locales/crowdin/lol.yml index c5feb744b466..fcb75206cdfd 100644 --- a/config/locales/crowdin/lol.yml +++ b/config/locales/crowdin/lol.yml @@ -186,8 +186,6 @@ lol: no_results_content_text: crwdns494909:0crwdne494909:0 concatenation: single: 'crwdns494911:0crwdne494911:0' - documentation: - see_more_link: crwdns494913:0crwdne494913:0 global_search: overwritten_tabs: wiki_pages: "crwdns494915:0crwdne494915:0" @@ -510,6 +508,7 @@ lol: hours: "crwdns495267:0crwdne495267:0" spent_on: "crwdns495269:0crwdne495269:0" type: "crwdns495271:0crwdne495271:0" + ongoing: "crwdns858099:0crwdne858099:0" type: description: "crwdns495273:0crwdne495273:0" attribute_groups: 'crwdns495275:0crwdne495275:0' @@ -1049,6 +1048,7 @@ lol: button_continue: "crwdns495943:0crwdne495943:0" button_copy: "crwdns495945:0crwdne495945:0" button_copy_to_clipboard: "crwdns855839:0crwdne855839:0" + button_copy_link_to_clipboard: "crwdns858837:0crwdne858837:0" button_copy_and_follow: "crwdns495947:0crwdne495947:0" button_create: "crwdns495949:0crwdne495949:0" button_create_and_continue: "crwdns495951:0crwdne495951:0" @@ -1470,6 +1470,7 @@ lol: label_age: "crwdns496885:0crwdne496885:0" label_ago: "crwdns496887:0crwdne496887:0" label_all: "crwdns496889:0crwdne496889:0" + label_all_projects: "crwdns858839:0crwdne858839:0" label_all_time: "crwdns496891:0crwdne496891:0" label_all_words: "crwdns496893:0crwdne496893:0" label_all_open_wps: "crwdns496895:0crwdne496895:0" @@ -1486,6 +1487,7 @@ lol: label_ical_access_key_revoke: "crwdns854467:0crwdne854467:0" label_applied_status: "crwdns496907:0crwdne496907:0" label_archive_project: "crwdns496909:0crwdne496909:0" + label_archived_projects: "crwdns858841:0crwdne858841:0" label_ascending: "crwdns496911:0crwdne496911:0" label_assigned_to_me_work_packages: "crwdns496913:0crwdne496913:0" label_associated_revisions: "crwdns496915:0crwdne496915:0" @@ -1622,6 +1624,7 @@ lol: label_everywhere: "crwdns497173:0crwdne497173:0" label_example: "crwdns497175:0crwdne497175:0" label_experimental: "crwdns856591:0crwdne856591:0" + label_i_am_member: "crwdns859089:0crwdne859089:0" label_import: "crwdns497177:0crwdne497177:0" label_export_to: "crwdns497179:0crwdne497179:0" label_expanded_click_to_collapse: "crwdns497181:0crwdne497181:0" @@ -1658,6 +1661,7 @@ lol: label_hierarchy_leaf: "crwdns497243:0crwdne497243:0" label_home: "crwdns497245:0crwdne497245:0" label_subject_or_id: "crwdns497247:0crwdne497247:0" + label_icalendar: "crwdns859073:0crwdne859073:0" label_impressum: "crwdns497249:0crwdne497249:0" label_in: "crwdns497251:0crwdne497251:0" label_in_less_than: "crwdns497253:0crwdne497253:0" @@ -2323,7 +2327,7 @@ lol: archived: "crwdns498691:0crwdne498691:0" project_module_activity: "crwdns498693:0crwdne498693:0" project_module_forums: "crwdns498695:0crwdne498695:0" - project_module_work_package_tracking: "crwdns498699:0crwdne498699:0" + project_module_work_package_tracking: "crwdns858101:0crwdne858101:0" project_module_news: "crwdns498701:0crwdne498701:0" project_module_repository: "crwdns498703:0crwdne498703:0" project_module_wiki: "crwdns498705:0crwdne498705:0" @@ -2507,7 +2511,7 @@ lol: setting_enabled_scm: "crwdns498997:0crwdne498997:0" setting_enabled_projects_columns: "crwdns498999:0crwdne498999:0" setting_feeds_enabled: "crwdns499003:0crwdne499003:0" - setting_ical_enabled: "crwdns854865:0crwdne854865:0" + setting_ical_enabled: "crwdns859075:0crwdne859075:0" setting_feeds_limit: "crwdns499005:0crwdne499005:0" setting_file_max_size_displayed: "crwdns499007:0crwdne499007:0" setting_host_name: "crwdns499009:0crwdne499009:0" @@ -2571,34 +2575,21 @@ lol: setting_work_package_list_default_highlighted_attributes: "crwdns499125:0crwdne499125:0" setting_working_days: "crwdns855703:0crwdne855703:0" settings: - general: "crwdns499127:0crwdne499127:0" - other: "crwdns499129:0crwdne499129:0" - passwords: "crwdns499131:0crwdne499131:0" - session: "crwdns499133:0crwdne499133:0" - brute_force_prevention: "crwdns499135:0crwdne499135:0" attachments: whitelist_text_html: > crwdns499137:0%{ext_example}crwdnd499137:0%{mime_example}crwdne499137:0 + brute_force_prevention: "crwdns499135:0crwdne499135:0" language_name_being_default: 'crwdns858081:0%{language_name}crwdne858081:0' - notifications: - events_explanation: 'crwdns499141:0crwdne499141:0' - delay_minutes_explanation: "crwdns499143:0crwdne499143:0" - display: + date_format: first_date_of_week_and_year_set: > - crwdns499145:0%{day_of_week_setting_name}crwdnd499145:0%{first_week_setting_name}crwdne499145:0 - first_week_of_year_text: > - crwdns499147:0crwdne499147:0 + crwdns859077:0%{day_of_week_setting_name}crwdnd859077:0%{first_week_setting_name}crwdne859077:0 + first_week_of_year_text_html: > + crwdns859079:0%{link}crwdne859079:0 + general: "crwdns499127:0crwdne499127:0" experimental: save_confirmation: crwdns856593:0crwdne856593:0 warning_toast: crwdns856595:0crwdne856595:0 feature_flags: crwdns856597:0crwdne856597:0 - projects: - section_new_projects: "crwdns499149:0crwdne499149:0" - section_project_overview: "crwdns499151:0crwdne499151:0" - user: - default_preferences: "crwdns499153:0crwdne499153:0" - display_format: "crwdns854507:0crwdne854507:0" - deletion: "crwdns499155:0crwdne499155:0" highlighting: mode_long: inline: "crwdns499157:0crwdne499157:0" @@ -2606,6 +2597,23 @@ lol: status: "crwdns499161:0crwdne499161:0" type: "crwdns499163:0crwdne499163:0" priority: "crwdns499165:0crwdne499165:0" + icalendar: + enable_subscriptions_text_html: crwdns859081:0crwdne859081:0 + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'crwdns499141:0crwdne499141:0' + delay_minutes_explanation: "crwdns499143:0crwdne499143:0" + other: "crwdns499129:0crwdne499129:0" + passwords: "crwdns499131:0crwdne499131:0" + projects: + section_new_projects: "crwdns499149:0crwdne499149:0" + section_project_overview: "crwdns499151:0crwdne499151:0" + session: "crwdns499133:0crwdne499133:0" + user: + default_preferences: "crwdns499153:0crwdne499153:0" + display_format: "crwdns854507:0crwdne854507:0" + deletion: "crwdns499155:0crwdne499155:0" working_days: section_work_week: "crwdns855705:0crwdne855705:0" section_holidays_and_closures: "crwdns855707:0crwdne855707:0" diff --git a/config/locales/crowdin/lt.yml b/config/locales/crowdin/lt.yml index ccb465760632..4554fc0f41ef 100644 --- a/config/locales/crowdin/lt.yml +++ b/config/locales/crowdin/lt.yml @@ -195,8 +195,6 @@ lt: no_results_content_text: Sukurti naują pasirinktinį lauką concatenation: single: 'arba' - documentation: - see_more_link: Daugiau informacijos galima rasti dokumentacijoje šia tema. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -527,6 +525,7 @@ lt: hours: "Valandų" spent_on: "Data" type: "Tipas" + ongoing: "Vykstantys" type: description: "Numatytasis aprašymo tekstas" attribute_groups: '' @@ -1078,6 +1077,7 @@ lt: button_continue: "Tęsti" button_copy: "Kopijuoti" button_copy_to_clipboard: "Kopijuoti į iškarpinę" + button_copy_link_to_clipboard: "Kopijuoti nuorodą į iškarpinę" button_copy_and_follow: "Kopijuoti ir sekti" button_create: "Sukurti" button_create_and_continue: "Sukurti ir tęsti" @@ -1447,21 +1447,21 @@ lt: journals: changes_retracted: "Pakeitimai buvo atšaukti." caused_changes: - dates_changed: "Dates changed" + dates_changed: "Datos pasikeitė" cause_descriptions: - work_package_predecessor_changed_times: by changes to predecessor %{link} - work_package_parent_changed_times: by changes to parent %{link} - work_package_children_changed_times: by changes to child %{link} - work_package_related_changed_times: by changes to related %{link} - unaccessable_work_package_changed: by changes to a related work package + work_package_predecessor_changed_times: dėl pirmtako pakeitimų %{link} + work_package_parent_changed_times: dėl tėvo pakeitimų %{link} + work_package_children_changed_times: dėl vaiko pakeitimų %{link} + work_package_related_changed_times: dėl susijusio pakeitimų %{link} + unaccessable_work_package_changed: dėl susijusio darbo paketo pakeitimų working_days_changed: - changed: "by changes to working days (%{changes})" + changed: "dėl darbo dienos pakeitimų (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} dabar yra darbo" + non_working: "%{day} dabar yra nedarbo" dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} dabar yra darbo" + non_working: "%{date} dabar yra nedarbo" links: configuration_guide: 'Konfigūravimo vadovas' get_in_touch: "Turite klausimų? Susisiekite su mumis." @@ -1528,6 +1528,7 @@ lt: label_age: "Amžius" label_ago: "dienų prieš" label_all: "visi" + label_all_projects: "Visi projektai" label_all_time: "visas laikas" label_all_words: "Visi žodžiai" label_all_open_wps: "Visi atviri" @@ -1544,6 +1545,7 @@ lt: label_ical_access_key_revoke: "Atšaukti" label_applied_status: "Taikomoji būsena" label_archive_project: "Archyvuoti projektą" + label_archived_projects: "Archyvuoti projektai" label_ascending: "Didėjančia tvarka" label_assigned_to_me_work_packages: "Man priskirti darbų paketai" label_associated_revisions: "Susijusios revizijos" @@ -1680,6 +1682,7 @@ lt: label_everywhere: "visur" label_example: "Pavyzdys" label_experimental: "Eksperimentinis" + label_i_am_member: "Aš esu narys" label_import: "Importuoti" label_export_to: "Taip pat galima rasti:" label_expanded_click_to_collapse: "Išplėsta. Spauskite, kad sutrauktumėte" @@ -1716,6 +1719,7 @@ lt: label_hierarchy_leaf: "Hierarchijos lapas" label_home: "Namai" label_subject_or_id: "Tema arba ID" + label_icalendar: "iCalendar" label_impressum: "Teisinė informacija" label_in: " " label_in_less_than: "mažiau nei" @@ -2119,7 +2123,7 @@ lt: few: 'Yra dar %{count} darbų paketai su pranešimais.' many: 'Yra dar %{count} darbų paketai su pranešimais.' other: 'Yra dar %{count} darbų paketų su pranešimais.' - open_in_browser: 'Open in browser' + open_in_browser: 'Atidaryti naršyklėje' reason: watched: 'Stebimas' assigned: 'Paskirtas' @@ -2389,7 +2393,7 @@ lt: archived: "Suarchyvuotas" project_module_activity: "Veikla" project_module_forums: "Forumai" - project_module_work_package_tracking: "Darbų paketo sekimas" + project_module_work_package_tracking: "Darbų paketai" project_module_news: "Naujienos" project_module_repository: "Repozitorija" project_module_wiki: "Wiki" @@ -2637,34 +2641,21 @@ lt: setting_work_package_list_default_highlighted_attributes: "Atributai, kuriuos numatyta paryškinti" setting_working_days: "Darbo dienos" settings: - general: "Bendra" - other: "Kita" - passwords: "Slaptažodžiai" - session: "Sesija" - brute_force_prevention: "Automatinis vartotojų blokavimas" attachments: whitelist_text_html: > Sudarykite sąrašą leidžiamų failų praplėtimų ir/arba MIME tipų su kuriais bus leidžiama įkelti failus.
    Įveskite failų praplėtimus (t.y., %{ext_example}) arba MIME tipus (t.y., %{mime_example}).
    Palikite tuščią, jei norite leisti visus tipus. Leidžiama daugiau nei viena reikšmė (po vieną kiekvienoje eilutėje). - language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Valdo, kuriems įvykiams yra siunčiami el.laiškai. Darbų paketai nepatenka į šį sąrašą, nes kiekvienam naudotojui pranešimai gali būti sukonfigūruoti individualiai.' - delay_minutes_explanation: "El.laiškų siuntimas gali būti užlaikytas, kad būtų leista naudotojams, kurie yra susikonfigūravę gauti pranešimus tiesiai programoje, patvirtinti iki to, kol bus išsiųstas laiškas. Naudotojai, kurie perskaitė pranešimus programoje, negaus tų laiškų, kurių pranešimus jau bus perskaitę." - display: + brute_force_prevention: "Automatinis vartotojų blokavimas" + language_name_being_default: '%{language_name} (numatytoji)' + date_format: first_date_of_week_and_year_set: > Jei vienas iš „%{day_of_week_setting_name}“ ir „%{first_week_setting_name}“ yra nustatytas, tai kitas taip pat turi būti nustatytas vengiant netikslumų naudotojo sąsajoje. - first_week_of_year_text: > - Pasirinkite sausio datą, kuri yra pirmoje metų savaitėje. Ši reikšmė kartu su savaitės pirmos dienos nustatymu lemia savaičių skaičių metuose. + first_week_of_year_text_html: > + Parinkite Sausio dieną, kuri yra pirmoje metų savaitėje. Ši reikšmė, kartu su pirmos savaitės dienos reikšme, nustato bendrą savaičių metuose skaičių. Daugiau informacijos rasite šios temos dokumentacijoje. + general: "Bendra" experimental: save_confirmation: Atsargiai! Duomenų praradimo rizika! Eksperimentines savybes įjunkite tik tada, jei nebijote sugadinti savo OpenProject ir prarasti visus duomenis. warning_toast: Savybių vėliavėlės yra nustatymai, kurie aktyvuoja vis dar kuriamas savybes. Jos turėtų būti naudojamos tik testavimo tikslais. Jų niekada nereikia įjungti OpenProject serveriuose, kuriuose yra svarbūs duomenys. Šios savybės labai gali sugadinti jūsų duomenis. Naudokite savo rizika. feature_flags: Savybių vėliavėlės - projects: - section_new_projects: "Naujų projektų nustatymai" - section_project_overview: "Nustatymai projektų apžvalgos sąrašui" - user: - default_preferences: "Numatytosios parinktys" - display_format: "Rodymo formatas" - deletion: "Trynimas" highlighting: mode_long: inline: "Paryškinti tik konkrečius atributus" @@ -2672,6 +2663,23 @@ lt: status: "Visa eilutė pagal būseną" type: "Visa eilutė pagal tipą" priority: "Visa eilutė pagal prioritetą" + icalendar: + enable_subscriptions_text_html: Leisti naudotojams su tinkamomis teisėmis prenumeruoti OpenProject kalendorių ir turėti prieigą prie darbo paketų informacijos per išorinį kalendoriaus klientą. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Valdo, kuriems įvykiams yra siunčiami el.laiškai. Darbų paketai nepatenka į šį sąrašą, nes kiekvienam naudotojui pranešimai gali būti sukonfigūruoti individualiai.' + delay_minutes_explanation: "El.laiškų siuntimas gali būti užlaikytas, kad būtų leista naudotojams, kurie yra susikonfigūravę gauti pranešimus tiesiai programoje, patvirtinti iki to, kol bus išsiųstas laiškas. Naudotojai, kurie perskaitė pranešimus programoje, negaus tų laiškų, kurių pranešimus jau bus perskaitę." + other: "Kita" + passwords: "Slaptažodžiai" + projects: + section_new_projects: "Naujų projektų nustatymai" + section_project_overview: "Nustatymai projektų apžvalgos sąrašui" + session: "Sesija" + user: + default_preferences: "Numatytosios parinktys" + display_format: "Rodymo formatas" + deletion: "Trynimas" working_days: section_work_week: "Darbo savaitė" section_holidays_and_closures: "Nedarbo dienos" diff --git a/config/locales/crowdin/lv.yml b/config/locales/crowdin/lv.yml index 5754ebd9e18a..79a219a8e3bc 100644 --- a/config/locales/crowdin/lv.yml +++ b/config/locales/crowdin/lv.yml @@ -198,8 +198,6 @@ lv: no_results_content_text: Izveidot jaunu pielāgotu lauku concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -529,6 +527,7 @@ lv: hours: "Stundas" spent_on: "Datums" type: "Veids" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1073,7 +1072,8 @@ lv: button_configure: "Configure" button_continue: "Continue" button_copy: "Copy" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopēt uz starpliktuvi" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Izveidot" button_create_and_continue: "Create and continue" @@ -1511,6 +1511,7 @@ lv: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1527,6 +1528,7 @@ lv: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Man piešķirtie pieteikumi" label_associated_revisions: "Associated revisions" @@ -1663,6 +1665,7 @@ lv: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Pieejams arī:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1699,6 +1702,7 @@ lv: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Uz sākumlapu" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2542,7 +2546,7 @@ lv: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Datums" setting_default_language: "Default language" setting_default_projects_modules: "Pēc noklusējuma aktivizētie moduļi jauniem projektiem" setting_default_projects_public: "New projects are public by default" @@ -2554,7 +2558,7 @@ lv: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2618,34 +2622,21 @@ lv: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2653,6 +2644,23 @@ lv: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/mn.yml b/config/locales/crowdin/mn.yml index 7bee839e4ddb..ac3ad078e350 100644 --- a/config/locales/crowdin/mn.yml +++ b/config/locales/crowdin/mn.yml @@ -198,8 +198,6 @@ mn: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ mn: hours: "Hours" spent_on: "Date" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ mn: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1493,6 +1493,7 @@ mn: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ mn: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1645,6 +1647,7 @@ mn: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ mn: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2352,7 +2356,7 @@ mn: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2538,7 +2542,7 @@ mn: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2602,34 +2606,21 @@ mn: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ mn: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/ne.yml b/config/locales/crowdin/ne.yml index 050947ed9a66..566c0a17dbc7 100644 --- a/config/locales/crowdin/ne.yml +++ b/config/locales/crowdin/ne.yml @@ -198,8 +198,6 @@ ne: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ ne: hours: "Hours" spent_on: "Date" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ ne: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1493,6 +1493,7 @@ ne: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ ne: label_ical_access_key_revoke: "रद्द गर्नुहोस्" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1645,6 +1647,7 @@ ne: label_everywhere: "सबैतिर" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ ne: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2352,7 +2356,7 @@ ne: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2538,7 +2542,7 @@ ne: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2602,34 +2606,21 @@ ne: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ ne: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/nl.seeders.yml b/config/locales/crowdin/nl.seeders.yml index b3c61e9495a7..f137a09af502 100644 --- a/config/locales/crowdin/nl.seeders.yml +++ b/config/locales/crowdin/nl.seeders.yml @@ -122,7 +122,7 @@ nl: item_6: name: Fout welcome: - title: Welcome to OpenProject! + title: Welkom bij OpenProject! text: | Select one of the demo projects to get started with some demo data we have prepared for you. diff --git a/config/locales/crowdin/nl.yml b/config/locales/crowdin/nl.yml index 6b7f1d79c2e3..f9bdfdef5500 100644 --- a/config/locales/crowdin/nl.yml +++ b/config/locales/crowdin/nl.yml @@ -195,8 +195,6 @@ nl: no_results_content_text: Maak een nieuw aangepast veld concatenation: single: 'of' - documentation: - see_more_link: Raadpleeg onze documentatie over dit onderwerp voor meer informatie. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -525,6 +523,7 @@ nl: hours: "Uren" spent_on: "Datum" type: "Type" + ongoing: "Ongoing" type: description: "Standaard tekst voor beschrijving" attribute_groups: '' @@ -809,7 +808,7 @@ nl: attributes: user_id: not_allowed_to_view: "is not allowed to view this resource." - locked: "is locked." + locked: "is vergrendeld." wiki_page: attributes: slug: @@ -1064,6 +1063,7 @@ nl: button_continue: "Verdergaan" button_copy: "Kopieer" button_copy_to_clipboard: "Kopiëren naar het klembord" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopiëren en volg" button_create: "Maken" button_create_and_continue: "Aanmaken en doorgaan" @@ -1419,8 +1419,8 @@ nl: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} werkt nu" + non_working: "%{day} is nu niet actief" dates: working: "%{date} is now working" non_working: "%{date} is now non-working" @@ -1490,6 +1490,7 @@ nl: label_age: "Leeftijd" label_ago: "dagen geleden" label_all: "alle" + label_all_projects: "All projects" label_all_time: "aller tijden" label_all_words: "Alle woorden" label_all_open_wps: "Alles open" @@ -1506,6 +1507,7 @@ nl: label_ical_access_key_revoke: "Intrekken" label_applied_status: "Toegepaste status" label_archive_project: "Project archiveren" + label_archived_projects: "Archived projects" label_ascending: "Oplopend" label_assigned_to_me_work_packages: "Werkpakketten toegewezen aan mij" label_associated_revisions: "Bijbehorende revisies" @@ -1642,6 +1644,7 @@ nl: label_everywhere: "overal" label_example: "Voorbeeld" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Importeren" label_export_to: "Ook verkrijgbaar in:" label_expanded_click_to_collapse: "Uitgebreid. Klik op samenvouwen" @@ -1678,6 +1681,7 @@ nl: label_hierarchy_leaf: "Hiërarchie blad" label_home: "Home" label_subject_or_id: "Onderwerp of ID" + label_icalendar: "iCalendar" label_impressum: "Juridische mededeling" label_in: "in" label_in_less_than: "in minder dan" @@ -1960,7 +1964,7 @@ nl: label_user_plural: "Gebruikers" label_user_search: "Zoeken naar gebruiker" label_user_settings: "Gebruikersinstellingen" - label_users_settings: "Users settings" + label_users_settings: "Gebruikersinstellingen" label_version_new: "Nieuwe versie" label_version_plural: "Versies" label_version_sharing_descendants: "Met subprojecten" @@ -2348,7 +2352,7 @@ nl: archived: "Gearchiveerd" project_module_activity: "Activiteit" project_module_forums: "Fora" - project_module_work_package_tracking: "Werkpakket bijhouden" + project_module_work_package_tracking: "Werkpakketten" project_module_news: "Nieuws" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2522,7 +2526,7 @@ nl: setting_consent_decline_mail: "Toestemming contact e-mailadres" setting_cross_project_work_package_relations: "Sta werkpakketten over meerdere projecten toe" setting_first_week_of_year: "De eerste week in het jaar bevat" - setting_date_format: "Date" + setting_date_format: "Datum" setting_default_language: "Standaard taal" setting_default_projects_modules: "Standaard actieve modules voor nieuwe projecten" setting_default_projects_public: "Nieuwe projecten zijn standaard publiek" @@ -2534,7 +2538,7 @@ nl: setting_enabled_scm: "SCM Ingeschakeld" setting_enabled_projects_columns: "Zichtbaar in de projectlijst" setting_feeds_enabled: "Feeds inschakelen" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed inhoud limiet" setting_file_max_size_displayed: "Maximale grootte van tekstbestanden inline weergegeven" setting_host_name: "Hostnaam" @@ -2585,7 +2589,7 @@ nl: setting_start_of_week: "Week begint op" setting_sys_api_enabled: "Repository beheer web-service inschakelen" setting_sys_api_description: "De repository beheer web-service biedt integratie en autorisatie van gebruikers voor toegang tot de archieven." - setting_time_format: "Time" + setting_time_format: "Tijd" setting_accessibility_mode_for_anonymous: "Toegankelijkheid modus voor anonieme gebruikers inschakelen" setting_user_format: "Users name format" setting_user_default_timezone: "Standaardtijdzone voor gebruikers" @@ -2596,36 +2600,23 @@ nl: setting_welcome_on_homescreen: "Toon het Welkom blok op thuisscherm" setting_work_package_list_default_highlighting_mode: "Standaardmodus markeren" setting_work_package_list_default_highlighted_attributes: "Inline gemarkeerd standaardkenmerken" - setting_working_days: "Working days" + setting_working_days: "Werkdagen" settings: - general: "Algemeen" - other: "Overige" - passwords: "Wachtwoorden" - session: "Sessie" - brute_force_prevention: "Automatische gebruiker blokkering" attachments: whitelist_text_html: > Definieer een lijst met geldige bestandsextensies en/of MIME-types voor geüploade bestanden.
    Vul de bestandsextensies in (bijv. %{ext_example}) of MIME-types (bijv. ., %{mime_example}).
    Laat leeg om elk bestandstype te kunnen uploaden. Meerdere waarden toegestaan (één regel voor elke waarde). + brute_force_prevention: "Automatische gebruiker blokkering" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Bepaalt voor welke gebeurtenis een e-mail wordt verzonden. Werkpakketten worden uitgesloten van deze lijst omdat de meldingen ervoor kunnen worden geconfigureerd voor elke gebruiker.' - delay_minutes_explanation: "Het verzenden van e-mail kan worden vertraagd zodat gebruikers met in app geconfigureerde melding binnen de applicatie de melding kunnen bevestigen voordat er een e-mail wordt verzonden. Gebruikers die een melding binnen de applicatie lezen ontvangen geen e-mail voor de reeds gelezen melding." - display: + date_format: first_date_of_week_and_year_set: > - Als ofwel opties "%{day_of_week_setting_name}" of "%{first_week_setting_name}" zijn ingesteld, Ook het andere moet worden vastgesteld om inconsistenties op het frontend te voorkomen. - first_week_of_year_text: > - Selecteer de datum van januari die in de eerste week van het jaar staat. Deze waarde bepaalt samen met de eerste dag van de week het totaal aantal weken in een jaar. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Algemeen" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Instellingen voor nieuwe projecten" - section_project_overview: "Instellingen voor project overzicht lijst" - user: - default_preferences: "Standaardvoorkeuren" - display_format: "Display format" - deletion: "Verwijdering" highlighting: mode_long: inline: "Markeer attribute(s) inline" @@ -2633,8 +2624,25 @@ nl: status: "Hele rij per Status" type: "Hele rij per Type" priority: "Hele rij door prioriteit" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Bepaalt voor welke gebeurtenis een e-mail wordt verzonden. Werkpakketten worden uitgesloten van deze lijst omdat de meldingen ervoor kunnen worden geconfigureerd voor elke gebruiker.' + delay_minutes_explanation: "Het verzenden van e-mail kan worden vertraagd zodat gebruikers met in app geconfigureerde melding binnen de applicatie de melding kunnen bevestigen voordat er een e-mail wordt verzonden. Gebruikers die een melding binnen de applicatie lezen ontvangen geen e-mail voor de reeds gelezen melding." + other: "Overige" + passwords: "Wachtwoorden" + projects: + section_new_projects: "Instellingen voor nieuwe projecten" + section_project_overview: "Instellingen voor project overzicht lijst" + session: "Sessie" + user: + default_preferences: "Standaardvoorkeuren" + display_format: "Display format" + deletion: "Verwijdering" working_days: - section_work_week: "Work week" + section_work_week: "Werkweek" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' @@ -3021,7 +3029,7 @@ nl: api_v3: attributes: lock_version: "Vergrendel versie" - property: 'Property' + property: 'Eigendom' errors: code_400: "Verkeerd verzoek: %{message}" code_401: "U moet geauthenticeerd zijn om toegang te hebben tot deze resource." diff --git a/config/locales/crowdin/no.seeders.yml b/config/locales/crowdin/no.seeders.yml index aac01ec9cf38..b8764566c3a1 100644 --- a/config/locales/crowdin/no.seeders.yml +++ b/config/locales/crowdin/no.seeders.yml @@ -320,7 +320,7 @@ kanban: name: Kanban board basic: - name: Task board + name: Oppgavetavle lists: item_0: name: Wish list diff --git a/config/locales/crowdin/no.yml b/config/locales/crowdin/no.yml index de2cab98b50e..7468e9cec32c 100644 --- a/config/locales/crowdin/no.yml +++ b/config/locales/crowdin/no.yml @@ -198,8 +198,6 @@ no_results_content_text: Opprett nytt egendefinert felt concatenation: single: 'eller' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ hours: "Timer" spent_on: "Dato" type: "Type" + ongoing: "Ongoing" type: description: "Standardtekst for beskrivelse" attribute_groups: '' @@ -1066,7 +1065,8 @@ button_configure: "Konfigurer" button_continue: "Fortsette" button_copy: "Kopier" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopier til utklippstavlen" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopier og følg" button_create: "Opprett" button_create_and_continue: "Opprett og fortsett" @@ -1493,6 +1493,7 @@ label_age: "Alder" label_ago: "dager siden" label_all: "alle" + label_all_projects: "All projects" label_all_time: "alle tidspunkt" label_all_words: "Alle ord" label_all_open_wps: "Alle åpne" @@ -1509,6 +1510,7 @@ label_ical_access_key_revoke: "Tilbakekall" label_applied_status: "Tildelt status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Stigende" label_assigned_to_me_work_packages: "Arbeidspakker tildelt meg" label_associated_revisions: "Tilknyttede revisjoner" @@ -1595,7 +1597,7 @@ label_database_version: "PostgreSQL version" label_date: "Dato" label_date_and_time: "Dato og tid" - label_date_format: "Date format" + label_date_format: "Datoformat" label_date_from: "Fra" label_date_from_to: "Fra %{start} til %{end}" label_date_to: "Til" @@ -1645,6 +1647,7 @@ label_everywhere: "overalt" label_example: "Eksempel" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Importer" label_export_to: "Også tilgjengelig i:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ label_hierarchy_leaf: "Hierarchy leaf" label_home: "Hjem" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Juridisk merknad" label_in: "i" label_in_less_than: "i mindre enn" @@ -2352,7 +2356,7 @@ archived: "Archived" project_module_activity: "Aktivitet" project_module_forums: "Forum" - project_module_work_package_tracking: "Sporing av arbeidspakke" + project_module_work_package_tracking: "Arbeidspakker" project_module_news: "Nyheter" project_module_repository: "Pakkebrønn" project_module_wiki: "Wiki" @@ -2526,7 +2530,7 @@ setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Tillat relasjoner mellom arbeidspakker i ulike prosjekter" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Dato" setting_default_language: "Standardspråk" setting_default_projects_modules: "Standardaktiverte moduler for nye prosjekter" setting_default_projects_public: "Nye prosjekter er offentlige som standard" @@ -2538,7 +2542,7 @@ setting_enabled_scm: "SCM aktivert" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Aktiver Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Innholdsgrense for Feed" setting_file_max_size_displayed: "Maks størrelse på tekstfiler som vises inline" setting_host_name: "Vertsnavn" @@ -2589,7 +2593,7 @@ setting_start_of_week: "Uken starter på" setting_sys_api_enabled: "Aktiver web-tjeneste for pakkebrønn" setting_sys_api_description: "Pakkebrønn web-tjenesten sørger for integrasjon og bruker autentisering for tilgang til pakkebrønner." - setting_time_format: "Time" + setting_time_format: "Tidspunkt" setting_accessibility_mode_for_anonymous: "Aktiver tilgjengelighetsmodus for anonyme brukere" setting_user_format: "Users name format" setting_user_default_timezone: "Users default time zone" @@ -2602,34 +2606,21 @@ setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Generell" - other: "Øvrig" - passwords: "Passord" - session: "Sesjon" - brute_force_prevention: "Automatisk blokkering av brukere" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automatisk blokkering av brukere" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Generell" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,8 +2628,25 @@ status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Øvrig" + passwords: "Passord" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Sesjon" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: - section_work_week: "Work week" + section_work_week: "Arbeidsuke" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/pl.yml b/config/locales/crowdin/pl.yml index 684951b1d676..24a3971b0cf6 100644 --- a/config/locales/crowdin/pl.yml +++ b/config/locales/crowdin/pl.yml @@ -195,8 +195,6 @@ pl: no_results_content_text: Utwórz pole użytkownika concatenation: single: 'lub' - documentation: - see_more_link: Więcej informacji można znaleźć w naszej dokumentacji na ten temat. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -527,6 +525,7 @@ pl: hours: "Godziny" spent_on: "Data" type: "Typ" + ongoing: "Ongoing" type: description: "Domyślny tekst opisu" attribute_groups: '' @@ -1077,7 +1076,8 @@ pl: button_configure: "Konfigurowanie" button_continue: "Dalej" button_copy: "Kopiuj" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Skopiuj do schowka" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Skopiuj i wykonaj" button_create: "Utwórz" button_create_and_continue: "Utwórz i kontynuuj" @@ -1457,11 +1457,11 @@ pl: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} jest teraz dniem roboczym" + non_working: "%{day} jest teraz dniem nieroboczym" dates: working: "%{date} is now working" - non_working: "%{date} is now non-working" + non_working: "%{date} jest teraz wolnym od pracy" links: configuration_guide: 'Przewodnik po konfiguracji' get_in_touch: "Masz pytania? Skontaktuj się z nami." @@ -1528,6 +1528,7 @@ pl: label_age: "Wiek" label_ago: "dni temu" label_all: "wszystkie" + label_all_projects: "All projects" label_all_time: "cały czas" label_all_words: "Wszystkie słowa" label_all_open_wps: "Wszystkie otwarte" @@ -1544,6 +1545,7 @@ pl: label_ical_access_key_revoke: "Unieważnij" label_applied_status: "Nadaj status" label_archive_project: "Archiwum projektów" + label_archived_projects: "Archived projects" label_ascending: "Rosnąco" label_assigned_to_me_work_packages: "Zadania przypisane do mnie" label_associated_revisions: "Powiązane rewizje" @@ -1630,7 +1632,7 @@ pl: label_database_version: "Wersja PostgreSQL" label_date: "Data" label_date_and_time: "Data i czas" - label_date_format: "Date format" + label_date_format: "Format daty" label_date_from: "Od" label_date_from_to: "Data od %{start} do %{end}" label_date_to: "Do" @@ -1679,7 +1681,8 @@ pl: label_equals: "jest" label_everywhere: "wszędzie" label_example: "Przykład" - label_experimental: "Experimental" + label_experimental: "Eksperymentalny" + label_i_am_member: "I am member" label_import: "Importuj" label_export_to: "Dostępne również w:" label_expanded_click_to_collapse: "Rozwinięto. Kliknij, aby zwinąć" @@ -1716,6 +1719,7 @@ pl: label_hierarchy_leaf: "Liść hierarchii" label_home: "Strona główna" label_subject_or_id: "Temat lub identyfikator" + label_icalendar: "iCalendar" label_impressum: "Informacje prawne" label_in: "w" label_in_less_than: "w mniej niż" @@ -2390,7 +2394,7 @@ pl: archived: "Zarchiwizowano" project_module_activity: "Działanie" project_module_forums: "Fora" - project_module_work_package_tracking: "Śledzenie pakietów roboczych" + project_module_work_package_tracking: "Pakiety robocze" project_module_news: "Aktualności" project_module_repository: "Repozytorium" project_module_wiki: "Wiki" @@ -2562,7 +2566,7 @@ pl: setting_consent_decline_mail: "Adres kontaktowy zgody" setting_cross_project_work_package_relations: "Zezwól na powiązania pakietów roboczych pomiędzy projektami" setting_first_week_of_year: "Pierwszy tydzień w roku zawiera" - setting_date_format: "Date" + setting_date_format: "Data" setting_default_language: "Język domyślny" setting_default_projects_modules: "Domyślnie włączone moduły dla nowych projektów" setting_default_projects_public: "Nowe projekty są publiczne (domyślnie)" @@ -2574,7 +2578,7 @@ pl: setting_enabled_scm: "Włączone SCM" setting_enabled_projects_columns: "Widoczny na liście projektów" setting_feeds_enabled: "Włącz kanały" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Maksymalny rozmiar plików tekstowych wyświetlanych w treści" setting_host_name: "Nazwa hosta" @@ -2625,7 +2629,7 @@ pl: setting_start_of_week: "Początek tygodnia" setting_sys_api_enabled: "Uaktywnij zarządzanie repozytoriami przez www" setting_sys_api_description: "Zarządzanie repozytoriami przez www umożliwia integrację i autoryzację użytkowników do dostępu do repozytoriów." - setting_time_format: "Time" + setting_time_format: "Czas" setting_accessibility_mode_for_anonymous: "Włącz tryb dostępu dla użytkowników anonimowych" setting_user_format: "Users name format" setting_user_default_timezone: "Domyślna strefa czasowa użytkowników" @@ -2636,36 +2640,23 @@ pl: setting_welcome_on_homescreen: "Wyświetl wiadomość powitalną na ekranie głównym" setting_work_package_list_default_highlighting_mode: "Domyślny tryb wyróżniania" setting_work_package_list_default_highlighted_attributes: "Domyślnie wyróżniane atrybuty wyświetlane w treści" - setting_working_days: "Working days" + setting_working_days: "Dni robocze" settings: - general: "Ogólne" - other: "Inne" - passwords: "Hasła" - session: "Sesja" - brute_force_prevention: "Automatyczne blokowanie użytkowników" attachments: whitelist_text_html: > Zdefiniuj listę poprawnych rozszerzeń plików i/lub typów mime dla przesłanych plików.
    Wprowadź rozszerzenia plików (np. %{ext_example}) lub typy mime (np. %{mime_example}).
    Pozostaw puste, aby umożliwić przesłanie dowolnego typu pliku. Dozwolone wielokrotne wartości (jeden wiersz dla każdej wartości). + brute_force_prevention: "Automatyczne blokowanie użytkowników" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Zarządza dla których zdarzeń są wysyłane wiadomości e-mail. Pakiety robocze są wyłączone z tej listy, ponieważ ich powiadomienia mogą być skonfigurowane specjalnie dla każdego użytkownika.' - delay_minutes_explanation: "Wysyłanie wiadomości e-mail może być opóźnione, aby umożliwić użytkownikom ze skonfigurowanymi powiadomieniami w aplikacji potwierdzenie powiadomienia w aplikacji przed wysłaniem wiadomości. Użytkownicy, którzy przeczytali powiadomienie w aplikacji nie otrzymają wiadomości e-mail dla powiadomień już przeczytanych." - display: + date_format: first_date_of_week_and_year_set: > - Jeśli ustawiona jest opcja „%{day_of_week_setting_name}” albo „%{first_week_setting_name}”, druga musi zostać ustawiona w taki sposób, aby uniknąć niespójności we frontendzie. - first_week_of_year_text: > - Wybierz styczniową datę z pierwszego tygodnia roku. Wartość ta wraz z pierwszym dniem tygodnia określa łączną liczbę tygodni w roku. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Ogólne" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Ustawienia nowych projektów" - section_project_overview: "Ustawienia listy przeglądu projektu" - user: - default_preferences: "Ustawienia domyślne" - display_format: "Display format" - deletion: "Usunięcie" highlighting: mode_long: inline: "Wyróżniaj atrybuty wyświetlane w treści" @@ -2673,8 +2664,25 @@ pl: status: "Cały wiersz wg stanu" type: "Cały wiersz wg typu" priority: "Cały wiersz wg priorytetu" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Zarządza dla których zdarzeń są wysyłane wiadomości e-mail. Pakiety robocze są wyłączone z tej listy, ponieważ ich powiadomienia mogą być skonfigurowane specjalnie dla każdego użytkownika.' + delay_minutes_explanation: "Wysyłanie wiadomości e-mail może być opóźnione, aby umożliwić użytkownikom ze skonfigurowanymi powiadomieniami w aplikacji potwierdzenie powiadomienia w aplikacji przed wysłaniem wiadomości. Użytkownicy, którzy przeczytali powiadomienie w aplikacji nie otrzymają wiadomości e-mail dla powiadomień już przeczytanych." + other: "Inne" + passwords: "Hasła" + projects: + section_new_projects: "Ustawienia nowych projektów" + section_project_overview: "Ustawienia listy przeglądu projektu" + session: "Sesja" + user: + default_preferences: "Ustawienia domyślne" + display_format: "Display format" + deletion: "Usunięcie" working_days: - section_work_week: "Work week" + section_work_week: "Tydzień roboczy" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/pt.yml b/config/locales/crowdin/pt.yml index 9aaa67327735..e1599dcbeaf6 100644 --- a/config/locales/crowdin/pt.yml +++ b/config/locales/crowdin/pt.yml @@ -197,8 +197,6 @@ pt: no_results_content_text: Criar um novo campo personalizado concatenation: single: 'ou' - documentation: - see_more_link: Para mais informações, por favor consulte nossa documentação sobre este tópico. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -527,6 +525,7 @@ pt: hours: "horas" spent_on: "Data" type: "Tipo" + ongoing: "Ongoing" type: description: "Texto padrão para descrição" attribute_groups: '' @@ -1065,7 +1064,8 @@ pt: button_configure: "Configurar" button_continue: "Continuar" button_copy: "Copiar" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copiar para a área de transferência" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copiar e seguir" button_create: "Criar" button_create_and_continue: "Criar e continuar" @@ -1421,11 +1421,11 @@ pt: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} agora é um dia útil" + non_working: "%{day} agora é um dia não útil" dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} agora está funcionando" + non_working: "%{date} não está funcionando agora" links: configuration_guide: 'Guia de configuração' get_in_touch: "Com dúvidas? Entre em contato conosco." @@ -1492,6 +1492,7 @@ pt: label_age: "Idade" label_ago: "dias atrás" label_all: "todos" + label_all_projects: "All projects" label_all_time: "todos os tempos" label_all_words: "Todas as palavras" label_all_open_wps: "Tudo aberto" @@ -1508,6 +1509,7 @@ pt: label_ical_access_key_revoke: "Revogar" label_applied_status: "Situação aplicada" label_archive_project: "Arquivar projeto" + label_archived_projects: "Archived projects" label_ascending: "Ascendente" label_assigned_to_me_work_packages: "Pacotes de trabalho atribuídos a mim" label_associated_revisions: "Revisões associadas" @@ -1594,7 +1596,7 @@ pt: label_database_version: "Versão do PostgreSQL" label_date: "Data" label_date_and_time: "Data e hora" - label_date_format: "Date format" + label_date_format: "Formato de data" label_date_from: "De" label_date_from_to: "De %{start} até %{end}" label_date_to: "Para" @@ -1644,6 +1646,7 @@ pt: label_everywhere: "em todos os lugares" label_example: "Exemplo" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Importar" label_export_to: "Também disponível em:" label_expanded_click_to_collapse: "Expandido. Clique para recolher" @@ -1680,6 +1683,7 @@ pt: label_hierarchy_leaf: "Folha de hierarquia" label_home: "Início" label_subject_or_id: "Assunto ou ID" + label_icalendar: "iCalendar" label_impressum: "Aviso legal" label_in: "em" label_in_less_than: "em menos de" @@ -2349,7 +2353,7 @@ pt: archived: "Arquivado" project_module_activity: "Atividade" project_module_forums: "Fóruns" - project_module_work_package_tracking: "Acompanhamento de pacote de trabalho" + project_module_work_package_tracking: "Pacotes de trabalho" project_module_news: "Notícias" project_module_repository: "Repositório" project_module_wiki: "Wiki" @@ -2523,7 +2527,7 @@ pt: setting_consent_decline_mail: "E-mail de contato do consentimento" setting_cross_project_work_package_relations: "Permitir relacionamento entre pacotes de trabalho de diferentes projetos" setting_first_week_of_year: "A primeira semana no ano contém" - setting_date_format: "Date" + setting_date_format: "Data" setting_default_language: "Idioma padrão" setting_default_projects_modules: "Módulos habilitados por padrão para novos projetos" setting_default_projects_public: "Novos projetos são públicos por padrão" @@ -2535,7 +2539,7 @@ pt: setting_enabled_scm: "SCM habilitado" setting_enabled_projects_columns: "Visível na lista de projetos" setting_feeds_enabled: "Habilitar Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Limite de conteúdo de feed" setting_file_max_size_displayed: "Tamanho máximo de arquivos de texto exibidos em linha" setting_host_name: "Nome do servidor" @@ -2586,7 +2590,7 @@ pt: setting_start_of_week: "A semana começa em" setting_sys_api_enabled: "Habilitar o serviço web de gerenciamento de repositório" setting_sys_api_description: "O serviço de web de gerenciamento de repositório fornece integração e autorização de usuário para acessar repositórios." - setting_time_format: "Time" + setting_time_format: "Horário" setting_accessibility_mode_for_anonymous: "Ativar o modo de acessibilidade para usuários anônimos" setting_user_format: "Users name format" setting_user_default_timezone: "Fuso horário padrão" @@ -2597,36 +2601,23 @@ pt: setting_welcome_on_homescreen: "Exibir bloco de boas-vindas na tela inicial" setting_work_package_list_default_highlighting_mode: "Modo de destaque padrão" setting_work_package_list_default_highlighted_attributes: "Atributos embutidos com destaque padrão" - setting_working_days: "Working days" + setting_working_days: "Dias úteis" settings: - general: "Geral" - other: "Outro" - passwords: "Senhas" - session: "Sessão" - brute_force_prevention: "Bloqueio automatizado de usuário" attachments: whitelist_text_html: > Defina uma lista de extensões de arquivo válidas e/ou tipos MIME para arquivos carregados.
    Insira as extensões de arquivo (e.x., %{ext_example}) ou tipos de mime (e.x., %{mime_example}).
    Deixe em branco para permitir que qualquer tipo de arquivo seja carregado. Vários valores permitidos (uma linha para cada valor). + brute_force_prevention: "Bloqueio automatizado de usuário" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governa para qual evento um e-mail é enviado. Como as notificações de pacotes de trabalhos podem ser configuradas especificamente para todos os usuários, eles são excluídos desta lista.' - delay_minutes_explanation: "O envio de e-mail pode ser atrasado para permitir que os usuários com a notificação configurada no aplicativo confirmem a notificação dentro da aplicação antes que o e-mail seja enviado. Usuários que lerem uma notificação no aplicativo não receberão um e-mail dessa mesma notificação" - display: + date_format: first_date_of_week_and_year_set: > - Se as opções "%{day_of_week_setting_name}" ou "%{first_week_setting_name}" forem definidas, a outra também deve ser definida, para evitar inconsistências no front-end. - first_week_of_year_text: > - Selecione a data de janeiro que está contida na primeira semana do ano. Este valor, juntamente com o primeiro dia da semana, determina o número total de semanas num ano. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Geral" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Configurações para novos projetos" - section_project_overview: "Configurações para a lista de visão geral do projeto" - user: - default_preferences: "Preferências padrão" - display_format: "Display format" - deletion: "Exclusão" highlighting: mode_long: inline: "Destacar atributo(s) embutido(s)" @@ -2634,8 +2625,25 @@ pt: status: "Toda a linha por Situação" type: "Toda linha por Tipo" priority: "Toda linha por Prioridade" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governa para qual evento um e-mail é enviado. Como as notificações de pacotes de trabalhos podem ser configuradas especificamente para todos os usuários, eles são excluídos desta lista.' + delay_minutes_explanation: "O envio de e-mail pode ser atrasado para permitir que os usuários com a notificação configurada no aplicativo confirmem a notificação dentro da aplicação antes que o e-mail seja enviado. Usuários que lerem uma notificação no aplicativo não receberão um e-mail dessa mesma notificação" + other: "Outro" + passwords: "Senhas" + projects: + section_new_projects: "Configurações para novos projetos" + section_project_overview: "Configurações para a lista de visão geral do projeto" + session: "Sessão" + user: + default_preferences: "Preferências padrão" + display_format: "Display format" + deletion: "Exclusão" working_days: - section_work_week: "Work week" + section_work_week: "Semana de trabalho" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/ro.yml b/config/locales/crowdin/ro.yml index 50f80e23ae11..c7703c6ae71c 100644 --- a/config/locales/crowdin/ro.yml +++ b/config/locales/crowdin/ro.yml @@ -198,8 +198,6 @@ ro: no_results_content_text: Creare câmp personalizat nou concatenation: single: 'sau' - documentation: - see_more_link: Pentru mai multe informații, vă rugăm să consultați documentația noastră pe această temă. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -529,6 +527,7 @@ ro: hours: "Ore" spent_on: "Dată" type: "Tip" + ongoing: "Ongoing" type: description: "Text implicit pentru descriere" attribute_groups: '' @@ -1073,7 +1072,8 @@ ro: button_configure: "Configurare" button_continue: "Continuaţi" button_copy: "Copiere" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Copiere în clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copiere și continuare" button_create: "Creare" button_create_and_continue: "Creare și continuare" @@ -1441,11 +1441,11 @@ ro: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} funcționează acum" + non_working: "%{day} este acum nefuncțională" dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} este acum în funcțiune" + non_working: "%{date} este acum nefuncțională" links: configuration_guide: 'Ghid de configurare' get_in_touch: "Aveți întrebări? Luați legătura cu noi." @@ -1512,6 +1512,7 @@ ro: label_age: "Vârstă" label_ago: "zile în urmă" label_all: "toate" + label_all_projects: "All projects" label_all_time: "oricând" label_all_words: "Toate cuvintele" label_all_open_wps: "Toate deschise" @@ -1528,6 +1529,7 @@ ro: label_ical_access_key_revoke: "Revocă" label_applied_status: "Stare aplicată" label_archive_project: "Proiect de arhivă" + label_archived_projects: "Archived projects" label_ascending: "Crescător" label_assigned_to_me_work_packages: "Pachete de lucru atribuite mie" label_associated_revisions: "Revizii asociate" @@ -1614,7 +1616,7 @@ ro: label_database_version: "Versiunea PostgreSQL" label_date: "Dată" label_date_and_time: "Data" - label_date_format: "Date format" + label_date_format: "Format dată" label_date_from: "Din" label_date_from_to: "Din %{start} la %{end}" label_date_to: "La" @@ -1664,6 +1666,7 @@ ro: label_everywhere: "Peste tot" label_example: "Exemplu" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Importă" label_export_to: "Disponibil și în:" label_expanded_click_to_collapse: "Extinse. Faceți clic pentru a restrânge" @@ -1700,6 +1703,7 @@ ro: label_hierarchy_leaf: "Frunză de ierarhie" label_home: "Pagina de start" label_subject_or_id: "Subiect sau ID" + label_icalendar: "iCalendar" label_impressum: "Notificare legala" label_in: "în" label_in_less_than: "în mai puțin de" @@ -2372,7 +2376,7 @@ ro: archived: "Arhivat" project_module_activity: "Activitate" project_module_forums: "Forumuri" - project_module_work_package_tracking: "Urmărire pachete de lucru" + project_module_work_package_tracking: "Pachete de lucru" project_module_news: "Noutăţi" project_module_repository: "Repo" project_module_wiki: "Wiki" @@ -2546,7 +2550,7 @@ ro: setting_consent_decline_mail: "Consimțământ adresa de e-mail de contact" setting_cross_project_work_package_relations: "Permiteți legături între pachetele de lucru din proiecte diferite" setting_first_week_of_year: "Prima săptămână din an conține" - setting_date_format: "Date" + setting_date_format: "Dată" setting_default_language: "Limbă implicită" setting_default_projects_modules: "Module activate implicit la creare proiect" setting_default_projects_public: "Proiectele noi sunt implicit publice" @@ -2558,7 +2562,7 @@ ro: setting_enabled_scm: "SCM activat" setting_enabled_projects_columns: "Vizibil în lista de proiecte" setting_feeds_enabled: "Activare fluxuri" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Limită conținut flux" setting_file_max_size_displayed: "Numărul maxim de linii afișat în text" setting_host_name: "Numele serverului" @@ -2609,7 +2613,7 @@ ro: setting_start_of_week: "Săptămâna începe pe" setting_sys_api_enabled: "Activare serviciul web de administrare repo" setting_sys_api_description: "Serviciul web de administrare repo oferă integrare şi autorizare utilizatori pentru accesul la repo-uri." - setting_time_format: "Time" + setting_time_format: "Ora" setting_accessibility_mode_for_anonymous: "Activează modul de accesibilitate pentru utilizatorii anonimi" setting_user_format: "Users name format" setting_user_default_timezone: "Fusul orar implicit al utilizatorilor" @@ -2620,36 +2624,23 @@ ro: setting_welcome_on_homescreen: "Afişare bloc \"bun venit\" pe ecranul de start" setting_work_package_list_default_highlighting_mode: "Mod de evidențiere implicit" setting_work_package_list_default_highlighted_attributes: "Atributele evidențiate implicit în linie" - setting_working_days: "Working days" + setting_working_days: "Zile lucrătoare" settings: - general: "General" - other: "Altele" - passwords: "Parole" - session: "Sesiune" - brute_force_prevention: "Blocare automată a utilizatorilor" attachments: whitelist_text_html: > Definește o listă validă de extensii de fișiere și/sau tipuri mime pentru fișierele încărcate.
    Introduceți extensii de fișiere (de ex. %{ext_example}) sau tipuri mime (e. ., %{mime_example}).
    Lăsați gol pentru a permite oricărui tip de fișier să fie încărcat. Valori multiple permise (o linie pentru fiecare valoare). + brute_force_prevention: "Blocare automată a utilizatorilor" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Stabilește pentru ce eveniment se trimite un e-mail. Pachetele de lucru sunt excluse din această listă, deoarece notificările pentru acestea pot fi configurate în mod specific pentru fiecare utilizator.' - delay_minutes_explanation: "Trimiterea e-mailurilor poate fi întârziată pentru a permite utilizatorilor cu notificare configurată în aplicație să confirme notificarea în cadrul aplicației înainte de a trimite un e-mail. Utilizatorii care citesc o notificare în cadrul aplicației nu vor primi un e-mail pentru notificarea deja citită." - display: + date_format: first_date_of_week_and_year_set: > - Dacă oricare dintre opțiunile "%{day_of_week_setting_setting_name}" sau "%{first_week_setting_name}" sunt setate, trebuie să fie setată și cealaltă pentru a evita neconcordanțele din frontend. - first_week_of_year_text: > - Selectați data din ianuarie care se află în prima săptămână a anului. Această valoare, împreună cu prima zi a săptămânii, determină numărul total de săptămâni dintr-un an. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Setări pentru proiecte noi" - section_project_overview: "Setări pentru lista de prezentare generală a proiectului" - user: - default_preferences: "Preferințe implicite" - display_format: "Display format" - deletion: "Ștergerea a eșuat: %s" highlighting: mode_long: inline: "Evidențiați atributul (atributele) inline" @@ -2657,8 +2648,25 @@ ro: status: "Rândul întreg după statut" type: "Întregul rând pe tipuri" priority: "Întregul rând în funcție de Prioritate" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Stabilește pentru ce eveniment se trimite un e-mail. Pachetele de lucru sunt excluse din această listă, deoarece notificările pentru acestea pot fi configurate în mod specific pentru fiecare utilizator.' + delay_minutes_explanation: "Trimiterea e-mailurilor poate fi întârziată pentru a permite utilizatorilor cu notificare configurată în aplicație să confirme notificarea în cadrul aplicației înainte de a trimite un e-mail. Utilizatorii care citesc o notificare în cadrul aplicației nu vor primi un e-mail pentru notificarea deja citită." + other: "Altele" + passwords: "Parole" + projects: + section_new_projects: "Setări pentru proiecte noi" + section_project_overview: "Setări pentru lista de prezentare generală a proiectului" + session: "Sesiune" + user: + default_preferences: "Preferințe implicite" + display_format: "Display format" + deletion: "Ștergerea a eșuat: %s" working_days: - section_work_week: "Work week" + section_work_week: "Săptămână de lucru" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 23069ca147e6..cbb54d9d51a6 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -197,8 +197,6 @@ ru: no_results_content_text: Создать новое настраиваемое поле concatenation: single: 'или' - documentation: - see_more_link: Для получения дополнительной информации смотрите нашу документацию по этой теме. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -529,6 +527,7 @@ ru: hours: "Часы" spent_on: "Дата" type: "Тип" + ongoing: "Ongoing" type: description: "Текст для описания по умолчанию" attribute_groups: '' @@ -1080,6 +1079,7 @@ ru: button_continue: "Продолжить" button_copy: "Копировать" button_copy_to_clipboard: "Копировать в буфер обмена" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Скопировать и продолжить" button_create: "Создать" button_create_and_continue: "Создать и продолжить" @@ -1459,10 +1459,10 @@ ru: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} сейчас рабочий" + non_working: "%{day} теперь нерабочий" dates: - working: "%{date} is now working" + working: "%{date} сейчас рабочий" non_working: "%{date} is now non-working" links: configuration_guide: 'Руководство по конфигурации' @@ -1530,6 +1530,7 @@ ru: label_age: "Возраст" label_ago: "дней назад" label_all: "все" + label_all_projects: "All projects" label_all_time: "все время" label_all_words: "Все слова" label_all_open_wps: "Все открытые" @@ -1546,6 +1547,7 @@ ru: label_ical_access_key_revoke: "Отозвать" label_applied_status: "Прикладной статус" label_archive_project: "Архивировать проект" + label_archived_projects: "Archived projects" label_ascending: "По возрастанию" label_assigned_to_me_work_packages: "Переданные мне пакеты работ" label_associated_revisions: "Связанные изменения" @@ -1681,7 +1683,8 @@ ru: label_equals: "—" label_everywhere: "везде" label_example: "Пример" - label_experimental: "Experimental" + label_experimental: "Экспериментально" + label_i_am_member: "I am member" label_import: "Импорт" label_export_to: "Скачать как:" label_expanded_click_to_collapse: "Развернуто. Кликните для сворачивания" @@ -1718,6 +1721,7 @@ ru: label_hierarchy_leaf: "Уровень иерархии" label_home: "Главная" label_subject_or_id: "Тема или ID" + label_icalendar: "iCalendar" label_impressum: "Правовое уведомление" label_in: "в" label_in_less_than: "менее чем" @@ -2392,7 +2396,7 @@ ru: archived: "Архивирован" project_module_activity: "Деятельность" project_module_forums: "Форумы" - project_module_work_package_tracking: "Отслеживание пакета работ" + project_module_work_package_tracking: "Комплекс работ" project_module_news: "Новости" project_module_repository: "Репозиторий" project_module_wiki: "Wiki" @@ -2576,7 +2580,7 @@ ru: setting_enabled_scm: "Вклченные SCM (системы управления исходным кодом)" setting_enabled_projects_columns: "Видимый в списке проектов" setting_feeds_enabled: "Включить новостные ленты" - setting_ical_enabled: "Включить подписку на iCalendar" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Предел содержимого новостной ленты" setting_file_max_size_displayed: "Максимальная длина строки текстовых файлов" setting_host_name: "Имя компьютера в сети" @@ -2640,34 +2644,21 @@ ru: setting_work_package_list_default_highlighted_attributes: "Выделенные встроенные атрибуты по умолчанию" setting_working_days: "Рабочие дни" settings: - general: "Общие" - other: "Другие" - passwords: "Пароли" - session: "Сессия" - brute_force_prevention: "Автоматическое блокирование пользователя" attachments: whitelist_text_html: > Определите список допустимых расширений файлов и/или mime типов для загруженных файлов.
    Введите расширения файлов (например, %{ext_example}) или mime типы (e. ., %{mime_example}).
    Оставьте пустым, чтобы разрешить загрузку любого типа файла. Допустимы несколько значений (одна строка для каждого значения). + brute_force_prevention: "Автоматическое блокирование пользователя" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Регулирует, по каким событиям отправляется письмо. Пакеты работ исключаются из этого списка, поскольку уведомления для них могут быть настроены специально для каждого пользователя.' - delay_minutes_explanation: "Отправка электронной почты может быть отложена для разрешения пользователям с настроенными в приложении уведомлениями подтвердить уведомление внутри приложения перед отправкой почты. Пользователи, которые прочитали уведомление в приложении, не будут получать по электронной почте уже прочитанное уведомление." - display: + date_format: first_date_of_week_and_year_set: > - Если параметры "%{day_of_week_setting_name}" или "%{first_week_setting_name}" заданы, должны быть заданы и другие тоже во избежание несоответствий в интерфейсе. - first_week_of_year_text: > - Выберите дату января, которая содержится в первой неделе года. Она вместе с первым днем недели определяет общее количество недель в году. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Общие" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Настройки для новых проектов" - section_project_overview: "Настройки списка обзоров проекта" - user: - default_preferences: "Предпочтения по умолчанию" - display_format: "Формат отображения" - deletion: "Удаление" highlighting: mode_long: inline: "Выделите один или несколько встроенных атрибутов" @@ -2675,6 +2666,23 @@ ru: status: "Вся строка по статусу" type: "Вся строка по типу" priority: "Вся строка по приоритету" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Регулирует, по каким событиям отправляется письмо. Пакеты работ исключаются из этого списка, поскольку уведомления для них могут быть настроены специально для каждого пользователя.' + delay_minutes_explanation: "Отправка электронной почты может быть отложена для разрешения пользователям с настроенными в приложении уведомлениями подтвердить уведомление внутри приложения перед отправкой почты. Пользователи, которые прочитали уведомление в приложении, не будут получать по электронной почте уже прочитанное уведомление." + other: "Другие" + passwords: "Пароли" + projects: + section_new_projects: "Настройки для новых проектов" + section_project_overview: "Настройки списка обзоров проекта" + session: "Сессия" + user: + default_preferences: "Предпочтения по умолчанию" + display_format: "Формат отображения" + deletion: "Удаление" working_days: section_work_week: "Рабочая неделя" section_holidays_and_closures: "Праздничные и нерабочие дни" diff --git a/config/locales/crowdin/rw.yml b/config/locales/crowdin/rw.yml index 017d9fc4d5c3..bff18eba682f 100644 --- a/config/locales/crowdin/rw.yml +++ b/config/locales/crowdin/rw.yml @@ -198,8 +198,6 @@ rw: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -528,6 +526,7 @@ rw: hours: "Hours" spent_on: "Date" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1067,6 +1066,7 @@ rw: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1493,6 +1493,7 @@ rw: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1509,6 +1510,7 @@ rw: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1645,6 +1647,7 @@ rw: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1681,6 +1684,7 @@ rw: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2352,7 +2356,7 @@ rw: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2538,7 +2542,7 @@ rw: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2602,34 +2606,21 @@ rw: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2637,6 +2628,23 @@ rw: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/si.yml b/config/locales/crowdin/si.yml index c3c434112ef3..16ef73385af2 100644 --- a/config/locales/crowdin/si.yml +++ b/config/locales/crowdin/si.yml @@ -198,8 +198,6 @@ si: no_results_content_text: නව අභිරුචි ක්ෂේත්‍රයක් සාදන්න concatenation: single: 'හෝ' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "විකි" @@ -528,6 +526,7 @@ si: hours: "පැය" spent_on: "දිනය" type: "වර්ගය" + ongoing: "Ongoing" type: description: "විස්තරය සඳහා පෙරනිමි පෙළ" attribute_groups: '' @@ -1066,7 +1065,8 @@ si: button_configure: "සකසන්න" button_continue: "ඉදිරියට යන්න" button_copy: "පිටපත් කරන්න" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "පසුරු පුවරුවට පිටපත් කරන්න" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "පිටපත් කර අනුගමනය කරන්න" button_create: "සාදන්න" button_create_and_continue: "සාදන්න සහ ඉදිරියට යන්න" @@ -1493,6 +1493,7 @@ si: label_age: "වයස" label_ago: "දින කිහිපයකට පෙර" label_all: "සියලු" + label_all_projects: "All projects" label_all_time: "සියලු කාලය" label_all_words: "සියලු වචන" label_all_open_wps: "සියල්ල විවෘතයි" @@ -1509,6 +1510,7 @@ si: label_ical_access_key_revoke: "අවලංගු" label_applied_status: "ව්යවහාරික තත්ත්වය" label_archive_project: "සංරක්ෂිත ව්යාපෘතිය" + label_archived_projects: "Archived projects" label_ascending: "නැගීම" label_assigned_to_me_work_packages: "මට පවරා ඇති වැඩ පැකේජ" label_associated_revisions: "ආශ්රිත සංශෝධන" @@ -1595,7 +1597,7 @@ si: label_database_version: "PostgreSQL version" label_date: "දිනය" label_date_and_time: "දිනය සහ වේලාව" - label_date_format: "Date format" + label_date_format: "දිනය ආකෘතිය" label_date_from: "සිට" label_date_from_to: "%{start} සිට %{end}දක්වා" label_date_to: "කිරීමට" @@ -1645,6 +1647,7 @@ si: label_everywhere: "සෑම තැනකම" label_example: "උදාහරණය" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "ආනයන" label_export_to: "ද ලබා ගත හැකි:" label_expanded_click_to_collapse: "පුළුල්. කඩා වැටීමට ක්ලික් කරන්න" @@ -1681,6 +1684,7 @@ si: label_hierarchy_leaf: "ධූරාවලිය කොළ" label_home: "නිවස" label_subject_or_id: "විෂය හෝ හැඳුනුම්පත" + label_icalendar: "iCalendar" label_impressum: "නීතිමය දැනුම්දීම" label_in: "තුළ" label_in_less_than: "වඩා අඩු" @@ -2352,7 +2356,7 @@ si: archived: "සංරක්ෂිත" project_module_activity: "ක්‍රියාකාරකම" project_module_forums: "සංසද" - project_module_work_package_tracking: "වැඩ පැකේජය ලුහුබැඳීම" + project_module_work_package_tracking: "වැඩ පැකේජ" project_module_news: "පුවත්" project_module_repository: "ගබඩාව" project_module_wiki: "විකි" @@ -2526,7 +2530,7 @@ si: setting_consent_decline_mail: "කැමැත්ත සම්බන්ධතා තැපැල් ලිපිනය" setting_cross_project_work_package_relations: "හරස් ව්යාපෘති වැඩ පැකේජ සබඳතා ඉඩ දෙන්න" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "දිනය" setting_default_language: "පෙරනිමි භාෂාව" setting_default_projects_modules: "නව ව්යාපෘති සඳහා පෙරනිමි සක්රීය මොඩියුල" setting_default_projects_public: "නව ව්යාපෘති පෙරනිමියෙන් පොදු වේ" @@ -2538,7 +2542,7 @@ si: setting_enabled_scm: "සක්රීය SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "පෝෂණය සක්රීය කරන්න" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "අන්තර්ගත සීමාව සංග්රහ" setting_file_max_size_displayed: "පේළිගත ප්රදර්ශනය පෙළ ගොනු උපරිම ප්රමාණය" setting_host_name: "සත්කාරක නාමය" @@ -2602,34 +2606,21 @@ si: setting_work_package_list_default_highlighted_attributes: "පෙරනිමි පේළිගත උද්දීපිත ගුණාංග" setting_working_days: "Working days" settings: - general: "පොදු" - other: "වෙනත්" - passwords: "මුරපද" - session: "සැසිය" - brute_force_prevention: "ස්වයංක්රීය පරිශීලක අවහිර" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "ස්වයංක්රීය පරිශීලක අවහිර" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "පොදු" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "පෙරනිමි මනාප" - display_format: "Display format" - deletion: "මකාදැමීම" highlighting: mode_long: inline: "කැපී පෙනෙන ලක්ෂණය (ගේ) පේළිගත" @@ -2637,6 +2628,23 @@ si: status: "තත්ත්වය විසින් සමස්ත පේළිය" type: "වර්ගය විසින් සම්පූර්ණ පේළිය" priority: "ප්රමුඛතා විසින් සම්පූර්ණ පේළිය" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "වෙනත්" + passwords: "මුරපද" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "සැසිය" + user: + default_preferences: "පෙරනිමි මනාප" + display_format: "Display format" + deletion: "මකාදැමීම" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/sk.yml b/config/locales/crowdin/sk.yml index 98dcc4d6276b..7ce03c134a04 100644 --- a/config/locales/crowdin/sk.yml +++ b/config/locales/crowdin/sk.yml @@ -198,8 +198,6 @@ sk: no_results_content_text: Vytvoriť nové vlastné pole concatenation: single: 'alebo' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -530,6 +528,7 @@ sk: hours: "Hodín" spent_on: "Dátum" type: "Typ" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1080,7 +1079,8 @@ sk: button_configure: "Konfigurovať" button_continue: "Pokračovať" button_copy: "Kopírovať" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopírovať do schránky" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopírovať a nasledovať" button_create: "Vytvoriť" button_create_and_continue: "Vytvoriť a pokračovať" @@ -1531,6 +1531,7 @@ sk: label_age: "Vek" label_ago: "dní späť" label_all: "Všetky" + label_all_projects: "All projects" label_all_time: "všetok čas" label_all_words: "Všetky slová" label_all_open_wps: "Všetky otvorené" @@ -1547,6 +1548,7 @@ sk: label_ical_access_key_revoke: "Odvolať" label_applied_status: "Aplikovaný stav" label_archive_project: "Archivovať projekt" + label_archived_projects: "Archived projects" label_ascending: "Vzostupne" label_assigned_to_me_work_packages: "Mne priradené pracovné balíčky" label_associated_revisions: "Súvisiace revízie" @@ -1633,7 +1635,7 @@ sk: label_database_version: "PostgreSQL version" label_date: "Dátum" label_date_and_time: "Dátum a čas" - label_date_format: "Date format" + label_date_format: "Formát dátumu" label_date_from: "Od" label_date_from_to: "Od %{start} do %{end}" label_date_to: "Do" @@ -1683,6 +1685,7 @@ sk: label_everywhere: "všade" label_example: "Príklad" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "K dispozícii tiež ako:" label_expanded_click_to_collapse: "Rozbalené. Kliknutí zbalíte" @@ -1719,6 +1722,7 @@ sk: label_hierarchy_leaf: "Úroveň hierarchie" label_home: "Úvod" label_subject_or_id: "Predmet alebo ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "v" label_in_less_than: "v menej ako" @@ -2393,7 +2397,7 @@ sk: archived: "Archivované" project_module_activity: "Činnosť" project_module_forums: "Diskusie" - project_module_work_package_tracking: "Sledovanie Pracovného balíka" + project_module_work_package_tracking: "Pracovné balíčky" project_module_news: "Novinky" project_module_repository: "Repozitár" project_module_wiki: "Wiki" @@ -2567,7 +2571,7 @@ sk: setting_consent_decline_mail: "Kontaktná e-mailová adresa pre udelenie súhlasu" setting_cross_project_work_package_relations: "Povoliť prepojenia úloh naprieč projektmi" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Dátum" setting_default_language: "Predvolený jazyk" setting_default_projects_modules: "Predvolené moduly novovytváraných projektov" setting_default_projects_public: "Nové projekty nastaviť ako verejné" @@ -2579,7 +2583,7 @@ sk: setting_enabled_scm: "Povolené SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Povoliť informačné kanály" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Limit obsahu informačných kanálov" setting_file_max_size_displayed: "Maximálna veľkosť textových súborov zobrazených priamo na stránke" setting_host_name: "Názov serveru (Host name)" @@ -2630,7 +2634,7 @@ sk: setting_start_of_week: "Týždeň začína dňom" setting_sys_api_enabled: "Povoliť webovú službu pre správu úložiska" setting_sys_api_description: "Webová služba pre správu úložiska umožňuje integráciu a autorizáciu používateľa na prístup k repozitárom." - setting_time_format: "Time" + setting_time_format: "Čas" setting_accessibility_mode_for_anonymous: "Zapnúť režim prístupnosti pre anonymných používateľov" setting_user_format: "Users name format" setting_user_default_timezone: "Predvolená časová zóna užívateľa" @@ -2643,34 +2647,21 @@ sk: setting_work_package_list_default_highlighted_attributes: "Predvolené inline zvýraznené atribúty" setting_working_days: "Working days" settings: - general: "Všeobecné" - other: "Ostatné" - passwords: "Heslá" - session: "Relácie" - brute_force_prevention: "Automatizované blokovanie používateľa" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automatizované blokovanie používateľa" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Všeobecné" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Predvolené nastavenia" - display_format: "Display format" - deletion: "Vymazanie" highlighting: mode_long: inline: "Inline zvýraznené atribút(y)" @@ -2678,6 +2669,23 @@ sk: status: "Celý riadok podľa Stavu" type: "Celý riadok podľa typu" priority: "Celý riadok podľa Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Ostatné" + passwords: "Heslá" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Relácie" + user: + default_preferences: "Predvolené nastavenia" + display_format: "Display format" + deletion: "Vymazanie" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/sl.yml b/config/locales/crowdin/sl.yml index fa675d9c7160..e54951570e65 100644 --- a/config/locales/crowdin/sl.yml +++ b/config/locales/crowdin/sl.yml @@ -197,8 +197,6 @@ sl: no_results_content_text: Ustvarite novo uporabniško lastnost concatenation: single: 'ali' - documentation: - see_more_link: Za več informacij si poglejte našo dokumentacijo na to temo. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -527,6 +525,7 @@ sl: hours: "Ure" spent_on: "Datum" type: "Vrsta" + ongoing: "Ongoing" type: description: "Privzeto besedilo za opis" attribute_groups: '' @@ -1077,7 +1076,8 @@ sl: button_configure: "Nastavi" button_continue: "Nadaljuj" button_copy: "Kopiraj" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopiraj v odložišče" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopiraj in sledi" button_create: "Ustvari" button_create_and_continue: "Ustvari in nadaljuj" @@ -1528,6 +1528,7 @@ sl: label_age: "Starost" label_ago: "pred dnevi" label_all: "vsi" + label_all_projects: "All projects" label_all_time: "Ves čas" label_all_words: "Vse besede" label_all_open_wps: "Vse odprto" @@ -1544,6 +1545,7 @@ sl: label_ical_access_key_revoke: "Prekliči" label_applied_status: "Uveljavljeno stanje" label_archive_project: "Arhivirani projekti" + label_archived_projects: "Archived projects" label_ascending: "Naraščajoče" label_assigned_to_me_work_packages: "Delovni paketi, ki so mi bili dodeljeni" label_associated_revisions: "Povezane revizije" @@ -1630,7 +1632,7 @@ sl: label_database_version: "PostgreSQL verzija" label_date: "Datum" label_date_and_time: "Datum in ura" - label_date_format: "Date format" + label_date_format: "Format datuma" label_date_from: "Od" label_date_from_to: "Od %{start} do %{end}" label_date_to: "Do/za" @@ -1680,6 +1682,7 @@ sl: label_everywhere: "Povsod" label_example: "Primer" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Uvozi" label_export_to: "Na razpolago tudi v:" label_expanded_click_to_collapse: "Razširjeno. Kliknite, če želite strniti" @@ -1716,6 +1719,7 @@ sl: label_hierarchy_leaf: "Hierarhični list" label_home: "Domov" label_subject_or_id: "Predmet ali ID" + label_icalendar: "iCalendar" label_impressum: "Pravno obvestilo" label_in: "v" label_in_less_than: "v manj kot" @@ -2391,7 +2395,7 @@ sl: archived: "Arhiviran" project_module_activity: "Aktivnost" project_module_forums: "Forumi" - project_module_work_package_tracking: "Sledenje delovnega paketa" + project_module_work_package_tracking: "Delovni paketi" project_module_news: "Novice" project_module_repository: "Repozitorij" project_module_wiki: "Wiki" @@ -2564,7 +2568,7 @@ sl: setting_consent_decline_mail: "Kontaktni naslov elektronske pošte" setting_cross_project_work_package_relations: "Dovoli povezave delovnih paketov od različnih projektov" setting_first_week_of_year: "Prvi teden v letu vsebuje" - setting_date_format: "Date" + setting_date_format: "Datum" setting_default_language: "Privzeti jezik" setting_default_projects_modules: "Privzeti omogočeni moduli za nove projekte" setting_default_projects_public: "Novi projekti so privzeto javni" @@ -2576,7 +2580,7 @@ sl: setting_enabled_scm: "Omogočen SCM" setting_enabled_projects_columns: "Vidno na seznamu projektov" setting_feeds_enabled: "Omogoči vire" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Omejitev vsebine vira" setting_file_max_size_displayed: "Največja velikost besedilnih datotek, prikazanih v vrstici" setting_host_name: "Ime gostitelja" @@ -2627,7 +2631,7 @@ sl: setting_start_of_week: "Teden se začne na (Automatic Translation)" setting_sys_api_enabled: "Omogoči spletno storitev upravljanja repozitorija" setting_sys_api_description: "Spletna storitev za upravljanje skladišča nudi integracijo in pooblastilo uporabnika za dostop do repozitorija." - setting_time_format: "Time" + setting_time_format: "Čas" setting_accessibility_mode_for_anonymous: "Omogoči način dostopa za anonimne uporabnike" setting_user_format: "Users name format" setting_user_default_timezone: "Uporabniški privzeti časovni pas" @@ -2640,34 +2644,21 @@ sl: setting_work_package_list_default_highlighted_attributes: "Privzeti atributi, označeni s črto" setting_working_days: "Working days" settings: - general: "Splošno" - other: "Drugo" - passwords: "Gesla" - session: "Seja" - brute_force_prevention: "Avtomatično blokiranje uporabnika" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Avtomatično blokiranje uporabnika" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Izberi datum v januarju, ki je v prvem tednu leta. Ta vrednost skupaj s prvim dnevom tedna določi skupno število tednov v letu. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Splošno" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Nastavitve za nove projekte" - section_project_overview: "Nastavitve za seznam pregleda projekta." - user: - default_preferences: "Privzete nastavitve" - display_format: "Display format" - deletion: "brisanje" highlighting: mode_long: inline: "Označite atribut(e) v vrstici" @@ -2675,6 +2666,23 @@ sl: status: "Celotna vrstica razvrščena glede na Status" type: "Celotna vrstica glede na Tip" priority: "Celotna vrstica glede na pomembnost." + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Drugo" + passwords: "Gesla" + projects: + section_new_projects: "Nastavitve za nove projekte" + section_project_overview: "Nastavitve za seznam pregleda projekta." + session: "Seja" + user: + default_preferences: "Privzete nastavitve" + display_format: "Display format" + deletion: "brisanje" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/sr.yml b/config/locales/crowdin/sr.yml index 7385140e7f07..dbb66145b4af 100644 --- a/config/locales/crowdin/sr.yml +++ b/config/locales/crowdin/sr.yml @@ -198,8 +198,6 @@ sr: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -529,6 +527,7 @@ sr: hours: "Hours" spent_on: "Date" type: "Type" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1074,6 +1073,7 @@ sr: button_continue: "Continue" button_copy: "Copy" button_copy_to_clipboard: "Copy to clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Copy and follow" button_create: "Create" button_create_and_continue: "Create and continue" @@ -1512,6 +1512,7 @@ sr: label_age: "Age" label_ago: "days ago" label_all: "all" + label_all_projects: "All projects" label_all_time: "all time" label_all_words: "All words" label_all_open_wps: "All open" @@ -1528,6 +1529,7 @@ sr: label_ical_access_key_revoke: "Revoke" label_applied_status: "Applied status" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Ascending" label_assigned_to_me_work_packages: "Work packages assigned to me" label_associated_revisions: "Associated revisions" @@ -1664,6 +1666,7 @@ sr: label_everywhere: "everywhere" label_example: "Example" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "Also available in:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1700,6 +1703,7 @@ sr: label_hierarchy_leaf: "Hierarchy leaf" label_home: "Home" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "in" label_in_less_than: "in less than" @@ -2373,7 +2377,7 @@ sr: archived: "Archived" project_module_activity: "Activity" project_module_forums: "Forums" - project_module_work_package_tracking: "Work package tracking" + project_module_work_package_tracking: "Work packages" project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" @@ -2559,7 +2563,7 @@ sr: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2623,34 +2627,21 @@ sr: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "General" - other: "Other" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "General" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2658,6 +2649,23 @@ sr: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Other" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/sv.yml b/config/locales/crowdin/sv.yml index 6898eb8f0222..e54177715851 100644 --- a/config/locales/crowdin/sv.yml +++ b/config/locales/crowdin/sv.yml @@ -198,8 +198,6 @@ sv: no_results_content_text: Skapa ett nytt anpassat fält concatenation: single: 'eller' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -527,6 +525,7 @@ sv: hours: "Timmar" spent_on: "Datum" type: "Typ" + ongoing: "Ongoing" type: description: "Standardtext för beskrivning" attribute_groups: '' @@ -1065,7 +1064,8 @@ sv: button_configure: "Konfigurera" button_continue: "Fortsätt" button_copy: "Kopiera" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Kopiera till Urklipp" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopiera och följ" button_create: "Skapa" button_create_and_continue: "Skapa och fortsätt" @@ -1492,6 +1492,7 @@ sv: label_age: "Ålder" label_ago: "dagar sedan" label_all: "alla" + label_all_projects: "All projects" label_all_time: "all tid" label_all_words: "Alla ord" label_all_open_wps: "Alla öppna" @@ -1508,6 +1509,7 @@ sv: label_ical_access_key_revoke: "Återkalla" label_applied_status: "Tillämpad status" label_archive_project: "Arkivera projekt" + label_archived_projects: "Archived projects" label_ascending: "Stigande" label_assigned_to_me_work_packages: "Arbetspaket som tilldelats till mig" label_associated_revisions: "Kopplade revideringar" @@ -1594,7 +1596,7 @@ sv: label_database_version: "PostgreSQL version" label_date: "Datum" label_date_and_time: "Datum och tid" - label_date_format: "Date format" + label_date_format: "Datumformat" label_date_from: "Från" label_date_from_to: "Från %{start} till %{end}" label_date_to: "Till" @@ -1643,7 +1645,8 @@ sv: label_equals: "är" label_everywhere: "överallt" label_example: "Exempel" - label_experimental: "Experimental" + label_experimental: "Experimentell" + label_i_am_member: "I am member" label_import: "Importera" label_export_to: "Finns även som:" label_expanded_click_to_collapse: "Expanderat. Klicka för att dölja" @@ -1680,6 +1683,7 @@ sv: label_hierarchy_leaf: "Hierarki-blad" label_home: "Hem" label_subject_or_id: "Ämne eller ID" + label_icalendar: "iCalendar" label_impressum: "Villkor" label_in: "i" label_in_less_than: "i mindre än" @@ -2351,7 +2355,7 @@ sv: archived: "Arkiverad" project_module_activity: "Aktivitet" project_module_forums: "Forum" - project_module_work_package_tracking: "Arbetspaketsspårning" + project_module_work_package_tracking: "Arbetspaket" project_module_news: "Nyheter" project_module_repository: "Versionsarkiv" project_module_wiki: "Wiki" @@ -2523,7 +2527,7 @@ sv: setting_consent_decline_mail: "Samtycke kontaktadress" setting_cross_project_work_package_relations: "Tillåt relationer mellan arbetspaket i olika projekt" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "Datum" setting_default_language: "Standardspråk" setting_default_projects_modules: "Standardmoduler för nya projekt" setting_default_projects_public: "Nya projekt är offentliga som standard" @@ -2535,7 +2539,7 @@ sv: setting_enabled_scm: "Aktiverade SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Aktivera Flöden" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Innehållsbegränsning på Flöden" setting_file_max_size_displayed: "Maxstorlek på textfiler som visas inline" setting_host_name: "Värdnamn" @@ -2586,7 +2590,7 @@ sv: setting_start_of_week: "Veckan börjar med" setting_sys_api_enabled: "Aktivera webbtjänsten arkivhantering" setting_sys_api_description: "Webtjänsten arkivhantering ger integrering och användarautentisering för att åtkomst av arkiv." - setting_time_format: "Time" + setting_time_format: "Tid" setting_accessibility_mode_for_anonymous: "Aktivera hjälpmedelsläget för anonyma användare" setting_user_format: "Users name format" setting_user_default_timezone: "Standardtidszon för användarna" @@ -2599,34 +2603,21 @@ sv: setting_work_package_list_default_highlighted_attributes: "Standardattribut för inline-markering" setting_working_days: "Working days" settings: - general: "Allmänt" - other: "Andra" - passwords: "Lösenord" - session: "Session" - brute_force_prevention: "Automatiserad användarblockering" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automatiserad användarblockering" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Allmänt" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Förvalda inställningar" - display_format: "Display format" - deletion: "Borttagning" highlighting: mode_long: inline: "Markera attribut(en) inline" @@ -2634,6 +2625,23 @@ sv: status: "Hel rad per status" type: "Hel rad efter typ" priority: "Hel rad per prioritet" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Andra" + passwords: "Lösenord" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Förvalda inställningar" + display_format: "Display format" + deletion: "Borttagning" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/th.yml b/config/locales/crowdin/th.yml index 2c698e015716..9d5dbb30d148 100644 --- a/config/locales/crowdin/th.yml +++ b/config/locales/crowdin/th.yml @@ -198,8 +198,6 @@ th: no_results_content_text: Create a new custom field concatenation: single: 'or' - documentation: - see_more_link: สำหรับข้อมูลเพิ่มเติม, กรุณาเลือกตามรายการเอกสารนี้ global_search: overwritten_tabs: wiki_pages: "วิกิ" @@ -527,6 +525,7 @@ th: hours: "ชั่วโมง" spent_on: "วันที่" type: "ประเภท" + ongoing: "Ongoing" type: description: "Default text for description" attribute_groups: '' @@ -1059,7 +1058,8 @@ th: button_configure: "กำหนดค่า" button_continue: "Continue" button_copy: "คัดลอก" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "คัดลอกไปยังคลิปบอร์ด" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "คัดลอก และปฏิบัติตาม" button_create: "สร้าง" button_create_and_continue: "สร้าง และดำเนินการต่อ" @@ -1474,6 +1474,7 @@ th: label_age: "ระยะเวลา" label_ago: "วันที่ผ่านมา" label_all: "ทั้งหมด" + label_all_projects: "All projects" label_all_time: "ตลอดเวลา" label_all_words: "ทุกคำ" label_all_open_wps: "All open" @@ -1490,6 +1491,7 @@ th: label_ical_access_key_revoke: "Revoke" label_applied_status: "ใช้สถานะ" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "จากน้อยไปมาก" label_assigned_to_me_work_packages: "ชุดภารกิจที่ฉันได้รับมอบหมาย" label_associated_revisions: "การปรับปรุงที่เกี่ยวข้อง" @@ -1576,7 +1578,7 @@ th: label_database_version: "PostgreSQL version" label_date: "วันที่" label_date_and_time: "Date and time" - label_date_format: "Date format" + label_date_format: "รูปแบบวันที่" label_date_from: "จาก" label_date_from_to: "ตั้งแต่ %{start} จนถึง %{end}" label_date_to: "ถึงวันที่" @@ -1626,6 +1628,7 @@ th: label_everywhere: "everywhere" label_example: "ตัวอย่าง" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Import" label_export_to: "ยังสามารถพบใน:" label_expanded_click_to_collapse: "Expanded. Click to collapse" @@ -1662,6 +1665,7 @@ th: label_hierarchy_leaf: "Hierarchy leaf" label_home: "หน้าหลัก" label_subject_or_id: "Subject or ID" + label_icalendar: "iCalendar" label_impressum: "Legal notice" label_in: "ใน" label_in_less_than: "ในไม่เกิน" @@ -2331,7 +2335,7 @@ th: archived: "Archived" project_module_activity: "กิจกรรม" project_module_forums: "กระทู้" - project_module_work_package_tracking: "ติดตามผลชุดภารกิจ" + project_module_work_package_tracking: "ชุดภารกิจ" project_module_news: "ข่าวสาร" project_module_repository: "ที่เก็บข้อมูล" project_module_wiki: "วิกิ" @@ -2505,7 +2509,7 @@ th: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "อนุญาติให้มีความเกี่ยวข้องกันระหว่างชุดภารกิจในโครงการ" setting_first_week_of_year: "สัปดาห์แรกของปี ประกอบด้วย" - setting_date_format: "Date" + setting_date_format: "วันที่" setting_default_language: "ภาษาเริ่มต้น" setting_default_projects_modules: "ค่าเริ่มต้นของโมดูลที่เปิดใช้สำหรับโครงการใหม่" setting_default_projects_public: "โดยเริ่มแรก โครงการใหม่จะเป็นสาธารณะ" @@ -2517,7 +2521,7 @@ th: setting_enabled_scm: "เปิดใช้ SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "เปิดใช้ Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "จำกัดเนื้อหาของ Feed" setting_file_max_size_displayed: "ความยาวสูงสุดของไฟล์ตัวอักษรแสดงในบรรทัด" setting_host_name: "ชื่อโฮสต์" @@ -2581,34 +2585,21 @@ th: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "ทั่วไป" - other: "อื่น ๆ" - passwords: "รหัสผ่าน" - session: "เซสชั่น" - brute_force_prevention: "การบล็อกผู้ใช้อัตโนมัติ" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "การบล็อกผู้ใช้อัตโนมัติ" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > - หากมีการตั้งค่าตัวเลือก "%{day_of_week_setting_name}" หรือ "%{first_week_setting_name}" ไว้ จะต้องตั้งค่าตัวเลือกอื่นด้วยเพื่อหลีกเลี่ยงความไม่สอดคล้องกันในส่วนหน้า - first_week_of_year_text: > - เลือกวันที่ของเดือนมกราคมที่อยู่ในสัปดาห์แรกของปี ค่านี้ร่วมกับวันแรกของสัปดาห์จะกำหนดจำนวนสัปดาห์รวมในหนึ่งปี + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "ทั่วไป" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Default preferences" - display_format: "Display format" - deletion: "Deletion" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2616,6 +2607,23 @@ th: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "อื่น ๆ" + passwords: "รหัสผ่าน" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "เซสชั่น" + user: + default_preferences: "Default preferences" + display_format: "Display format" + deletion: "Deletion" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/tr.yml b/config/locales/crowdin/tr.yml index d2973d846647..f3b7ccc14632 100644 --- a/config/locales/crowdin/tr.yml +++ b/config/locales/crowdin/tr.yml @@ -198,8 +198,6 @@ tr: no_results_content_text: Yeni bir özel alan oluştur concatenation: single: 'ya da' - documentation: - see_more_link: Daha fazla bilgi için lütfen bu konuyla ilgili belgelerimize bakın. global_search: overwritten_tabs: wiki_pages: "Viki" @@ -527,6 +525,7 @@ tr: hours: "Saat" spent_on: "Tarih" type: "Tür" + ongoing: "Ongoing" type: description: "Açıklama için varsayılan metin" attribute_groups: '' @@ -1065,7 +1064,8 @@ tr: button_configure: "Düzenle" button_continue: "Devam et" button_copy: "Kopyala" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Panoya kopyala" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Kopyala ve takip et" button_create: "Oluştur" button_create_and_continue: "Oluştur ve devam et" @@ -1421,11 +1421,11 @@ tr: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} artık çalışma günü" + non_working: "%{day} artık çalışılmayan gün" dates: working: "%{date} is now working" - non_working: "%{date} is now non-working" + non_working: "%{date} artık çalışılmayan tarih" links: configuration_guide: 'Yapılandırma rehberi' get_in_touch: "Senin soruların var? Bizimle temasa geçin." @@ -1492,6 +1492,7 @@ tr: label_age: "Yaş" label_ago: "gün önce" label_all: "tüm" + label_all_projects: "All projects" label_all_time: "her zaman" label_all_words: "Bütün kelimeler" label_all_open_wps: "Tüm açık" @@ -1508,6 +1509,7 @@ tr: label_ical_access_key_revoke: "İptal etmek" label_applied_status: "Uygulanan statü" label_archive_project: "Projeyi arşivle" + label_archived_projects: "Archived projects" label_ascending: "Azalan" label_assigned_to_me_work_packages: "Bana atanan iş paketleri" label_associated_revisions: "İlişkili sürümler" @@ -1594,7 +1596,7 @@ tr: label_database_version: "PostgreSQL sürümü" label_date: "Tarih" label_date_and_time: "Tarih ve zaman" - label_date_format: "Date format" + label_date_format: "Tarih formatı" label_date_from: "Başlangıç" label_date_from_to: "%{start} tarihinden %{end} tarihine" label_date_to: "Bitiş" @@ -1643,7 +1645,8 @@ tr: label_equals: "şuysa" label_everywhere: "heryer" label_example: "Örnek" - label_experimental: "Experimental" + label_experimental: "Deneysel" + label_i_am_member: "I am member" label_import: "İçeri Aktar" label_export_to: "Ayrıca şu adreste bulunabilir:" label_expanded_click_to_collapse: "Genişletilmiş. Daraltmak için tıklayın" @@ -1680,6 +1683,7 @@ tr: label_hierarchy_leaf: "Hiyerarşi ağacı" label_home: "Ana sayfa" label_subject_or_id: "Konu ya da ID" + label_icalendar: "iCalendar" label_impressum: "Yasal uyarı" label_in: "şurada" label_in_less_than: "daha azdır" @@ -2348,7 +2352,7 @@ tr: archived: "Arşivlenen" project_module_activity: "Etkinlik" project_module_forums: "Forumlar" - project_module_work_package_tracking: "İş paketi takibi" + project_module_work_package_tracking: "İş paketleri" project_module_news: "Haberler" project_module_repository: "Depo" project_module_wiki: "Viki" @@ -2522,7 +2526,7 @@ tr: setting_consent_decline_mail: "Onay iletişim posta adresi" setting_cross_project_work_package_relations: "Projeler arası iş paketi ilişkilerine izin ver" setting_first_week_of_year: "Yılın ilk haftası" - setting_date_format: "Date" + setting_date_format: "Tarih" setting_default_language: "Varsayılan dil" setting_default_projects_modules: "Yeni projeler için varsayılan etkin modüller" setting_default_projects_public: "Yeni projeler varsayılan olarak herkese açık" @@ -2534,7 +2538,7 @@ tr: setting_enabled_scm: "Etkinleştirilmiş SCM" setting_enabled_projects_columns: "Proje listesinde görünür" setting_feeds_enabled: "Yayınları Etkinleştir" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Besleme içeriği sınırı" setting_file_max_size_displayed: "Satır içi görüntülenen maksimum metin dosyası boyutu" setting_host_name: "Ana bilgisayar adı" @@ -2585,7 +2589,7 @@ tr: setting_start_of_week: "Hafta Başlangıcı" setting_sys_api_enabled: "Depo yönetimi web hizmetini etkinleştir" setting_sys_api_description: "Depo yönetimi web servisi depolara erişmek için entegrasyon ve kullanıcı yetkilendirmesi sağlar." - setting_time_format: "Time" + setting_time_format: "Saat" setting_accessibility_mode_for_anonymous: "İsimsiz kullanıcılar için erişilebilirlik modunu etkinleştir" setting_user_format: "Users name format" setting_user_default_timezone: "Kullanıcıların varsayılan saat dilimi" @@ -2596,36 +2600,23 @@ tr: setting_welcome_on_homescreen: "Hoşgeldiniz bloğunu ana ekranda göster" setting_work_package_list_default_highlighting_mode: "Varsayılan vurgulama modu" setting_work_package_list_default_highlighted_attributes: "Varsayılan satır içi vurgulanan özellikler" - setting_working_days: "Working days" + setting_working_days: "İş Günleri" settings: - general: "Genel" - other: "Diğer" - passwords: "Parolalar" - session: "Oturum" - brute_force_prevention: "Otomatik kullanıcı engelleme" attachments: whitelist_text_html: > Yüklenen dosyalar için geçerli dosya uzantılarının ve/veya mim türlerinin bir listesini tanımlayın.
    Dosya uzantılarını (ör. %{ext_example}) veya mime türlerini (ör. %{mime_example}) girin.
    Herhangi bir dosya türünün yüklenmesine izin vermek için boş bırakın. Birden çok değere izin verilir (her değer için bir satır). + brute_force_prevention: "Otomatik kullanıcı engelleme" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Bir e-postanın hangi olay için gönderileceğini yönetir. İş paketleri, bildirimleri her kullanıcı için özel olarak yapılandırılabileceğinden bu listenin dışında tutulur.' - delay_minutes_explanation: "E-posta gönderimi, uygulama bildirimi yapılandırılmış olan kullanıcıların bir posta gönderilmeden önce uygulama içindeki bildirimi onaylamasına izin vermek için geciktirilebilir. Uygulama içinde bir bildirim okuyan kullanıcılar, okunan bildirim için bir e-posta almaz." - display: + date_format: first_date_of_week_and_year_set: > - Eğer %{day_of_week_setting_name} veya %{first_week_setting_name} seçeneklerinden biri ayarlanmışsa, ön uçta tutarsızlık yaşanmaması için diğer seçeneğin de ayarlanması gerekir. - first_week_of_year_text: > - Yılın ilk haftasında yer alan Ocak tarihini seçin. Haftanın ilk günü ile birlikte bu değer, bir yıldaki toplam hafta sayısını belirler. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Genel" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Yeni projeler için ayarlar" - section_project_overview: "Projeye genel bakış listesi ayarları" - user: - default_preferences: "Varsayılan Tercihler" - display_format: "Display format" - deletion: "Silme" highlighting: mode_long: inline: "Satır içi öznitelikleri vurgula " @@ -2633,8 +2624,25 @@ tr: status: "Duruma göre tüm satır" type: "Türe göre tüm satır" priority: "Önceliğe göre tüm satır" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Bir e-postanın hangi olay için gönderileceğini yönetir. İş paketleri, bildirimleri her kullanıcı için özel olarak yapılandırılabileceğinden bu listenin dışında tutulur.' + delay_minutes_explanation: "E-posta gönderimi, uygulama bildirimi yapılandırılmış olan kullanıcıların bir posta gönderilmeden önce uygulama içindeki bildirimi onaylamasına izin vermek için geciktirilebilir. Uygulama içinde bir bildirim okuyan kullanıcılar, okunan bildirim için bir e-posta almaz." + other: "Diğer" + passwords: "Parolalar" + projects: + section_new_projects: "Yeni projeler için ayarlar" + section_project_overview: "Projeye genel bakış listesi ayarları" + session: "Oturum" + user: + default_preferences: "Varsayılan Tercihler" + display_format: "Display format" + deletion: "Silme" working_days: - section_work_week: "Work week" + section_work_week: "Çalışma Haftası" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/uk.yml b/config/locales/crowdin/uk.yml index 0cbd4852c596..eeebb0d45083 100644 --- a/config/locales/crowdin/uk.yml +++ b/config/locales/crowdin/uk.yml @@ -193,8 +193,6 @@ uk: no_results_content_text: Створіть нове спеціальне поле concatenation: single: 'або' - documentation: - see_more_link: Щоб дізнатися більше, ознайомтеся з нашою документацією з цієї теми. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -525,6 +523,7 @@ uk: hours: "Години" spent_on: "Дата" type: "Тип" + ongoing: "Ongoing" type: description: "Текст за умовчанням для опису" attribute_groups: '' @@ -1075,7 +1074,8 @@ uk: button_configure: "Настроювання" button_continue: "Продовжити" button_copy: "Копіювати" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Копіювати в буфер обміну" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Скопіювати та продовжити" button_create: "Створити" button_create_and_continue: "Створити та продовжити" @@ -1455,8 +1455,8 @@ uk: working_days_changed: changed: "by changes to working days (%{changes})" days: - working: "%{day} is now working" - non_working: "%{day} is now non-working" + working: "%{day} зараз робочий" + non_working: "%{day} зараз неробочий" dates: working: "%{date} is now working" non_working: "%{date} is now non-working" @@ -1526,6 +1526,7 @@ uk: label_age: "Вік" label_ago: "днів тому" label_all: "всі" + label_all_projects: "All projects" label_all_time: "весь час" label_all_words: "Всі слова" label_all_open_wps: "Всі відкрити" @@ -1542,6 +1543,7 @@ uk: label_ical_access_key_revoke: "Скасувати" label_applied_status: "Застосовний статус" label_archive_project: "Архівний проект" + label_archived_projects: "Archived projects" label_ascending: "За зростанням" label_assigned_to_me_work_packages: "Робочі пакети призначені мені" label_associated_revisions: "Пов'язані редакції" @@ -1628,7 +1630,7 @@ uk: label_database_version: "Версія PostgreSQL" label_date: "Дата" label_date_and_time: "Дата і час" - label_date_format: "Date format" + label_date_format: "Формат дати:" label_date_from: "Від" label_date_from_to: "З %{start} по %{end}" label_date_to: "Кому:" @@ -1677,7 +1679,8 @@ uk: label_equals: "є" label_everywhere: "скрізь" label_example: "Приклад" - label_experimental: "Experimental" + label_experimental: "Експериментальне" + label_i_am_member: "I am member" label_import: "Імпортувати" label_export_to: "Також вам доступні:" label_expanded_click_to_collapse: "Розширено. Натисніть, щоб згорнути" @@ -1714,6 +1717,7 @@ uk: label_hierarchy_leaf: "Ієрархічний лист" label_home: "Додому" label_subject_or_id: "Тема або ідентифікатор" + label_icalendar: "iCalendar" label_impressum: "Правове повідомлення" label_in: "в" label_in_less_than: "менш ніж" @@ -2386,7 +2390,7 @@ uk: archived: "Архівований" project_module_activity: "Активність" project_module_forums: "Форуми" - project_module_work_package_tracking: "Відстеження робочого пакету" + project_module_work_package_tracking: "Пакети робіт" project_module_news: "Новини" project_module_repository: "Репозиторій" project_module_wiki: "Wiki" @@ -2560,7 +2564,7 @@ uk: setting_consent_decline_mail: "Згода на контактну пошту" setting_cross_project_work_package_relations: "Дозволити взаємозв'язок між робочими пакетами і проектами" setting_first_week_of_year: "Перший тиждень у році містить" - setting_date_format: "Date" + setting_date_format: "Дата" setting_default_language: "Мова за замовчуванням" setting_default_projects_modules: "Включені по замовчуванню модулі для нових проектів" setting_default_projects_public: "Нові проекти є загальнодоступними" @@ -2572,7 +2576,7 @@ uk: setting_enabled_scm: "Увімкнені SCM" setting_enabled_projects_columns: "Видимий у списку проєктів" setting_feeds_enabled: "Увімкнути канали" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Обмеження вмісту каналу" setting_file_max_size_displayed: "Максимальний розмір текстового файлу для відображення" setting_host_name: "Ім'я хоста" @@ -2623,7 +2627,7 @@ uk: setting_start_of_week: "Тиждень починається" setting_sys_api_enabled: "Увімкнути веб-службу керування сховищем" setting_sys_api_description: "Веб-сервіс управління сховищем забезпечує інтеграцію та авторизацію користувача для доступу до сховищ." - setting_time_format: "Time" + setting_time_format: "Час" setting_accessibility_mode_for_anonymous: "Увімкніть режим доступності для анонімних користувачів" setting_user_format: "Users name format" setting_user_default_timezone: "Часовий пояс користувача за замовчуванням" @@ -2634,36 +2638,23 @@ uk: setting_welcome_on_homescreen: "Відображати вітальний блок на робочому столі" setting_work_package_list_default_highlighting_mode: "Режим виділення за умовчанням" setting_work_package_list_default_highlighted_attributes: "Стандартні вбудовані виділені атрибути" - setting_working_days: "Working days" + setting_working_days: "Робочі дні" settings: - general: "Загальні" - other: "Інше" - passwords: "Паролі" - session: "Сесія" - brute_force_prevention: "Автоматизоване блокування користувачів" attachments: whitelist_text_html: > Визначте список дійсних розширень файлів і/або типів MIME для завантажених файлів.
    Введіть розширення файлу (напр., %{ext_example}) або типи MIME (напр., %{mime_example}). Не вказуйте нічого, щоб дозволити завантаження будь-яких типів файлів. Ви можете вводити кілька значень (по одному в кожному рядку). + brute_force_prevention: "Автоматизоване блокування користувачів" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Визначає події, для яких надсилається електронний лист. Пакети робіт виключаються зі списку, оскільки сповіщення для них можна налаштувати окремо для кожного користувача.' - delay_minutes_explanation: "Надсилання електронного листа можна відкласти, щоб користувачі з налаштованими сповіщеннями в додатку могли підтверджувати сповіщення в додатку до надсилання листа. Користувачі, які прочитали сповіщення в додатку, не отримуватимуть електронні листи про вже прочитані сповіщення." - display: + date_format: first_date_of_week_and_year_set: > - Якщо вибрано один із варіантів «%{day_of_week_setting_name}» і «%{first_week_setting_name}», інший із цих варіантів потрібно також вибрати, щоб уникнути розбіжностей на зовнішньому сервері. - first_week_of_year_text: > - Виберіть дату в січні, що входить у перший тиждень року. Це значення разом із першим днем тижня визначає загальну кількість тижнів у році. + If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Загальні" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Налаштування нових проєктів" - section_project_overview: "Налаштування списку огляду проєктів" - user: - default_preferences: "Параметри за умовчанням" - display_format: "Display format" - deletion: "Видалення" highlighting: mode_long: inline: "Виділіть атрибут(и) в лінію" @@ -2671,8 +2662,25 @@ uk: status: "Весь рядок за Статусом" type: "Весь рядок за Типом" priority: "Весь рядок за Пріоритетом" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Визначає події, для яких надсилається електронний лист. Пакети робіт виключаються зі списку, оскільки сповіщення для них можна налаштувати окремо для кожного користувача.' + delay_minutes_explanation: "Надсилання електронного листа можна відкласти, щоб користувачі з налаштованими сповіщеннями в додатку могли підтверджувати сповіщення в додатку до надсилання листа. Користувачі, які прочитали сповіщення в додатку, не отримуватимуть електронні листи про вже прочитані сповіщення." + other: "Інше" + passwords: "Паролі" + projects: + section_new_projects: "Налаштування нових проєктів" + section_project_overview: "Налаштування списку огляду проєктів" + session: "Сесія" + user: + default_preferences: "Параметри за умовчанням" + display_format: "Display format" + deletion: "Видалення" working_days: - section_work_week: "Work week" + section_work_week: "Робочий тиждень" section_holidays_and_closures: "Holidays and closures" text_formatting: markdown: 'Markdown' diff --git a/config/locales/crowdin/vi.yml b/config/locales/crowdin/vi.yml index f7671d269b85..39b9e452436a 100644 --- a/config/locales/crowdin/vi.yml +++ b/config/locales/crowdin/vi.yml @@ -200,8 +200,6 @@ vi: no_results_content_text: Tạo trường tùy chỉnh mới concatenation: single: 'hoặc' - documentation: - see_more_link: Để biết thêm thông tin, xin vui lòng xem tài liệu của chúng tôi về chủ đề này. global_search: overwritten_tabs: wiki_pages: "Wiki" @@ -529,6 +527,7 @@ vi: hours: "Giờ" spent_on: "Ngày" type: "Kiểu" + ongoing: "Ongoing" type: description: "Văn bản mặc định cho mô tả" attribute_groups: '' @@ -1061,7 +1060,8 @@ vi: button_configure: "Thiết lập" button_continue: "Tiếp tục" button_copy: "Sao chép" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "Sao chép vào clipboard" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "Sao chép và làm theo" button_create: "Tạo mới" button_create_and_continue: "Tạo và tiếp tục" @@ -1476,6 +1476,7 @@ vi: label_age: "Tuổi" label_ago: "vài ngày trước" label_all: "tất cả" + label_all_projects: "All projects" label_all_time: "tất cả thời gian" label_all_words: "Tất cả các từ" label_all_open_wps: "Mở tất cả" @@ -1492,6 +1493,7 @@ vi: label_ical_access_key_revoke: "Thu hồi" label_applied_status: "Tình trạng áp dụng" label_archive_project: "Archive project" + label_archived_projects: "Archived projects" label_ascending: "Tăng dần" label_assigned_to_me_work_packages: "Work package được chỉ định cho tôi" label_associated_revisions: "Các phiên bản kết hợp" @@ -1628,6 +1630,7 @@ vi: label_everywhere: "mọi nơi" label_example: "Ví dụ" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "Nhập" label_export_to: "Cũng có sẵn tại:" label_expanded_click_to_collapse: "Mở rộng. Bấm vào để thu gọn" @@ -1664,6 +1667,7 @@ vi: label_hierarchy_leaf: "Hệ thống phân cấp lá" label_home: "Trang chủ" label_subject_or_id: "Chủ đề hoặc Mã" + label_icalendar: "iCalendar" label_impressum: "Thông báo pháp lý" label_in: "trong" label_in_less_than: "ít hơn" @@ -2333,7 +2337,7 @@ vi: archived: "Đã lưu" project_module_activity: "Hoạt động" project_module_forums: "Diễn đàn" - project_module_work_package_tracking: "Theo dõi work package" + project_module_work_package_tracking: "Work Packages" project_module_news: "Tin tức" project_module_repository: "Kho lưu trữ" project_module_wiki: "Wiki" @@ -2507,7 +2511,7 @@ vi: setting_consent_decline_mail: "Consent contact mail address" setting_cross_project_work_package_relations: "Allow cross-project work package relations" setting_first_week_of_year: "Tuần đầu tiên trong năm" - setting_date_format: "Date" + setting_date_format: "Ngày" setting_default_language: "Default language" setting_default_projects_modules: "Default enabled modules for new projects" setting_default_projects_public: "New projects are public by default" @@ -2519,7 +2523,7 @@ vi: setting_enabled_scm: "Enabled SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "Enable Feeds" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed content limit" setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" @@ -2570,7 +2574,7 @@ vi: setting_start_of_week: "Tuần Bắt đầu" setting_sys_api_enabled: "Enable repository management web service" setting_sys_api_description: "The repository management web service provides integration and user authorization for accessing repositories." - setting_time_format: "Time" + setting_time_format: "Giờ" setting_accessibility_mode_for_anonymous: "Enable accessibility mode for anonymous users" setting_user_format: "Users name format" setting_user_default_timezone: "Time zone mặc định" @@ -2583,34 +2587,21 @@ vi: setting_work_package_list_default_highlighted_attributes: "Default inline highlighted attributes" setting_working_days: "Working days" settings: - general: "Tổng quan" - other: "Khác" - passwords: "Passwords" - session: "Session" - brute_force_prevention: "Automated user blocking" attachments: whitelist_text_html: > Define a list of valid file extensions and/or mime types for uploaded files.
    Enter file extensions (e.g., %{ext_example}) or mime types (e.g., %{mime_example}).
    Leave empty to allow any file type to be uploaded. Multiple values allowed (one line for each value). + brute_force_prevention: "Automated user blocking" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Chọn ngày tháng 1 có trong tuần đầu tiên của năm. Giá trị này cùng với ngày đầu tuần xác định tổng số tuần trong một năm. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "Tổng quan" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "Cấu hình mặc định" - display_format: "Display format" - deletion: "Xóa" highlighting: mode_long: inline: "Highlight attribute(s) inline" @@ -2618,6 +2609,23 @@ vi: status: "Entire row by Status" type: "Entire row by Type" priority: "Entire row by Priority" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: 'Governs for which event an email is sent out. Work packages are excluded from this list as the notifications for them can be configured specifically for every user.' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "Khác" + passwords: "Passwords" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "Cấu hình mặc định" + display_format: "Display format" + deletion: "Xóa" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/config/locales/crowdin/zh-TW.seeders.yml b/config/locales/crowdin/zh-TW.seeders.yml index 7b3d49fbf763..01078fa20b7f 100644 --- a/config/locales/crowdin/zh-TW.seeders.yml +++ b/config/locales/crowdin/zh-TW.seeders.yml @@ -53,7 +53,7 @@ zh-TW: item_4: name: 專案管理員 item_5: - name: Staff and projects manager + name: 職員和專案管理員 standard: priorities: item_0: diff --git a/config/locales/crowdin/zh-TW.yml b/config/locales/crowdin/zh-TW.yml index 0ebca0bf182d..9c17e66ffced 100644 --- a/config/locales/crowdin/zh-TW.yml +++ b/config/locales/crowdin/zh-TW.yml @@ -198,8 +198,6 @@ zh-TW: no_results_content_text: 建立一個新的自定義欄位 concatenation: single: '或者' - documentation: - see_more_link: For more information, please see our documentation on this topic. global_search: overwritten_tabs: wiki_pages: "維基" @@ -527,6 +525,7 @@ zh-TW: hours: "小時" spent_on: "日期" type: "類型" + ongoing: "Ongoing" type: description: "描述的預設文字" attribute_groups: '' @@ -1059,7 +1058,8 @@ zh-TW: button_configure: "設定" button_continue: "繼續" button_copy: "複製" - button_copy_to_clipboard: "Copy to clipboard" + button_copy_to_clipboard: "複製到剪貼簿" + button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_and_follow: "複製並跟隨" button_create: "建立" button_create_and_continue: "建立並繼續" @@ -1474,6 +1474,7 @@ zh-TW: label_age: "年齡" label_ago: "天前" label_all: "所有" + label_all_projects: "All projects" label_all_time: "所有的時間" label_all_words: "所以的詞" label_all_open_wps: "全部打開" @@ -1490,6 +1491,7 @@ zh-TW: label_ical_access_key_revoke: "撤銷" label_applied_status: "套用的狀態" label_archive_project: "專案歸檔" + label_archived_projects: "Archived projects" label_ascending: "昇冪" label_assigned_to_me_work_packages: "分配給我的工作項目" label_associated_revisions: "關聯的修訂" @@ -1576,7 +1578,7 @@ zh-TW: label_database_version: "PostgreSQL 版本" label_date: "日期" label_date_and_time: "日期和時間" - label_date_format: "Date format" + label_date_format: "日期格式" label_date_from: "寄件者" label_date_from_to: "從 %{start} 到 %{end}" label_date_to: "到" @@ -1626,6 +1628,7 @@ zh-TW: label_everywhere: "全部" label_example: "範例" label_experimental: "Experimental" + label_i_am_member: "I am member" label_import: "匯入" label_export_to: "也可匯出成" label_expanded_click_to_collapse: "已擴大。按一下可折疊" @@ -1662,6 +1665,7 @@ zh-TW: label_hierarchy_leaf: "頁面結構頁" label_home: "Home" label_subject_or_id: "主旨或 id" + label_icalendar: "iCalendar" label_impressum: "法律聲明" label_in: "在" label_in_less_than: "少於" @@ -2330,7 +2334,7 @@ zh-TW: archived: "封存" project_module_activity: "活動" project_module_forums: "論壇" - project_module_work_package_tracking: "工作項目追蹤" + project_module_work_package_tracking: "工作項目" project_module_news: "新知" project_module_repository: "Repository" project_module_wiki: "維基" @@ -2504,7 +2508,7 @@ zh-TW: setting_consent_decline_mail: "同意連絡人郵寄地址" setting_cross_project_work_package_relations: "允許跨專案的工作項目關聯" setting_first_week_of_year: "First week in year contains" - setting_date_format: "Date" + setting_date_format: "日期" setting_default_language: "預設語言" setting_default_projects_modules: "新專案預設啟用的模組" setting_default_projects_public: "新專案預設為公開" @@ -2516,7 +2520,7 @@ zh-TW: setting_enabled_scm: "啟用 SCM" setting_enabled_projects_columns: "Visible in project list" setting_feeds_enabled: "啟用 Feed" - setting_ical_enabled: "Enable iCalendar Subscriptions" + setting_ical_enabled: "Enable iCalendar subscriptions" setting_feeds_limit: "Feed 內容限制" setting_file_max_size_displayed: "直接显示文字文件內容的最大檔案容量" setting_host_name: "主機名稱" @@ -2567,7 +2571,7 @@ zh-TW: setting_start_of_week: "一週起始於" setting_sys_api_enabled: "啟用版控容器管理網路服務" setting_sys_api_description: "版控容器管理網路服務提供容器存取管理和使用者認證" - setting_time_format: "Time" + setting_time_format: "時間" setting_accessibility_mode_for_anonymous: "啟用匿名使用者存取模式" setting_user_format: "Users name format" setting_user_default_timezone: "使用者預設時區" @@ -2580,34 +2584,21 @@ zh-TW: setting_work_package_list_default_highlighted_attributes: "預設內聯突出顯示的屬性" setting_working_days: "Working days" settings: - general: "一般" - other: "其他" - passwords: "密碼" - session: "Session" - brute_force_prevention: "自動禁止使用者" attachments: whitelist_text_html: > 為上傳的文件定義有效文件副檔名和/或 MIME 類型的列表。
    輸入文件副檔名(例如 %{ext_example})或 MIME 類型(例如 %{mime_example})。
    留空以允許上傳任何文件類型。允許多個值(每個值一行)。 + brute_force_prevention: "自動禁止使用者" language_name_being_default: '%{language_name} (default)' - notifications: - events_explanation: '控制發送電子郵件的事件。工作包不包括在此列表中,因為可以為每個用戶專門配置它們的通知' - delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." - display: + date_format: first_date_of_week_and_year_set: > If either options "%{day_of_week_setting_name}" or "%{first_week_setting_name}" are set, the other has to be set as well to avoid inconsistencies in the frontend. - first_week_of_year_text: > - Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. + first_week_of_year_text_html: > + Select the date of January that is contained in the first week of the year. This value together with first day of the week determines the total number of weeks in a year. For more information, please see our documentation on this topic. + general: "一般" experimental: save_confirmation: Caution! Risk of data loss! Only activate experimental features if you do not mind breaking your OpenProject installation and losing all of its data. warning_toast: Feature flags are settings that activate features that are still under development. They shall only be used for testing purposes. They shall never be activated on OpenProject installations holding important data. These features will very likely corrupt your data. Use them at your own risk. feature_flags: Feature flags - projects: - section_new_projects: "Settings for new projects" - section_project_overview: "Settings for project overview list" - user: - default_preferences: "默認偏好設置" - display_format: "Display format" - deletion: "消除" highlighting: mode_long: inline: "顯示內聯屬性" @@ -2615,6 +2606,23 @@ zh-TW: status: "按狀態的整個行" type: "按類型劃分的整行" priority: "按優先順序的整個行" + icalendar: + enable_subscriptions_text_html: Allows users with the necessary permissions to subscribe to OpenProject calendars and access work package information via an external calendar client. + #below line needs to be appended above after docs are ready + #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. + notifications: + events_explanation: '控制發送電子郵件的事件。工作包不包括在此列表中,因為可以為每個用戶專門配置它們的通知' + delay_minutes_explanation: "Email sending can be delayed to allow users with configured in app notification to confirm the notification within the application before a mail is sent out. Users who read a notification within the application will not receive an email for the already read notification." + other: "其他" + passwords: "密碼" + projects: + section_new_projects: "Settings for new projects" + section_project_overview: "Settings for project overview list" + session: "Session" + user: + default_preferences: "默認偏好設置" + display_format: "Display format" + deletion: "消除" working_days: section_work_week: "Work week" section_holidays_and_closures: "Holidays and closures" diff --git a/modules/avatars/config/locales/crowdin/js-no.yml b/modules/avatars/config/locales/crowdin/js-no.yml index a46d62321840..8d1131b72d7a 100644 --- a/modules/avatars/config/locales/crowdin/js-no.yml +++ b/modules/avatars/config/locales/crowdin/js-no.yml @@ -2,7 +2,7 @@ "no": js: label_preview: 'Forhåndsvis' - button_update: 'Oppdatèr' + button_update: 'Oppdater' avatars: label_choose_avatar: "Velg Profilbilde fra fil" uploading_avatar: "Laster opp profilbildet ditt." diff --git a/modules/backlogs/config/locales/crowdin/ka.yml b/modules/backlogs/config/locales/crowdin/ka.yml index 5136ea3b9d48..2f356f3b63c0 100644 --- a/modules/backlogs/config/locales/crowdin/ka.yml +++ b/modules/backlogs/config/locales/crowdin/ka.yml @@ -128,7 +128,7 @@ ka: label_stories_tasks: "Stories/Tasks" label_task_board: "Task board" label_version_setting: "Versions" - label_version: 'Version' + label_version: 'ვერსია' label_webcal: "Webcal Feed" label_wiki: "Wiki" permission_view_master_backlog: "View master backlog" diff --git a/modules/backlogs/config/locales/crowdin/no.yml b/modules/backlogs/config/locales/crowdin/no.yml index c278e075c52e..d121ac677cbf 100644 --- a/modules/backlogs/config/locales/crowdin/no.yml +++ b/modules/backlogs/config/locales/crowdin/no.yml @@ -151,7 +151,7 @@ required_burn_rate_points: "Nødvendig brennetid (poeng)" todo_work_package_description: "%{summary}: %{url}\n%{description}" todo_work_package_summary: "%{type}: %{summary}" - version_settings_display_label: "Column in backlog" - version_settings_display_option_left: "left" + version_settings_display_label: "Kolonne i backlog" + version_settings_display_option_left: "venstre" version_settings_display_option_none: "ingen" - version_settings_display_option_right: "right" + version_settings_display_option_right: "høyre" diff --git a/modules/bim/config/locales/crowdin/af.seeders.yml b/modules/bim/config/locales/crowdin/af.seeders.yml new file mode 100644 index 000000000000..323a17f4c72e --- /dev/null +++ b/modules/bim/config/locales/crowdin/af.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +af: + seeds: + bim: + priorities: + item_0: + name: Laag + item_1: + name: Normaal + item_2: + name: Hoog + item_3: + name: Critical + statuses: + item_0: + name: Nuut + item_1: + name: In-vordering + item_2: + name: Resolved + item_3: + name: Gesluit + time_entry_activities: + item_0: + name: Bestuur + item_1: + name: Spesifikasie + item_2: + name: Ander + types: + item_0: + name: Taak + item_1: + name: Mylpaal + item_2: + name: Fase + item_3: + name: Kwessie + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Om te begin + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Lede + item_5: + options: + name: Werkspakkete + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Om te begin + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Lede + item_5: + options: + name: Werkspakkete + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Om te begin + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Lede + item_5: + options: + name: Werkspakkete + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Om te begin + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Lede + item_5: + options: + name: Werkspakkete diff --git a/modules/bim/config/locales/crowdin/ar.seeders.yml b/modules/bim/config/locales/crowdin/ar.seeders.yml new file mode 100644 index 000000000000..4106561bf87b --- /dev/null +++ b/modules/bim/config/locales/crowdin/ar.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ar: + seeds: + bim: + priorities: + item_0: + name: منخفضة + item_1: + name: عادية + item_2: + name: مرتفعة + item_3: + name: Critical + statuses: + item_0: + name: جديد + item_1: + name: بصدد الإنجاز + item_2: + name: Resolved + item_3: + name: مغلق + time_entry_activities: + item_0: + name: الإدارة + item_1: + name: مواصفات + item_2: + name: اخرى + types: + item_0: + name: المهمة + item_1: + name: الحدث الرئيسي + item_2: + name: المرحلة + item_3: + name: مجموعة عمل + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: الأطفال + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: مخطط الفريق + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: الشروع في البدء + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: أعضاء + item_5: + options: + name: مجموعات العمل + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: مخطط الفريق + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: الشروع في البدء + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: أعضاء + item_5: + options: + name: مجموعات العمل + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: مخطط الفريق + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: الشروع في البدء + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: أعضاء + item_5: + options: + name: مجموعات العمل + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: مشاكل + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: مخطط الفريق + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: الشروع في البدء + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: أعضاء + item_5: + options: + name: مجموعات العمل diff --git a/modules/bim/config/locales/crowdin/az.seeders.yml b/modules/bim/config/locales/crowdin/az.seeders.yml new file mode 100644 index 000000000000..f6454d051317 --- /dev/null +++ b/modules/bim/config/locales/crowdin/az.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +az: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/be.seeders.yml b/modules/bim/config/locales/crowdin/be.seeders.yml new file mode 100644 index 000000000000..a9e5145d5d71 --- /dev/null +++ b/modules/bim/config/locales/crowdin/be.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +be: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/bg.seeders.yml b/modules/bim/config/locales/crowdin/bg.seeders.yml new file mode 100644 index 000000000000..6382621fff3c --- /dev/null +++ b/modules/bim/config/locales/crowdin/bg.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +bg: + seeds: + bim: + priorities: + item_0: + name: Нисък + item_1: + name: Нормален + item_2: + name: Висок + item_3: + name: Critical + statuses: + item_0: + name: Нов + item_1: + name: В изпълнение + item_2: + name: Resolved + item_3: + name: Затворен + time_entry_activities: + item_0: + name: Управление + item_1: + name: Спецификации + item_2: + name: Други + types: + item_0: + name: Задачата + item_1: + name: Етап + item_2: + name: Фаза + item_3: + name: Проблем + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Деца + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Първи стъпки + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Потребители + item_5: + options: + name: Работни пакети + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Първи стъпки + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Потребители + item_5: + options: + name: Работни пакети + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Първи стъпки + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Потребители + item_5: + options: + name: Работни пакети + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Първи стъпки + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Потребители + item_5: + options: + name: Работни пакети diff --git a/modules/bim/config/locales/crowdin/ca.seeders.yml b/modules/bim/config/locales/crowdin/ca.seeders.yml new file mode 100644 index 000000000000..fcb0fa75cab1 --- /dev/null +++ b/modules/bim/config/locales/crowdin/ca.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ca: + seeds: + bim: + priorities: + item_0: + name: Baixa + item_1: + name: Normal + item_2: + name: Alta + item_3: + name: Crític + statuses: + item_0: + name: Nou + item_1: + name: En progrés + item_2: + name: Resolt + item_3: + name: Tancat + time_entry_activities: + item_0: + name: Administració + item_1: + name: Especificació + item_2: + name: Altres + types: + item_0: + name: Tasca + item_1: + name: Fita + item_2: + name: Fase + item_3: + name: Tema + item_4: + name: Comentari + item_5: + name: Sol·licitud + item_6: + name: Conflicte + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Fills + groups: + item_0: + name: Arquitectes + item_1: + name: Coordinadors BIM + item_2: + name: Caps BIM + item_3: + name: Modelador BIM + item_4: + name: Líders coordinadors BIM + item_5: + name: Enginyers MEP + item_6: + name: Planificadors + item_7: + name: Enginyers estructurals + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Benvingut al teu projecte de demostració + summary: | + Estem contents que t'hagis unit. + En aquest mòdul pots comunicar notícies del projecte a nous membres de l'equip. + description: Les notícies actuals + categories: + item_0: Categoria 1 (per ser canviat en la configuració del projecte) + queries: + item_0: + name: Pla de projecte + item_1: + name: Fites + item_2: + name: Tasques + item_3: + name: Planificador d'equips + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Benvingut + item_1: + options: + name: Primers passos + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membres + item_5: + options: + name: Paquets de treball + item_6: + options: + name: Fites + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: Totes les tasques estan planificades. Les persones involucrades saben les seves tasques. El sistema s'ha configurat per complet. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Benvingut al teu projecte de demostració + summary: | + Estem contents que t'hagis unit. + En aquest mòdul pots comunicar notícies del projecte a nous membres de l'equip. + description: Les notícies actuals + categories: + item_0: Categoria 1 (per ser canviat en la configuració del projecte) + queries: + item_0: + name: Pla de projecte + item_1: + name: Fites + item_2: + name: Tasques + item_3: + name: Planificador d'equips + project-overview: + widgets: + item_0: + options: + name: Benvingut + item_1: + options: + name: Primers passos + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membres + item_5: + options: + name: Paquets de treball + item_6: + options: + name: Fites + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Benvingut al teu projecte de demostració + summary: | + Estem contents que t'hagis unit. + En aquest mòdul pots comunicar notícies del projecte a nous membres de l'equip. + description: Les notícies actuals + categories: + item_0: Categoria 1 (per ser canviat en la configuració del projecte) + queries: + item_0: + name: Pla de projecte + item_1: + name: Fites + item_2: + name: Tasques + item_3: + name: Planificador d'equips + project-overview: + widgets: + item_0: + options: + name: Benvingut + item_1: + options: + name: Primers passos + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membres + item_5: + options: + name: Paquets de treball + item_6: + options: + name: Fites + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: Totes les tasques estan planificades. Les persones involucrades saben les seves tasques. El sistema s'ha configurat per complet. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Categoria 1 (per ser canviat en la configuració del projecte) + queries: + item_0: + name: Problemes + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Pla de projecte + item_5: + name: Fites + item_6: + name: Tasques + item_7: + name: Planificador d'equips + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Benvingut + item_1: + options: + name: Primers passos + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membres + item_5: + options: + name: Paquets de treball diff --git a/modules/bim/config/locales/crowdin/ckb-IR.seeders.yml b/modules/bim/config/locales/crowdin/ckb-IR.seeders.yml new file mode 100644 index 000000000000..4aa4385b4515 --- /dev/null +++ b/modules/bim/config/locales/crowdin/ckb-IR.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ckb-IR: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/cs.seeders.yml b/modules/bim/config/locales/crowdin/cs.seeders.yml new file mode 100644 index 000000000000..501db0e2ea40 --- /dev/null +++ b/modules/bim/config/locales/crowdin/cs.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +cs: + seeds: + bim: + priorities: + item_0: + name: Nízká + item_1: + name: Normální + item_2: + name: Vysoká + item_3: + name: Kritické + statuses: + item_0: + name: Nové + item_1: + name: Probíhá + item_2: + name: Vyřešené + item_3: + name: Uzavřený + time_entry_activities: + item_0: + name: Správa + item_1: + name: Specifikace + item_2: + name: Ostatní + types: + item_0: + name: Úkol + item_1: + name: Milník + item_2: + name: Fáze + item_3: + name: Problém + item_4: + name: Remark + item_5: + name: Požadavek + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Potomci + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Vítejte ve vašem demo projektu + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Plán projektu + item_1: + name: Milníky + item_2: + name: Úkoly + item_3: + name: Týmový plánovač + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Vítejte + item_1: + options: + name: Začínáme + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Členové + item_5: + options: + name: Pracovní balíčky + item_6: + options: + name: Milníky + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Vítejte ve vašem demo projektu + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Plán projektu + item_1: + name: Milníky + item_2: + name: Úkoly + item_3: + name: Týmový plánovač + project-overview: + widgets: + item_0: + options: + name: Vítejte + item_1: + options: + name: Začínáme + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Členové + item_5: + options: + name: Pracovní balíčky + item_6: + options: + name: Milníky + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Vítejte ve vašem demo projektu + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Plán projektu + item_1: + name: Milníky + item_2: + name: Úkoly + item_3: + name: Týmový plánovač + project-overview: + widgets: + item_0: + options: + name: Vítejte + item_1: + options: + name: Začínáme + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Členové + item_5: + options: + name: Pracovní balíčky + item_6: + options: + name: Milníky + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Problémy + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Plán projektu + item_5: + name: Milníky + item_6: + name: Úkoly + item_7: + name: Týmový plánovač + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Vítejte + item_1: + options: + name: Začínáme + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Členové + item_5: + options: + name: Pracovní balíčky diff --git a/modules/bim/config/locales/crowdin/da.seeders.yml b/modules/bim/config/locales/crowdin/da.seeders.yml new file mode 100644 index 000000000000..d02875275425 --- /dev/null +++ b/modules/bim/config/locales/crowdin/da.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +da: + seeds: + bim: + priorities: + item_0: + name: Lav + item_1: + name: Normal + item_2: + name: Høj + item_3: + name: Critical + statuses: + item_0: + name: Ny + item_1: + name: Igangværende + item_2: + name: Løst + item_3: + name: Lukket + time_entry_activities: + item_0: + name: Håndtering + item_1: + name: Specifikation + item_2: + name: Andet + types: + item_0: + name: Opgave + item_1: + name: Milepæl + item_2: + name: Fase + item_3: + name: Emne + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Underordnede + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmer + item_5: + options: + name: Arbejdspakker + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmer + item_5: + options: + name: Arbejdspakker + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmer + item_5: + options: + name: Arbejdspakker + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmer + item_5: + options: + name: Arbejdspakker diff --git a/modules/bim/config/locales/crowdin/de.seeders.yml b/modules/bim/config/locales/crowdin/de.seeders.yml new file mode 100644 index 000000000000..8c920f35f6f6 --- /dev/null +++ b/modules/bim/config/locales/crowdin/de.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +de: + seeds: + bim: + priorities: + item_0: + name: Niedrig + item_1: + name: Normal + item_2: + name: Hoch + item_3: + name: Kritisch + statuses: + item_0: + name: Neu + item_1: + name: In Bearbeitung + item_2: + name: Gelöst + item_3: + name: Erledigt + time_entry_activities: + item_0: + name: Management + item_1: + name: Spezifikation + item_2: + name: Andere + types: + item_0: + name: Aufgabe + item_1: + name: Meilenstein + item_2: + name: Phase + item_3: + name: Arbeitspaket + item_4: + name: Bemerkung + item_5: + name: Anfrage + item_6: + name: Konflikt + global_queries: + item_0: + name: 'Eingebettete Tabelle: Untergeordnete Arbeitspakete' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Untergeordnete Arbeitspakete + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Willkommen bei Ihrem Demo-Projekt + summary: | + Wir freuen uns, dass Sie dabei sind. + In diesem Modul können Sie Projektnachrichten an Ihre Teammitglieder weiterleiten. + description: Die aktuellen Neuigkeiten + categories: + item_0: Kategorie 1 (zu ändern in den Projekteinstellungen) + queries: + item_0: + name: Projektplan + item_1: + name: Meilensteine + item_2: + name: Aufgaben + item_3: + name: Teamplaner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Willkommen + item_1: + options: + name: Erste Schritte + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Mitglieder + item_5: + options: + name: Arbeitspakete + item_6: + options: + name: Meilensteine + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: Alle Aufgaben sind im Zeitplan. Die Beteiligten kennen ihre Aufgaben. Das System ist komplett eingerichtet. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Willkommen bei Ihrem Demo-Projekt + summary: | + Wir freuen uns, dass Sie dabei sind. + In diesem Modul können Sie Projektnachrichten an Ihre Teammitglieder weiterleiten. + description: Die aktuellen Neuigkeiten + categories: + item_0: Kategorie 1 (zu ändern in den Projekteinstellungen) + queries: + item_0: + name: Projektplan + item_1: + name: Meilensteine + item_2: + name: Aufgaben + item_3: + name: Teamplaner + project-overview: + widgets: + item_0: + options: + name: Willkommen + item_1: + options: + name: Erste Schritte + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Mitglieder + item_5: + options: + name: Arbeitspakete + item_6: + options: + name: Meilensteine + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Willkommen bei Ihrem Demo-Projekt + summary: | + Wir freuen uns, dass Sie dabei sind. + In diesem Modul können Sie Projektnachrichten an Ihre Teammitglieder weiterleiten. + description: Die aktuellen Neuigkeiten + categories: + item_0: Kategorie 1 (zu ändern in den Projekteinstellungen) + queries: + item_0: + name: Projektplan + item_1: + name: Meilensteine + item_2: + name: Aufgaben + item_3: + name: Teamplaner + project-overview: + widgets: + item_0: + options: + name: Willkommen + item_1: + options: + name: Erste Schritte + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Mitglieder + item_5: + options: + name: Arbeitspakete + item_6: + options: + name: Meilensteine + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: Alle Aufgaben sind im Zeitplan. Die Beteiligten kennen ihre Aufgaben. Das System ist komplett eingerichtet. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Kategorie 1 (zu ändern in den Projekteinstellungen) + queries: + item_0: + name: Probleme + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Projektplan + item_5: + name: Meilensteine + item_6: + name: Aufgaben + item_7: + name: Teamplaner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Willkommen + item_1: + options: + name: Erste Schritte + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Mitglieder + item_5: + options: + name: Arbeitspakete diff --git a/modules/bim/config/locales/crowdin/el.seeders.yml b/modules/bim/config/locales/crowdin/el.seeders.yml new file mode 100644 index 000000000000..de0d7fe8d54f --- /dev/null +++ b/modules/bim/config/locales/crowdin/el.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +el: + seeds: + bim: + priorities: + item_0: + name: Χαμηλή + item_1: + name: Κανονική + item_2: + name: Υψηλή + item_3: + name: Critical + statuses: + item_0: + name: Νέο + item_1: + name: Σε εξέλιξη + item_2: + name: Resolved + item_3: + name: Κλειστό + time_entry_activities: + item_0: + name: Διαχείριση + item_1: + name: Προδιαγραφές + item_2: + name: Άλλο + types: + item_0: + name: Εργασία + item_1: + name: Ορόσημο + item_2: + name: Φάση + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Παιδιά + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Ξεκινώντας + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Μέλη + item_5: + options: + name: Πακέτα εργασίας + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Ξεκινώντας + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Μέλη + item_5: + options: + name: Πακέτα εργασίας + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Ξεκινώντας + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Μέλη + item_5: + options: + name: Πακέτα εργασίας + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Ζητήματα + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Ξεκινώντας + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Μέλη + item_5: + options: + name: Πακέτα εργασίας diff --git a/modules/bim/config/locales/crowdin/eo.seeders.yml b/modules/bim/config/locales/crowdin/eo.seeders.yml new file mode 100644 index 000000000000..9da0d01dfbca --- /dev/null +++ b/modules/bim/config/locales/crowdin/eo.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +eo: + seeds: + bim: + priorities: + item_0: + name: Malalta + item_1: + name: Normala + item_2: + name: Alta + item_3: + name: Critical + statuses: + item_0: + name: Nova + item_1: + name: Farata + item_2: + name: Resolved + item_3: + name: Fermita + time_entry_activities: + item_0: + name: Administrado + item_1: + name: Specifo + item_2: + name: Aliaj + types: + item_0: + name: Tasko + item_1: + name: Mejloŝtono + item_2: + name: Fazo + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Filo + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membroj + item_5: + options: + name: Laborpakaĵoj + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membroj + item_5: + options: + name: Laborpakaĵoj + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membroj + item_5: + options: + name: Laborpakaĵoj + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membroj + item_5: + options: + name: Laborpakaĵoj diff --git a/modules/bim/config/locales/crowdin/es.seeders.yml b/modules/bim/config/locales/crowdin/es.seeders.yml new file mode 100644 index 000000000000..9d1991104a9a --- /dev/null +++ b/modules/bim/config/locales/crowdin/es.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +es: + seeds: + bim: + priorities: + item_0: + name: Baja + item_1: + name: Normal + item_2: + name: Alta + item_3: + name: Crítico + statuses: + item_0: + name: Nuevo + item_1: + name: En progreso + item_2: + name: Resuelto + item_3: + name: Cerrado + time_entry_activities: + item_0: + name: Administración + item_1: + name: Especificación + item_2: + name: Otros + types: + item_0: + name: Tarea + item_1: + name: Avance + item_2: + name: Fase + item_3: + name: Tema + item_4: + name: Observación + item_5: + name: Solicitud + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Sub-elementos + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificador de equipo + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Primeros pasos + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Miembros + item_5: + options: + name: Paquetes de trabajo + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificador de equipo + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Primeros pasos + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Miembros + item_5: + options: + name: Paquetes de trabajo + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificador de equipo + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Primeros pasos + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Miembros + item_5: + options: + name: Paquetes de trabajo + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Incidencias + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Planificador de equipo + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Primeros pasos + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Miembros + item_5: + options: + name: Paquetes de trabajo diff --git a/modules/bim/config/locales/crowdin/et.seeders.yml b/modules/bim/config/locales/crowdin/et.seeders.yml new file mode 100644 index 000000000000..370507b7b931 --- /dev/null +++ b/modules/bim/config/locales/crowdin/et.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +et: + seeds: + bim: + priorities: + item_0: + name: Aega on + item_1: + name: Tavaline + item_2: + name: Pakiline + item_3: + name: Critical + statuses: + item_0: + name: Uus + item_1: + name: In progress + item_2: + name: Lahendatud + item_3: + name: Suletud + time_entry_activities: + item_0: + name: Juhtimine + item_1: + name: Spetsifikatsioon + item_2: + name: Muu + types: + item_0: + name: Ülesanne + item_1: + name: Verstapost + item_2: + name: Etapp + item_3: + name: Teema + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Lapsed + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Liikmed + item_5: + options: + name: Teemad + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Liikmed + item_5: + options: + name: Teemad + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Liikmed + item_5: + options: + name: Teemad + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Liikmed + item_5: + options: + name: Teemad diff --git a/modules/bim/config/locales/crowdin/eu.seeders.yml b/modules/bim/config/locales/crowdin/eu.seeders.yml new file mode 100644 index 000000000000..0fca9cfe55cc --- /dev/null +++ b/modules/bim/config/locales/crowdin/eu.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +eu: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Zehaztapena + item_2: + name: Beste bat + types: + item_0: + name: Zeregina + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/fa.seeders.yml b/modules/bim/config/locales/crowdin/fa.seeders.yml new file mode 100644 index 000000000000..05a3d21396e5 --- /dev/null +++ b/modules/bim/config/locales/crowdin/fa.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +fa: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: جدید + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: مدیریت + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: وظیفه + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: بچه ها + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: برنامه ریز تیم + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: برنامه ریز تیم + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: برنامه ریز تیم + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: برنامه ریز تیم + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/fi.seeders.yml b/modules/bim/config/locales/crowdin/fi.seeders.yml new file mode 100644 index 000000000000..a6be30929f2f --- /dev/null +++ b/modules/bim/config/locales/crowdin/fi.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +fi: + seeds: + bim: + priorities: + item_0: + name: Matala + item_1: + name: Normaali + item_2: + name: Korkea + item_3: + name: Critical + statuses: + item_0: + name: Uusi + item_1: + name: Käynnissä + item_2: + name: Resolved + item_3: + name: Suljettu + time_entry_activities: + item_0: + name: Työnjohto + item_1: + name: Määrittely + item_2: + name: Muut + types: + item_0: + name: Tehtävä + item_1: + name: Milestone + item_2: + name: Vaihe + item_3: + name: Ongelma + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Alitehtävä + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Jäsenet + item_5: + options: + name: Tehtävät + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Jäsenet + item_5: + options: + name: Tehtävät + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Jäsenet + item_5: + options: + name: Tehtävät + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Jäsenet + item_5: + options: + name: Tehtävät diff --git a/modules/bim/config/locales/crowdin/fil.seeders.yml b/modules/bim/config/locales/crowdin/fil.seeders.yml new file mode 100644 index 000000000000..37f059dec1cc --- /dev/null +++ b/modules/bim/config/locales/crowdin/fil.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +fil: + seeds: + bim: + priorities: + item_0: + name: Mababa + item_1: + name: Katamtaman + item_2: + name: Mataas + item_3: + name: Critical + statuses: + item_0: + name: Bago + item_1: + name: Isinasagawa + item_2: + name: Resolved + item_3: + name: Isinara + time_entry_activities: + item_0: + name: Pamamahala + item_1: + name: Mga detalye + item_2: + name: Iba pa + types: + item_0: + name: Gawain + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Isyu + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Ang mga bata + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pagsisimula + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Mga miyembro + item_5: + options: + name: Ang mga work package + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pagsisimula + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Mga miyembro + item_5: + options: + name: Ang mga work package + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pagsisimula + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Mga miyembro + item_5: + options: + name: Ang mga work package + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pagsisimula + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Mga miyembro + item_5: + options: + name: Ang mga work package diff --git a/modules/bim/config/locales/crowdin/fr.seeders.yml b/modules/bim/config/locales/crowdin/fr.seeders.yml new file mode 100644 index 000000000000..439a94c7be8f --- /dev/null +++ b/modules/bim/config/locales/crowdin/fr.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +fr: + seeds: + bim: + priorities: + item_0: + name: Basse + item_1: + name: Normal + item_2: + name: Haut + item_3: + name: Critical + statuses: + item_0: + name: nouveau + item_1: + name: En cours + item_2: + name: Résolu + item_3: + name: Clôturé + time_entry_activities: + item_0: + name: Gestion + item_1: + name: Spécification + item_2: + name: Autre + types: + item_0: + name: Tâche + item_1: + name: Étape + item_2: + name: Phase + item_3: + name: Ticket + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Enfants + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Plan de projet + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificateur d'équipe + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pour commencer + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membres + item_5: + options: + name: Lots de Travaux + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Plan de projet + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificateur d'équipe + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pour commencer + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membres + item_5: + options: + name: Lots de Travaux + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Plan de projet + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificateur d'équipe + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pour commencer + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membres + item_5: + options: + name: Lots de Travaux + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Problèmes + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Plan de projet + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Planificateur d'équipe + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pour commencer + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membres + item_5: + options: + name: Lots de Travaux diff --git a/modules/bim/config/locales/crowdin/he.seeders.yml b/modules/bim/config/locales/crowdin/he.seeders.yml new file mode 100644 index 000000000000..0b8eb0e430f3 --- /dev/null +++ b/modules/bim/config/locales/crowdin/he.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +he: + seeds: + bim: + priorities: + item_0: + name: נמוך + item_1: + name: רגיל + item_2: + name: גבוה + item_3: + name: Critical + statuses: + item_0: + name: חדש + item_1: + name: בביצוע + item_2: + name: נפתר + item_3: + name: סגור + time_entry_activities: + item_0: + name: ניהול + item_1: + name: מפרט + item_2: + name: אחר + types: + item_0: + name: משימה + item_1: + name: אבן דרך + item_2: + name: שלב + item_3: + name: בעיה + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: ילדים + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/hi.seeders.yml b/modules/bim/config/locales/crowdin/hi.seeders.yml new file mode 100644 index 000000000000..42e7014fb4c4 --- /dev/null +++ b/modules/bim/config/locales/crowdin/hi.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +hi: + seeds: + bim: + priorities: + item_0: + name: निम्न + item_1: + name: साधारण + item_2: + name: उच्च + item_3: + name: Critical + statuses: + item_0: + name: नया + item_1: + name: प्रगति में + item_2: + name: Resolved + item_3: + name: बंद + time_entry_activities: + item_0: + name: प्रबंधन + item_1: + name: विनिर्देश + item_2: + name: अन्य + types: + item_0: + name: कार्य + item_1: + name: मील का पत्थर + item_2: + name: चरण + item_3: + name: कार्य पैकेज + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: सदस्य + item_5: + options: + name: कार्य पैकेज + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: सदस्य + item_5: + options: + name: कार्य पैकेज + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: सदस्य + item_5: + options: + name: कार्य पैकेज + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: सदस्य + item_5: + options: + name: कार्य पैकेज diff --git a/modules/bim/config/locales/crowdin/hr.seeders.yml b/modules/bim/config/locales/crowdin/hr.seeders.yml new file mode 100644 index 000000000000..5d66da7c88fc --- /dev/null +++ b/modules/bim/config/locales/crowdin/hr.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +hr: + seeds: + bim: + priorities: + item_0: + name: Nizak + item_1: + name: Normalan + item_2: + name: Visoki + item_3: + name: Critical + statuses: + item_0: + name: Novi + item_1: + name: U tijeku + item_2: + name: Resolved + item_3: + name: Zaključeno + time_entry_activities: + item_0: + name: Upravljanje + item_1: + name: Specifikacija + item_2: + name: Ostalo + types: + item_0: + name: Zadatak + item_1: + name: Ključna točka + item_2: + name: Faza + item_3: + name: Problem + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Podređeni + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Članovi + item_5: + options: + name: Radni paketi + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Članovi + item_5: + options: + name: Radni paketi + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Članovi + item_5: + options: + name: Radni paketi + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Članovi + item_5: + options: + name: Radni paketi diff --git a/modules/bim/config/locales/crowdin/hu.seeders.yml b/modules/bim/config/locales/crowdin/hu.seeders.yml new file mode 100644 index 000000000000..d755bfdd0458 --- /dev/null +++ b/modules/bim/config/locales/crowdin/hu.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +hu: + seeds: + bim: + priorities: + item_0: + name: Alacsony + item_1: + name: Átlagos + item_2: + name: Magas + item_3: + name: Kritikus + statuses: + item_0: + name: Új + item_1: + name: Folyamatban + item_2: + name: Megoldva + item_3: + name: Lezárva + time_entry_activities: + item_0: + name: Menedzsment + item_1: + name: Specifikáció + item_2: + name: Egyéb + types: + item_0: + name: Feladat + item_1: + name: Fordulópont + item_2: + name: Fázis + item_3: + name: Feladat + item_4: + name: Megjegyzés + item_5: + name: Kérés + item_6: + name: Konfliktus + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Gyermekek + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Csoport tervező + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Kezdés + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Tagok + item_5: + options: + name: Munkacsomagok + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Csoport tervező + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Kezdés + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Tagok + item_5: + options: + name: Munkacsomagok + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Csoport tervező + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Kezdés + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Tagok + item_5: + options: + name: Munkacsomagok + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Feladat + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Csoport tervező + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Kezdés + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Tagok + item_5: + options: + name: Munkacsomagok diff --git a/modules/bim/config/locales/crowdin/id.seeders.yml b/modules/bim/config/locales/crowdin/id.seeders.yml new file mode 100644 index 000000000000..41de798c7fc9 --- /dev/null +++ b/modules/bim/config/locales/crowdin/id.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +id: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: Baru + item_1: + name: In Progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Manajemen + item_1: + name: Spesifikasi + item_2: + name: Lainnya + types: + item_0: + name: Tugas + item_1: + name: Milestone + item_2: + name: Fase + item_3: + name: Masalah + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Sub + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Rencana tim + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Member + item_5: + options: + name: Paket-Penugasan + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Rencana tim + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Member + item_5: + options: + name: Paket-Penugasan + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Rencana tim + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Member + item_5: + options: + name: Paket-Penugasan + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Masalah + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Rencana tim + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Member + item_5: + options: + name: Paket-Penugasan diff --git a/modules/bim/config/locales/crowdin/it.seeders.yml b/modules/bim/config/locales/crowdin/it.seeders.yml new file mode 100644 index 000000000000..4b5ff650a211 --- /dev/null +++ b/modules/bim/config/locales/crowdin/it.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +it: + seeds: + bim: + priorities: + item_0: + name: Basso + item_1: + name: Normale + item_2: + name: Alto + item_3: + name: Critical + statuses: + item_0: + name: Nuovo + item_1: + name: In corso + item_2: + name: Resolved + item_3: + name: Chiuso + time_entry_activities: + item_0: + name: Gestione + item_1: + name: Specifiche + item_2: + name: Altro + types: + item_0: + name: Attività + item_1: + name: Traguardo + item_2: + name: Fase + item_3: + name: Questione + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Figli + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Benvenuto al tuo progetto dimostrativo + summary: | + Siamo lieti che ti sia unito. + In questo modulo puoi comunicare le notizie del progetto ai membri del tuo team. + description: Le notizie attuali + categories: + item_0: Categoria 1 (da modificare nelle Impostazioni del progetto) + queries: + item_0: + name: Piano del progetto + item_1: + name: Pietre miliari + item_2: + name: Incarichi + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Benvenuto + item_1: + options: + name: Per cominciare + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membri + item_5: + options: + name: Macro-attività + item_6: + options: + name: Pietre miliari + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: Tutti gli incarichi sono in programma. Le persone coinvolte conoscono i propri compiti. Il sistema è completamente configurato. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Benvenuto al tuo progetto dimostrativo + summary: | + Siamo lieti che ti sia unito. + In questo modulo puoi comunicare le notizie del progetto ai membri del tuo team. + description: Le notizie attuali + categories: + item_0: Categoria 1 (da modificare nelle Impostazioni del progetto) + queries: + item_0: + name: Piano del progetto + item_1: + name: Pietre miliari + item_2: + name: Incarichi + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Benvenuto + item_1: + options: + name: Per cominciare + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membri + item_5: + options: + name: Macro-attività + item_6: + options: + name: Pietre miliari + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Benvenuto al tuo progetto dimostrativo + summary: | + Siamo lieti che ti sia unito. + In questo modulo puoi comunicare le notizie del progetto ai membri del tuo team. + description: Le notizie attuali + categories: + item_0: Categoria 1 (da modificare nelle Impostazioni del progetto) + queries: + item_0: + name: Piano del progetto + item_1: + name: Pietre miliari + item_2: + name: Incarichi + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Benvenuto + item_1: + options: + name: Per cominciare + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membri + item_5: + options: + name: Macro-attività + item_6: + options: + name: Pietre miliari + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: Tutti gli incarichi sono in programma. Le persone coinvolte conoscono i propri compiti. Il sistema è completamente configurato. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Categoria 1 (da modificare nelle Impostazioni del progetto) + queries: + item_0: + name: Problemi + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Piano del progetto + item_5: + name: Pietre miliari + item_6: + name: Incarichi + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Benvenuto + item_1: + options: + name: Per cominciare + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membri + item_5: + options: + name: Macro-attività diff --git a/modules/bim/config/locales/crowdin/ja.seeders.yml b/modules/bim/config/locales/crowdin/ja.seeders.yml new file mode 100644 index 000000000000..ec8f55c19a74 --- /dev/null +++ b/modules/bim/config/locales/crowdin/ja.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ja: + seeds: + bim: + priorities: + item_0: + name: 低め + item_1: + name: 通常 + item_2: + name: 高め + item_3: + name: クリティカル + statuses: + item_0: + name: 新しく作成 + item_1: + name: 進行中 + item_2: + name: 解決済み + item_3: + name: 終了 + time_entry_activities: + item_0: + name: 管理 + item_1: + name: 仕様 + item_2: + name: その他 + types: + item_0: + name: タスク + item_1: + name: マイルストーン + item_2: + name: 工程 + item_3: + name: トラッカー + item_4: + name: 備考 + item_5: + name: リクエスト + item_6: + name: クラッシュ + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: 子 + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: はじめに + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: メンバー + item_5: + options: + name: ワークパッケージ + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: はじめに + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: メンバー + item_5: + options: + name: ワークパッケージ + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: はじめに + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: メンバー + item_5: + options: + name: ワークパッケージ + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: チケット + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: はじめに + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: メンバー + item_5: + options: + name: ワークパッケージ diff --git a/modules/bim/config/locales/crowdin/js-zh-TW.yml b/modules/bim/config/locales/crowdin/js-zh-TW.yml index f6fbfd2271f6..746fad495048 100644 --- a/modules/bim/config/locales/crowdin/js-zh-TW.yml +++ b/modules/bim/config/locales/crowdin/js-zh-TW.yml @@ -4,24 +4,24 @@ zh-TW: bcf: label_bcf: 'BCF' import: '匯入' - import_bcf_xml_file: 'Import BCF XML file (BCF version 2.1)' + import_bcf_xml_file: '匯出 BCF XML 檔案 (BCF version 2.1)' export: '匯出' - export_bcf_xml_file: 'Export BCF XML file (BCF version 2.1)' - viewpoint: 'Viewpoint' - add_viewpoint: 'Add viewpoint' - show_viewpoint: 'Show viewpoint' - delete_viewpoint: 'Delete viewpoint' - management: 'BCF management' - refresh: 'Refresh' - refresh_work_package: 'Refresh work package' + export_bcf_xml_file: '匯出 BCF XML 檔案 (BCF version 2.1)' + viewpoint: '視點' + add_viewpoint: '新增視點' + show_viewpoint: '顯示視點' + delete_viewpoint: '刪除視點' + management: 'BCF 管理' + refresh: '重新整理' + refresh_work_package: '刷新工作項目' ifc_models: - empty_warning: "This project does not yet have any IFC models." - use_this_link_to_manage: "Use this link to upload and manage your IFC models" + empty_warning: "此專案沒有任何 IFC 模型" + use_this_link_to_manage: "用此連結來上載及管理您的 IFC 模型" keyboard_input_disabled: "Viewer does not have keyboard controls. Click on the viewer to give keyboard control to the viewer." models: ifc_models: 'IFC 模型' views: - viewer: 'Viewer' + viewer: '檢視器' split: 'Viewer and table' split_cards: 'Viewer and cards' revit: diff --git a/modules/bim/config/locales/crowdin/ka.seeders.yml b/modules/bim/config/locales/crowdin/ka.seeders.yml new file mode 100644 index 000000000000..f1dbf38f05f4 --- /dev/null +++ b/modules/bim/config/locales/crowdin/ka.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ka: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/ko.seeders.yml b/modules/bim/config/locales/crowdin/ko.seeders.yml new file mode 100644 index 000000000000..a1ae0cdf274f --- /dev/null +++ b/modules/bim/config/locales/crowdin/ko.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ko: + seeds: + bim: + priorities: + item_0: + name: 낮음 + item_1: + name: 보통 + item_2: + name: 높음 + item_3: + name: Critical + statuses: + item_0: + name: 새로 만들기 + item_1: + name: 진행 중 + item_2: + name: Resolved + item_3: + name: 닫음 + time_entry_activities: + item_0: + name: 관리 + item_1: + name: 사양 + item_2: + name: 기타 + types: + item_0: + name: 일감 + item_1: + name: 마일스톤 + item_2: + name: 단계 + item_3: + name: 이슈 + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: 하위 + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: 팀 플래너 + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: 시작하기 + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: 멤버 + item_5: + options: + name: 작업 패키지 + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: 팀 플래너 + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: 시작하기 + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: 멤버 + item_5: + options: + name: 작업 패키지 + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: 팀 플래너 + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: 시작하기 + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: 멤버 + item_5: + options: + name: 작업 패키지 + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: 이슈 + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: 팀 플래너 + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: 시작하기 + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: 멤버 + item_5: + options: + name: 작업 패키지 diff --git a/modules/bim/config/locales/crowdin/lol.seeders.yml b/modules/bim/config/locales/crowdin/lol.seeders.yml new file mode 100644 index 000000000000..14e12e5db563 --- /dev/null +++ b/modules/bim/config/locales/crowdin/lol.seeders.yml @@ -0,0 +1,433 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +lol: + seeds: + bim: + priorities: + item_0: + name: crwdns858123:0crwdne858123:0 + item_1: + name: crwdns858125:0crwdne858125:0 + item_2: + name: crwdns858127:0crwdne858127:0 + item_3: + name: crwdns858129:0crwdne858129:0 + statuses: + item_0: + name: crwdns858131:0crwdne858131:0 + item_1: + name: crwdns858133:0crwdne858133:0 + item_2: + name: crwdns858135:0crwdne858135:0 + item_3: + name: crwdns858137:0crwdne858137:0 + time_entry_activities: + item_0: + name: crwdns858139:0crwdne858139:0 + item_1: + name: crwdns858141:0crwdne858141:0 + item_2: + name: crwdns858143:0crwdne858143:0 + types: + item_0: + name: crwdns858145:0crwdne858145:0 + item_1: + name: crwdns858147:0crwdne858147:0 + item_2: + name: crwdns858149:0crwdne858149:0 + item_3: + name: crwdns858151:0crwdne858151:0 + item_4: + name: crwdns858153:0crwdne858153:0 + item_5: + name: crwdns858155:0crwdne858155:0 + item_6: + name: crwdns858157:0crwdne858157:0 + global_queries: + item_0: + name: 'crwdns858159:0crwdne858159:0' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: crwdns858161:0crwdne858161:0 + groups: + item_0: + name: crwdns858163:0crwdne858163:0 + item_1: + name: crwdns858165:0crwdne858165:0 + item_2: + name: crwdns858167:0crwdne858167:0 + item_3: + name: crwdns858169:0crwdne858169:0 + item_4: + name: crwdns858171:0crwdne858171:0 + item_5: + name: crwdns858173:0crwdne858173:0 + item_6: + name: crwdns858175:0crwdne858175:0 + item_7: + name: crwdns858177:0crwdne858177:0 + welcome: + title: crwdns858179:0crwdne858179:0 + text: | + crwdns858181:0{{opSetting:base_url}}crwdnd858181:0{{opSetting:base_url}}crwdnd858181:0{{opSetting:base_url}}crwdnd858181:0{{opSetting:base_url}}crwdnd858181:0{{opSetting:base_url}}crwdnd858181:0[here]crwdnd858181:0{{opSetting:base_url}}crwdne858181:0 + projects: + demo-construction-project: + name: "crwdns858183:0crwdne858183:0" + status_explanation: crwdns858185:0crwdne858185:0 + description: crwdns858187:0crwdne858187:0 + news: + item_0: + title: crwdns858189:0crwdne858189:0 + summary: | + crwdns858191:0crwdne858191:0 + description: crwdns858193:0crwdne858193:0 + categories: + item_0: crwdns858195:0crwdne858195:0 + queries: + item_0: + name: crwdns858197:0crwdne858197:0 + item_1: + name: crwdns858199:0crwdne858199:0 + item_2: + name: crwdns858201:0crwdne858201:0 + item_3: + name: crwdns858203:0crwdne858203:0 + boards: + bcf: + name: crwdns858205:0crwdne858205:0 + project-overview: + widgets: + item_0: + options: + name: crwdns858207:0crwdne858207:0 + item_1: + options: + name: crwdns858209:0crwdne858209:0 + text: | + crwdns858211:0{{opSetting:base_url}}crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0[Members]crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0%7Bcrwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22icrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22acrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22hicrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22gcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22scrwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%7Bcrwdnd858211:0%22ncrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22bcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22ocrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%7crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22dcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22licrwdnd858211:0%22crwdnd858211:0%7crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0%7Bcrwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22icrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22acrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22hicrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22gcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22scrwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%7Bcrwdnd858211:0%22ncrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22bcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22ocrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%7crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22dcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22licrwdnd858211:0%22crwdnd858211:0%7crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0%7Bcrwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22icrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22acrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22hicrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22gcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22scrwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22dcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22licrwdnd858211:0%22crwdnd858211:0%7crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0%7Bcrwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22icrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22acrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22hicrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22gcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22icrwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22dcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%7crwdnd858211:0[Boards]crwdnd858211:0{{opSetting:base_url}}crwdne858211:0 + item_4: + options: + name: crwdns858213:0crwdne858213:0 + item_5: + options: + name: crwdns858215:0crwdne858215:0 + item_6: + options: + name: crwdns858217:0crwdne858217:0 + demo-planning-constructing-project: + name: "crwdns858219:0crwdne858219:0" + status_explanation: crwdns858221:0crwdne858221:0 + description: crwdns858223:0crwdne858223:0 + news: + item_0: + title: crwdns858225:0crwdne858225:0 + summary: | + crwdns858227:0crwdne858227:0 + description: crwdns858229:0crwdne858229:0 + categories: + item_0: crwdns858231:0crwdne858231:0 + queries: + item_0: + name: crwdns858233:0crwdne858233:0 + item_1: + name: crwdns858235:0crwdne858235:0 + item_2: + name: crwdns858237:0crwdne858237:0 + item_3: + name: crwdns858239:0crwdne858239:0 + project-overview: + widgets: + item_0: + options: + name: crwdns858241:0crwdne858241:0 + item_1: + options: + name: crwdns858243:0crwdne858243:0 + text: | + crwdns858245:0[Members]crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0%7Bcrwdnd858245:0%22ccrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22icrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22acrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22hicrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22gcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22scrwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%7Bcrwdnd858245:0%22ncrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22bcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22ocrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%7crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22dcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22licrwdnd858245:0%22crwdnd858245:0%7crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0%7Bcrwdnd858245:0%22ccrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22icrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22acrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22hicrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22gcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22scrwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%7Bcrwdnd858245:0%22ncrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22bcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22ocrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%7crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22dcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22licrwdnd858245:0%22crwdnd858245:0%7crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0%7Bcrwdnd858245:0%22ccrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22icrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22acrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22hicrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22gcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22scrwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22dcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22licrwdnd858245:0%22crwdnd858245:0%7crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0[Boards]crwdnd858245:0{{opSetting:base_url}}crwdne858245:0 + item_4: + options: + name: crwdns858247:0crwdne858247:0 + item_5: + options: + name: crwdns858249:0crwdne858249:0 + item_6: + options: + name: crwdns858251:0crwdne858251:0 + work_packages: + item_0: + subject: crwdns858253:0crwdne858253:0 + description: |- + crwdns858255:0{{opSetting:base_url}}crwdnd858255:0%7Bcrwdnd858255:0%22ccrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%5Bcrwdnd858255:0%22icrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22scrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22scrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22dcrwdnd858255:0%22crwdnd858255:0%5crwdnd858255:0%2Ccrwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%2Ccrwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22hicrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%2Ccrwdnd858255:0%22gcrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22scrwdnd858255:0%3crwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22fcrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%5Bcrwdnd858255:0%7Bcrwdnd858255:0%22ncrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22scrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22ocrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22ocrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%5Bcrwdnd858255:0%5crwdnd858255:0%7crwdnd858255:0%5crwdnd858255:0%2Ccrwdnd858255:0%22pcrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%2Ccrwdnd858255:0%22pcrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%7crwdne858255:0 + item_1: + subject: crwdns858257:0crwdne858257:0 + description: crwdns858259:0crwdne858259:0 + children: + item_0: + subject: crwdns858261:0crwdne858261:0 + description: |- + crwdns858263:0crwdne858263:0 + item_1: + subject: crwdns858265:0crwdne858265:0 + description: |- + crwdns858267:0crwdne858267:0 + item_2: + subject: crwdns858269:0crwdne858269:0 + description: crwdns858271:0crwdne858271:0 + item_2: + subject: crwdns858273:0crwdne858273:0 + description: crwdns858275:0crwdne858275:0 + children: + item_0: + subject: crwdns858277:0crwdne858277:0 + description: |- + crwdns858279:0crwdne858279:0 + item_1: + subject: crwdns858281:0crwdne858281:0 + description: |- + crwdns858283:0crwdne858283:0 + item_3: + subject: crwdns858285:0crwdne858285:0 + description: crwdns858287:0crwdne858287:0 + item_4: + subject: crwdns858289:0crwdne858289:0 + description: crwdns858291:0crwdne858291:0 + children: + item_0: + subject: crwdns858293:0crwdne858293:0 + description: |- + crwdns858295:0crwdne858295:0 + item_1: + subject: crwdns858297:0crwdne858297:0 + description: crwdns858299:0crwdne858299:0 + item_5: + subject: crwdns858301:0crwdne858301:0 + children: + item_0: + subject: crwdns858303:0crwdne858303:0 + description: |- + crwdns858305:0crwdne858305:0 + item_1: + subject: crwdns858307:0crwdne858307:0 + description: |- + crwdns858309:0crwdne858309:0 + item_2: + subject: crwdns858311:0crwdne858311:0 + description: |- + crwdns858313:0crwdne858313:0 + item_3: + subject: crwdns858315:0crwdne858315:0 + description: |- + crwdns858317:0crwdne858317:0 + item_4: + subject: crwdns858319:0crwdne858319:0 + description: |- + crwdns858321:0crwdne858321:0 + item_5: + subject: crwdns858323:0crwdne858323:0 + description: |- + crwdns858325:0crwdne858325:0 + item_6: + subject: crwdns858327:0crwdne858327:0 + description: |- + crwdns858329:0crwdne858329:0 + demo-bim-project: + name: "crwdns858331:0crwdne858331:0" + status_explanation: crwdns858333:0crwdne858333:0 + description: crwdns858335:0crwdne858335:0 + news: + item_0: + title: crwdns858337:0crwdne858337:0 + summary: | + crwdns858339:0crwdne858339:0 + description: crwdns858341:0crwdne858341:0 + categories: + item_0: crwdns858343:0crwdne858343:0 + queries: + item_0: + name: crwdns858345:0crwdne858345:0 + item_1: + name: crwdns858347:0crwdne858347:0 + item_2: + name: crwdns858349:0crwdne858349:0 + item_3: + name: crwdns858351:0crwdne858351:0 + project-overview: + widgets: + item_0: + options: + name: crwdns858353:0crwdne858353:0 + item_1: + options: + name: crwdns858355:0crwdne858355:0 + text: | + crwdns858357:0[Members]crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0[BCF]crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0[BCF]crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0%7Bcrwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22icrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22acrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22hicrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22gcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22scrwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%7Bcrwdnd858357:0%22ncrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22bcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22ocrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%7crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22dcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22licrwdnd858357:0%22crwdnd858357:0%7crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0%7Bcrwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22icrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22acrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22hicrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22gcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22scrwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%7Bcrwdnd858357:0%22ncrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22bcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22ocrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%7crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22dcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22licrwdnd858357:0%22crwdnd858357:0%7crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0%7Bcrwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22icrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22acrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22hicrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22gcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22scrwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22dcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22licrwdnd858357:0%22crwdnd858357:0%7crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0%7Bcrwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22icrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22acrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22hicrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22gcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22icrwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22dcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%7crwdnd858357:0[Boards]crwdnd858357:0{{opSetting:base_url}}crwdne858357:0 + item_4: + options: + name: crwdns858359:0crwdne858359:0 + item_5: + options: + name: crwdns858361:0crwdne858361:0 + item_6: + options: + name: crwdns858363:0crwdne858363:0 + work_packages: + item_0: + subject: crwdns858365:0crwdne858365:0 + description: |- + crwdns858367:0{{opSetting:base_url}}crwdnd858367:0%7Bcrwdnd858367:0%22ccrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%5Bcrwdnd858367:0%22icrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22scrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22scrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22dcrwdnd858367:0%22crwdnd858367:0%5crwdnd858367:0%2Ccrwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%2Ccrwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22hicrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%2Ccrwdnd858367:0%22gcrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22scrwdnd858367:0%3crwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22fcrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%5Bcrwdnd858367:0%7Bcrwdnd858367:0%22ncrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22scrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22ocrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22ocrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%5Bcrwdnd858367:0%5crwdnd858367:0%7crwdnd858367:0%5crwdnd858367:0%2Ccrwdnd858367:0%22pcrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%2Ccrwdnd858367:0%22pcrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%7crwdne858367:0 + item_1: + subject: crwdns858369:0crwdne858369:0 + description: crwdns858371:0crwdne858371:0 + children: + item_0: + subject: crwdns858373:0crwdne858373:0 + description: |- + crwdns858375:0crwdne858375:0 + item_1: + subject: crwdns858377:0crwdne858377:0 + description: |- + crwdns858379:0crwdne858379:0 + item_2: + subject: crwdns858381:0crwdne858381:0 + description: crwdns858383:0crwdne858383:0 + item_2: + subject: crwdns858385:0crwdne858385:0 + description: crwdns858387:0crwdne858387:0 + item_3: + subject: crwdns858389:0crwdne858389:0 + description: crwdns858391:0crwdne858391:0 + children: + item_0: + subject: crwdns858393:0crwdne858393:0 + description: |- + crwdns858395:0crwdne858395:0 + item_1: + subject: crwdns858397:0crwdne858397:0 + description: |- + crwdns858399:0crwdne858399:0 + item_2: + subject: crwdns858401:0crwdne858401:0 + description: crwdns858403:0crwdne858403:0 + item_4: + subject: crwdns858405:0crwdne858405:0 + description: crwdns858407:0crwdne858407:0 + children: + item_0: + subject: crwdns858409:0crwdne858409:0 + description: |- + crwdns858411:0crwdne858411:0 + item_1: + subject: crwdns858413:0crwdne858413:0 + description: |- + crwdns858415:0crwdne858415:0 + item_2: + subject: crwdns858417:0crwdne858417:0 + description: |- + crwdns858419:0crwdne858419:0 + item_3: + subject: crwdns858421:0crwdne858421:0 + description: crwdns858423:0crwdne858423:0 + item_5: + subject: crwdns858425:0crwdne858425:0 + description: crwdns858427:0crwdne858427:0 + children: + item_0: + subject: crwdns858429:0crwdne858429:0 + description: |- + crwdns858431:0crwdne858431:0 + item_1: + subject: crwdns858433:0crwdne858433:0 + item_2: + subject: crwdns858435:0crwdne858435:0 + description: crwdns858437:0crwdne858437:0 + item_6: + subject: crwdns858439:0crwdne858439:0 + description: "crwdns858441:0crwdne858441:0" + item_7: + subject: crwdns858443:0crwdne858443:0 + description: crwdns858445:0crwdne858445:0 + item_8: + subject: crwdns858447:0crwdne858447:0 + description: "crwdns858449:0crwdne858449:0" + item_9: + subject: crwdns858451:0crwdne858451:0 + description: crwdns858453:0crwdne858453:0 + item_10: + subject: crwdns858455:0crwdne858455:0 + description: crwdns858457:0crwdne858457:0 + item_11: + subject: crwdns858459:0crwdne858459:0 + children: + item_0: + subject: crwdns858461:0crwdne858461:0 + description: |- + crwdns858463:0crwdne858463:0 + item_1: + subject: crwdns858465:0crwdne858465:0 + description: |- + crwdns858467:0crwdne858467:0 + item_2: + subject: crwdns858469:0crwdne858469:0 + item_12: + subject: crwdns858471:0crwdne858471:0 + item_13: + subject: crwdns858473:0crwdne858473:0 + description: |- + crwdns858475:0crwdne858475:0 + item_14: + subject: crwdns858477:0crwdne858477:0 + description: crwdns858479:0crwdne858479:0 + demo-bcf-management-project: + name: "crwdns858481:0crwdne858481:0" + status_explanation: crwdns858483:0crwdne858483:0 + description: crwdns858485:0crwdne858485:0 + ifc_models: + item_0: + name: crwdns858487:0crwdne858487:0 + item_1: + name: crwdns858489:0crwdne858489:0 + item_2: + name: crwdns858491:0crwdne858491:0 + categories: + item_0: crwdns858493:0crwdne858493:0 + queries: + item_0: + name: crwdns858495:0crwdne858495:0 + item_1: + name: crwdns858497:0crwdne858497:0 + item_2: + name: crwdns858499:0crwdne858499:0 + item_3: + name: crwdns858501:0crwdne858501:0 + item_4: + name: crwdns858503:0crwdne858503:0 + item_5: + name: crwdns858505:0crwdne858505:0 + item_6: + name: crwdns858507:0crwdne858507:0 + item_7: + name: crwdns858509:0crwdne858509:0 + boards: + bcf: + name: crwdns858511:0crwdne858511:0 + project-overview: + widgets: + item_0: + options: + name: crwdns858513:0crwdne858513:0 + item_1: + options: + name: crwdns858515:0crwdne858515:0 + text: | + crwdns858517:0[Members]crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0[BCF]crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0[BCF]crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0[BCF]crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0%7Bcrwdnd858517:0%22ccrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22icrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22acrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%5crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22hicrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22gcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22icrwdnd858517:0%3crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22fcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%5crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22dcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22ccrwdnd858517:0%22crwdnd858517:0%7crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0%7Bcrwdnd858517:0%22ccrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%22icrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22dcrwdnd858517:0%22crwdnd858517:0%5crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22dcrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22hicrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22gcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22scrwdnd858517:0%3crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22fcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%7Bcrwdnd858517:0%22ncrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22ocrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22ocrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%5crwdnd858517:0%7crwdnd858517:0%5crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%7crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0[Boards]crwdnd858517:0{{opSetting:base_url}}crwdne858517:0 + item_4: + options: + name: crwdns858519:0crwdne858519:0 + item_5: + options: + name: crwdns858521:0crwdne858521:0 diff --git a/modules/bim/config/locales/crowdin/lt.seeders.yml b/modules/bim/config/locales/crowdin/lt.seeders.yml new file mode 100644 index 000000000000..a569b47e2383 --- /dev/null +++ b/modules/bim/config/locales/crowdin/lt.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +lt: + seeds: + bim: + priorities: + item_0: + name: Žemas + item_1: + name: Normalus + item_2: + name: Aukštis + item_3: + name: Kritinis + statuses: + item_0: + name: Naujas + item_1: + name: Vykdomas + item_2: + name: Išspręstas + item_3: + name: Uždarytas + time_entry_activities: + item_0: + name: Valdymas + item_1: + name: Specifikacija + item_2: + name: Kita + types: + item_0: + name: Užduotis + item_1: + name: Svarbus etapas + item_2: + name: Fazė + item_3: + name: Problema + item_4: + name: Komentaras + item_5: + name: Užklausa + item_6: + name: Susidūrimas + global_queries: + item_0: + name: 'Įtraukta lentelė: vaikai' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Vaikai + groups: + item_0: + name: Architektai + item_1: + name: BIM koordinatoriai + item_2: + name: BIM valdytojai + item_3: + name: BIM modeliuotojai + item_4: + name: Įkelti BIM koordinatorius + item_5: + name: MEP inžinieriai + item_6: + name: Planuotojai + item_7: + name: Struktūros inžinieriai + welcome: + title: Jus sveikina OpenProject BIM versija! + text: | + Išbandykite demonstracinius projektus, kad susipažintumėte su kai kuriais pavyzdžiais. + + * [(Demonstracinis) Statybų projektas]({{opSetting:base_url}}/projects/demo-construction-project): Planavimas, BIM procesas, BCF valdymas ir statyba, viskas trumpai. + * [(Demonstracinis) Planavimas ir statyba]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Klasikinis planavimas ir statybos valdymas. + * [(Demonstracinis) Bim projektas]({{opSetting:base_url}}/projects/demo-bim-project): BIM procesas ir koordinacija. + * [(Demonstracinis) BCF valdymas]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF valdymas. + + Taipogi galite sukurti tuščią [naują projektą]({{opSetting:base_url}}/projects/new). + + Niekada nesustokite bendradarbiauti. Su atviru kodu mintyse. + + Jūs galite pakeisti šį pasisveikinimo tekstą [čia]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demonstracinis) Statybų projektas" + status_explanation: Visos užduotys ir sub-projektai vyksta pagal planą. Susiję žmonės žino savo užduotis. Sistema pilnai paruošta. + description: Tai trumpas demonstracinio statybos projekto tikslų aprašymas. + news: + item_0: + title: Jus sveikina jūsų demonstracinis projektas + summary: | + Mes džiaugiamės, kad jūs prisijungėte. + Šiame modulyje jūs galite iškomunikuoti projekto naujienas jūsų komandos nariams. + description: Aktualios naujienos + categories: + item_0: Kategorija 1 (keičiama Projekto nustatymuose) + queries: + item_0: + name: Projekto planas + item_1: + name: Gairės + item_2: + name: Užduotys + item_3: + name: Komandos planas + boards: + bcf: + name: Paprasta tempimo ir numetimo eiga + project-overview: + widgets: + item_0: + options: + name: Sveiki + item_1: + options: + name: Darbo pradžia + text: | + Džiaugiamės, kad prisijungėte! Siūlome pabandyti kelis dalykus, kurie padės jums susipažinti su OpenProject. + + Prieš pradėdami turėtumėte žinoti, kad šis pavyzdinis projektas yra padalintas į du skirtingus projektus: + + 1. [Statybos projektas]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Čia rasite klasifikinius vaidmenis, kelis procesus ir darbų paketus jūsų statybos projektui. + 2. [BIM Modelio kūrimas]({{opSetting:base_url}}/projects/demo-bim-project): Šis projektas taipogi siūlo vaidmenis, procesus ir darbo paketus, bet pritaikytus būtent BIM kontekstui. + + _Pabandykite šiuos žingsnius:_ + + 1. _Pakvieskite į projektą naujus narius_: → Eikite į [Nariai]({{opSetting:base_url}}/projects/demo-construction-project/members). + 2. _Peržiūrėkite jūsų projektų darbus_: → Eikite į [Darbo paketai]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D). + 3. _Sukurkite naują darbo paketą_: → Eikite į [Darbo paketai → Kurti]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Kurkite ir atnaujinkite Gantt diagramą_: → Eikite į [Gantt diagrama]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D). + 5. _Aktyvuokite kitus modulius_: → Eikite į [Projekto nustatymai → Moduliai]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Pabandykite kaladėlių vaizdą, kad gautumėte BCF problemų apžvalgą:_ → Eikite į [Darbo paketai]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Dirbate pagal Agile? Pabandykite mūsų naujas lentas:_ → Eikite į [Lentos]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Čia rasite mūsų [Naudotojų vadovus](https://www.openproject.org/docs/user-guide/). + Praneškite mums, jei turite bet kokių klausimų ar jums reikia pagalbos. Susisiekite su mumis: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Nariai + item_5: + options: + name: Darbų paketai + item_6: + options: + name: Gairės + demo-planning-constructing-project: + name: "(Demonstracija) Planavimas ir statyba" + status_explanation: Visos užduotys vyksta pagal planą. Susiję žmonės žino savo užduotis. Sistema pilnai paruošta. + description: Tai trumpas demonstracinio planavimo ir statybos projekto tikslų aprašymas. + news: + item_0: + title: Jus sveikina jūsų demonstracinis projektas + summary: | + Mes džiaugiamės, kad jūs prisijungėte. + Šiame modulyje jūs galite iškomunikuoti projekto naujienas jūsų komandos nariams. + description: Aktualios naujienos + categories: + item_0: Kategorija 1 (keičiama Projekto nustatymuose) + queries: + item_0: + name: Projekto planas + item_1: + name: Gairės + item_2: + name: Užduotys + item_3: + name: Komandos planas + project-overview: + widgets: + item_0: + options: + name: Sveiki + item_1: + options: + name: Darbo pradžia + text: | + Džiaugiamės, kad prisijungėte! Mes siūlome pabandyti kelis dalykus, kurie patės susipažinti su OpenProject. + + Čia rasite klasikinius vaidmenis, kelis procesus ir darbo paktus jūsų statybos projektui. + + _Pabandykite šiuos žingsnius:_ + + 1. _Pakvieskite į jūsų projektą naujus narius:_ → Eikite į [Nariai]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members). + 2. _Peržiūrėkite projekto darbus:_ → Eikite į [Darbo paketai]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D). + 3. _Sukurkite naują darbo paketą:_ → Eikite į [Darbo paketai → Kurti]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Kurkite ir atnaujinkite Gantt diagramą:_ → Eikite į [Gantt diagrama]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D). + 5. _Aktyvuokite kitus modulius:_ → Eikite į [Projekto nustatymai → Moduliai]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Dirbate pagal Agile? Sukurkite naują lentą:_ → Eikite į [Lentos]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Čia rasite mūsų [Naudotojų vadovus](https://www.openproject.org/docs/user-guide/). + Praneškite mums, jei turite bet kokių klausimų ar jums reikia pagalbos. Susisiekite su mumis: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Nariai + item_5: + options: + name: Darbų paketai + item_6: + options: + name: Gairės + work_packages: + item_0: + subject: Statybų projekto pradžia + description: |- + Projekto pradžia inicializuoja projekto pradžią jūsų kompanijoje. Visi šio projekto dalyviai turėtų būti pakviesti į pradžios susitikimą trumpai informacijai. + + Kitas žingsnis galėtų būti patikrinti laiko grafiką ir patikslinti susitikimus pagal [Gantt diagramą]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Bazinis įvertinimas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + children: + item_0: + subject: Renkama pirma projekto informacija + description: |- + ## Tikslas + + * Apibrėžti užduotis pagal kliento poreikius + * Turi būti apibrėžtas laiko diapazonas ir kaina + + ## Aprašymas + + * Susitikimo su klientu metu identifikuoti kliento poreikius + * KIekvienam poreikiui turi būti sukurta užduotis su atitinkamais darbo paketais + * Išvesti kainos prognozę ir laiko diapazoną + item_1: + subject: Apibendrinami rezultatai + description: |- + ## Tikslas + + * Sukurti naudingą rezultatų apžvalgą + * Patikrinti, kas buvo atlikta, apibendrinti rezultatus + * Iškomunikuoti visus rezultatus klientui + * Identifikuoti esmines ribines projekto sąlygas + + ## Aprašymas + + * Kiekviena tema gauna savo apžvalgą, kuri naudojama rezultatų kataloge + * Ši apžvalga informuoja visus dalyvius apie atliktus sprendimus + * ... + item_2: + subject: Bazinio įvertinimo pabaiga + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + item_2: + subject: Preliminarus planavimas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + children: + item_0: + subject: Kuriamas pirmas juodraštis + description: |- + ## Tikslas + + * Sukurti naudingą rezultatų apžvalgą + * Patikrinti, kas buvo atlikta, apibendrinti rezultatus + * Iškomunikuoti visus rezultatus klientui + * Identifikuoti esmines ribines projekto sąlygas + + ## Aprašymas + + * Kiekviena tema gauna savo apžvalgą, kuri naudojama rezultatų kataloge + * Ši apžvalga informuoja visus dalyvius apie atliktus sprendimus + * ... + item_1: + subject: Apibendrinti rezultatus + description: |- + ## Tikslas + + * Sukurti naudingą rezultatų apžvalgą + * Patikrinti, kas buvo atlikta, apibendrinti rezultatus + * Iškomunikuoti visus rezultatus klientui + * Identifikuoti esmines ribines projekto sąlygas + + ## Aprašymas + + * Kiekviena tema gauna savo apžvalgą, kuri naudojama rezultatų kataloge + * Ši apžvalga informuoja visus dalyvius apie atliktus sprendimus + * ... + item_3: + subject: Preliminarus planavimas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + item_4: + subject: Projektavimo planavimas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + children: + item_0: + subject: Baigiamas projektavimas + description: |- + ## Tikslas + + * Projektavimas baigtas + * Visos šalys patenkintos projektavimo planavimo fazės rezultatais + + ## Aprašymas + + * Projekto projektavimas bus baigtas + * Visos šalys sutinka su projektu + * Savininkas patenkintas rezultatais + * ... + item_1: + subject: Projektavmo užšaldymas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + item_5: + subject: Konstravimo fazė + children: + item_0: + subject: Pradėti konstravimą + description: |- + ## Tikslas + + * Ledų pralaužimo ceremonija + * Statybos vietos paruošimas + * ... + + ## Aprašymas + + * Ruošiama projekto vieta + * Surenkama komanda + * ... + item_1: + subject: Pagrindas + description: |- + ## Tikslas + + * Padedamas pamatų akmuo + * ... + + ## Aprašymas + + * Betono maišyklės paruošimas + * Betono tiekimo grandinės paruošimas + * ... + item_2: + subject: Pastato statyba + description: |- + ## Tikslas + + * Stogo pabaigimo ceremonija + * Sienos ir lubos baigtos + * ... + + ## Aprašymas + + * Kuriami visi pastato struktūriniai lygiai + * Įstatomos durys ir langai + * Baigiama stogo struktūra + * ... + item_3: + subject: Baigiamas fasadas + description: |- + ## Tikslas + + * Fasadas baigtas + * Visas pastatas nepralaidus vandeniui + * ... + + ## Aprašymas + + * Sudėti visus fasado elementus + * Baigti stogą + * ... + item_4: + subject: Sudedamos pastato aptarnavimo sistemos + description: |- + ## Tikslas + + * Visos pastato aptarnavimo sistemos yra paruoštos naudojimui + + ## Aprašymas + + * Įdiegiama šildymo sistema + * Įdiegiama klimato sistema + * Elektros instaliacijos diegimas + * ... + item_5: + subject: Paskutiniai štrichai + description: |- + ## Tikslas + + * Raktų perdavimas + * Užsakovas patenkintas savo pastatu + * ... + + ## Aprašymas + + * Pastato aptarnavimo sistemų pabaigimas + * Vidinės apdailos pabaigimas + * Fasado pabaigimas + * ... + item_6: + subject: Įkurtuvių šventė + description: |- + ## Tikslas + + * Pašėlkite! + + ## Aprašymas + + * Pakviesti statybų komandą + * Pakviesti draugus + * Atsinešti gėrimų, užkandžių ir jūsų šypseną + demo-bim-project: + name: "(Demonstracinis) BIM projektas" + status_explanation: Visos užduotys ir sub-projektai vyksta pagal planą. Susiję žmonės žino savo užduotis. Sistema pilnai paruošta. + description: Tai trumpas demonstracinio BIM projekto tikslų aprašymas. + news: + item_0: + title: Jus sveikina jūsų demonstracinis projektas + summary: | + Mes džiaugiamės, kad jūs prisijungėte. + Šiame modulyje jūs galite iškomunikuoti projekto naujienas jūsų komandos nariams. + description: Aktualios naujienos + categories: + item_0: Kategorija 1 (keičiama Projekto nustatymuose) + queries: + item_0: + name: Projekto planas + item_1: + name: Gairės + item_2: + name: Užduotys + item_3: + name: Komandos planas + project-overview: + widgets: + item_0: + options: + name: Sveiki + item_1: + options: + name: Darbo pradžia + text: | + Mes džiaugiamės, kad jūs prisikungėte! Siūlome pabandyti keletą dalykų, kad susipažintumėte su OpenProject. + + Šiame demonstraciniame projekte yra vaidmenys, procesai ir darbo paketai, kurie pritaikyti BIM. + + _Išbandykite šiuos žingsnius:_ + + 1. _Pakvieskite naujus projekto narius:_ → Eikite į [Nariai]({{opSetting:base_url}}/projects/demo-bim-project/members). + 2. _Įkelkite ir žiūrėkite 3D-modelius IFC formatu:_ → Eikite į [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf). + 3. _Kurkite ir valdykite BCF problemas, susijusias tiesiogiai su IFC modeliu:_ → Eikite į [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Kurti. + 4. _Žiūrėkite jūsų projektų darbus:_ → Eikite į [Darbo paketai]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D). + 5. _Kurkite naują darbo paketą:_ → Eikite į [Darbo paketai → Kurti]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Kurkite ir atnaujinkite Gantt diagramą:_ → Eikite į [Gantt diagramą]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D). + 7. _Aktyvuoti kitus modulius:_ → Eikite į [Projekto nustatymai → Moduliai]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Pabandykite kaladėlių vaizdą jūsų BCF problemų apžvalgai:_ → Eikite į [Darbo paketai]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Naudojate Agile? Kurkite naują lentą:_ → Eikite į [Lentos]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Čia rastie mūsų [Naudotojų vadovus](https://www.openproject.org/docs/user-guide/). + Praneškite mums, jei turite kokių nors klausimų ar jums reikia pagalbos. Susisiekite su mumis: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Nariai + item_5: + options: + name: Darbų paketai + item_6: + options: + name: Gairės + work_packages: + item_0: + subject: BIM modelio kūrimo projekto pradžia + description: |- + Projekto pradžia inicializuoja projektą jūsų kompanijoje. Į pradžios susitkimą turėtų būti pakviesti visi šio projekto dalyviai, kad būtų pateikta trumpa informacija. + + Kitas žingsnis galėtų būti patikrinti laiko grafiką ir patikslinti susitikimus pagal [Gantt diagramą]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Projekto paruošimas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + children: + item_0: + subject: Renkami BIM modeliui reikalingi specifiniai projekto duomenys ir informacija + description: |- + ## Tikslas + + * Identifikuoti projekto strategiją klientui (pvz. naudojant paprastus klausimus) + * Jei pateikta, analizuoti kliento informacijos reikalavimus BIM modeliui + * Apibrėžti informacijos pateikimo strategiją pagal kliento poreikius + + ## Aprašymas + + * Analizuoti kliento poreikius ir tikslus naudojant BIM metodologiją + * Šios užduoties rezultatai turėtų būti: + * Projekto reikalavimai + * Pateikimo fazės strategija + * ... + item_1: + subject: Kuriamas BIM vykdymo planas + description: |- + # Tikslas + + * BIM vykdymo planas bus apibrėžtas pagal apsikeitimo reikalavimų specifikacijas (ERS) + * Visi komandos nariai ir partneriai turi plana, kaip pasiekti projekto tikslus + + # Aprašymas + + * Priklausomai nuo apibrėžtų panaudos atvejų, apibrėžiami individualūs informacijos pateikimo vadovai + * Technologinių sąsajų tvarkymui apibrėžiama, analizuojama ir tikrinama programinės įrangos topologija + * ... + item_2: + subject: BIM vykdymo plano pabaigimas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + item_2: + subject: Pasiruošimo fazės pabaiga + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + item_3: + subject: Kuriamas pradinis BIM modelis + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + children: + item_0: + subject: Modeliuojamas pradinis BIM modelis + description: |- + # Tikslas + + * Modeliuoti pradinį BIM modelį + * Kurti BIM modelį visai projekto komandai + + # Aprašymas + + * Pagal iš kliento surinktus duomenis sumodeliuojamas pradinis modelis + * Modelis turi būti modeliuojamas pagal LOD matricas ir turėti reikiamą informaciją + * ... + item_1: + subject: Pradinio, vidinio modelio tikrinimas ir peržiūra + description: |- + # Tikslas + + * BIM modelio pateikimas pagal nustatytus standartus + + # Aprašymas + + * Modelis turi būti tikrinamas pagal apibrėžtus standartus (susitarimus, LOD, ...) ir peržiūrėtas + * ... + item_2: + subject: Pateikiamas pradinis BIM modelis + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + item_4: + subject: Modeliavimas, pirmas ciklas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + children: + item_0: + subject: Nuorodos į išorinius BIM modelius + description: |- + # Tikslas + + * Turėti pagrindą pradinio modelio kūrimui bei galimus atsakymus į klausimus + * Išorinio modelio naudojimas kuriant vidinį modelį + + # Aprašymas + + * Išorinis modelis bus naudojamas BIM platformoje, taigi naudojamas modeliuojant vidinį modelį + * ... + item_1: + subject: BIM modelio modeliavimas + description: |- + # Tikslas + + * Sukurti projekto BIM modelį + * Sukurti visos projekto komandos BIM modelį + + # Aprašymas + + * Modelis bus sukurtas pagal BIM vykdymo planą + * ... + item_2: + subject: Pirmas ciklas, vidinio modelio tikrinimas ir peržiūra + description: |- + # Tikslas + + * BIM modelio pateikimas pagal nustatytus standartus + + # Aprašymas + + * Modelis turi būti tikrinamas pagal apibrėžtus standartus (susitarimus, LOD, ...) ir peržiūrėtas + * ... + item_3: + subject: Pateikiamas BIM modelis + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + item_5: + subject: Koordinacija, pirmas ciklas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + children: + item_0: + subject: Koordinuoti skirtingus BIM modelius + description: |- + # Tikslas + + * Surinkti visos projekto komandos skirtingus BIM modelius + * Koordinuoti identifikuotas problemas + + # Aprašymas + + * Bus surinkti ir patikrinti skirtingi BIM modeliai + * Per BCF failus bus iškomunikuotos identifikuotos specifinės modelių problemos + * ... + item_1: + subject: Problemų valdymas, pirmas ciklas + item_2: + subject: Baigiamoji koordinacija, pirmas ciklas + description: Šis tipas hierarchiškai yra tėvas tipų "Susidūrimas" ir "Užklausa", taigi reprezentuoja bendrą pastabą. + item_6: + subject: Modeliavimas ir koordinavimas, antras ciklas + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: Visos užduotys vyksta pagal planą. Susiję žmonės žino savo užduotis. Sistema pilnai paruošta. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Kategorija 1 (keičiama Projekto nustatymuose) + queries: + item_0: + name: Trūkumai + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Projekto planas + item_5: + name: Gairės + item_6: + name: Užduotys + item_7: + name: Komandos planas + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Sveiki + item_1: + options: + name: Darbo pradžia + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Nariai + item_5: + options: + name: Darbų paketai diff --git a/modules/bim/config/locales/crowdin/lv.seeders.yml b/modules/bim/config/locales/crowdin/lv.seeders.yml new file mode 100644 index 000000000000..b334422d9701 --- /dev/null +++ b/modules/bim/config/locales/crowdin/lv.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +lv: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Atskaites punkts + item_2: + name: Phase + item_3: + name: Kļūda + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Bērni + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Dalībnieki + item_5: + options: + name: Pieteikumi + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Dalībnieki + item_5: + options: + name: Pieteikumi + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Dalībnieki + item_5: + options: + name: Pieteikumi + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Dalībnieki + item_5: + options: + name: Pieteikumi diff --git a/modules/bim/config/locales/crowdin/mn.seeders.yml b/modules/bim/config/locales/crowdin/mn.seeders.yml new file mode 100644 index 000000000000..7769702ef19d --- /dev/null +++ b/modules/bim/config/locales/crowdin/mn.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +mn: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/ne.seeders.yml b/modules/bim/config/locales/crowdin/ne.seeders.yml new file mode 100644 index 000000000000..b05682d1a0bc --- /dev/null +++ b/modules/bim/config/locales/crowdin/ne.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ne: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/nl.seeders.yml b/modules/bim/config/locales/crowdin/nl.seeders.yml new file mode 100644 index 000000000000..dc858f2beea2 --- /dev/null +++ b/modules/bim/config/locales/crowdin/nl.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +nl: + seeds: + bim: + priorities: + item_0: + name: Laag + item_1: + name: Normaal + item_2: + name: Hoog + item_3: + name: Critical + statuses: + item_0: + name: Nieuw + item_1: + name: In behandeling + item_2: + name: Opgelost + item_3: + name: Gesloten + time_entry_activities: + item_0: + name: Beheer + item_1: + name: Specificatie + item_2: + name: Overige + types: + item_0: + name: Taak + item_1: + name: Mijlpaal + item_2: + name: Fase + item_3: + name: Probleem + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Subdocumenten + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welkom bij uw demo-project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: Het actuele nieuws + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Mijlpalen + item_2: + name: Taken + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welkom + item_1: + options: + name: Aan de slag + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Leden + item_5: + options: + name: Werkpakketten + item_6: + options: + name: Mijlpalen + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welkom bij uw demo-project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: Het actuele nieuws + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Mijlpalen + item_2: + name: Taken + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welkom + item_1: + options: + name: Aan de slag + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Leden + item_5: + options: + name: Werkpakketten + item_6: + options: + name: Mijlpalen + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welkom bij uw demo-project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: Het actuele nieuws + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Mijlpalen + item_2: + name: Taken + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welkom + item_1: + options: + name: Aan de slag + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Leden + item_5: + options: + name: Werkpakketten + item_6: + options: + name: Mijlpalen + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Problemen + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Mijlpalen + item_6: + name: Taken + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welkom + item_1: + options: + name: Aan de slag + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Leden + item_5: + options: + name: Werkpakketten diff --git a/modules/bim/config/locales/crowdin/no.seeders.yml b/modules/bim/config/locales/crowdin/no.seeders.yml new file mode 100644 index 000000000000..220df5210f5e --- /dev/null +++ b/modules/bim/config/locales/crowdin/no.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +"no": + seeds: + bim: + priorities: + item_0: + name: Lav + item_1: + name: Normal + item_2: + name: Høy + item_3: + name: Critical + statuses: + item_0: + name: Ny + item_1: + name: Under arbeid + item_2: + name: Resolved + item_3: + name: Stengt + time_entry_activities: + item_0: + name: Administrasjon + item_1: + name: Spesifikasjon + item_2: + name: Øvrig + types: + item_0: + name: Oppgave + item_1: + name: Milepæl + item_2: + name: Fase + item_3: + name: Tema + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Underordnede + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Teamplanlegger + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Komme i gang + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmer + item_5: + options: + name: Arbeidspakker + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Teamplanlegger + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Komme i gang + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmer + item_5: + options: + name: Arbeidspakker + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Teamplanlegger + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Komme i gang + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmer + item_5: + options: + name: Arbeidspakker + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Teamplanlegger + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Komme i gang + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmer + item_5: + options: + name: Arbeidspakker diff --git a/modules/bim/config/locales/crowdin/pl.seeders.yml b/modules/bim/config/locales/crowdin/pl.seeders.yml new file mode 100644 index 000000000000..6f9a65a1e5cc --- /dev/null +++ b/modules/bim/config/locales/crowdin/pl.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +pl: + seeds: + bim: + priorities: + item_0: + name: Niski + item_1: + name: Normalne + item_2: + name: Wysokie + item_3: + name: Critical + statuses: + item_0: + name: Nowy + item_1: + name: W Toku + item_2: + name: Rozpoznane + item_3: + name: Zamknięte + time_entry_activities: + item_0: + name: Zarządzanie + item_1: + name: Specyfikacja + item_2: + name: Inne + types: + item_0: + name: Zadanie + item_1: + name: Kamień milowy + item_2: + name: Etap + item_3: + name: Problem + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Dzieci + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planista zespołu + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pierwsze kroki + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Członkowie + item_5: + options: + name: Pakiety robocze + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planista zespołu + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pierwsze kroki + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Członkowie + item_5: + options: + name: Pakiety robocze + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planista zespołu + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pierwsze kroki + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Członkowie + item_5: + options: + name: Pakiety robocze + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Problemy + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Planista zespołu + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Pierwsze kroki + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Członkowie + item_5: + options: + name: Pakiety robocze diff --git a/modules/bim/config/locales/crowdin/pt.seeders.yml b/modules/bim/config/locales/crowdin/pt.seeders.yml new file mode 100644 index 000000000000..db54dff81d39 --- /dev/null +++ b/modules/bim/config/locales/crowdin/pt.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +pt: + seeds: + bim: + priorities: + item_0: + name: Baixa + item_1: + name: Normal + item_2: + name: Alta + item_3: + name: Crítico + statuses: + item_0: + name: Novo + item_1: + name: Em andamento + item_2: + name: Resolvido + item_3: + name: Fechado + time_entry_activities: + item_0: + name: Gerenciamento + item_1: + name: Especificação + item_2: + name: Outro + types: + item_0: + name: Tarefa + item_1: + name: Marco + item_2: + name: Fase + item_3: + name: Problema + item_4: + name: Observação + item_5: + name: Requisição + item_6: + name: Conflito + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Filhos + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Bem-vindo ao seu projeto de demonstração + summary: | + Estamos felizes por você ter se juntado a nós. + Neste módulo, você pode comunicar as novidades do projeto aos membros da sua equipe. + description: As notícias atuais + categories: + item_0: Categoria 1 (a ser alterada nas configurações do projeto) + queries: + item_0: + name: 'Plano do Projeto:' + item_1: + name: Etapas + item_2: + name: Tarefas + item_3: + name: Planejador de equipe + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Bem-vindo + item_1: + options: + name: Guia de introdução + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membros + item_5: + options: + name: Pacotes de trabalho + item_6: + options: + name: Etapas + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: Todas as tarefas estão dentro do cronograma. As pessoas envolvidas conhecem suas tarefas. O sistema está completamente configurado. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Bem-vindo ao seu projeto de demonstração + summary: | + Estamos felizes por você ter se juntado a nós. + Neste módulo, você pode comunicar as novidades do projeto aos membros da sua equipe. + description: As notícias atuais + categories: + item_0: Categoria 1 (a ser alterada nas configurações do projeto) + queries: + item_0: + name: 'Plano do Projeto:' + item_1: + name: Etapas + item_2: + name: Tarefas + item_3: + name: Planejador de equipe + project-overview: + widgets: + item_0: + options: + name: Bem-vindo + item_1: + options: + name: Guia de introdução + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membros + item_5: + options: + name: Pacotes de trabalho + item_6: + options: + name: Etapas + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Bem-vindo ao seu projeto de demonstração + summary: | + Estamos felizes por você ter se juntado a nós. + Neste módulo, você pode comunicar as novidades do projeto aos membros da sua equipe. + description: As notícias atuais + categories: + item_0: Categoria 1 (a ser alterada nas configurações do projeto) + queries: + item_0: + name: 'Plano do Projeto:' + item_1: + name: Etapas + item_2: + name: Tarefas + item_3: + name: Planejador de equipe + project-overview: + widgets: + item_0: + options: + name: Bem-vindo + item_1: + options: + name: Guia de introdução + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membros + item_5: + options: + name: Pacotes de trabalho + item_6: + options: + name: Etapas + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: Todas as tarefas estão dentro do cronograma. As pessoas envolvidas conhecem suas tarefas. O sistema está completamente configurado. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Categoria 1 (a ser alterada nas configurações do projeto) + queries: + item_0: + name: Problemas + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: 'Plano do Projeto:' + item_5: + name: Etapas + item_6: + name: Tarefas + item_7: + name: Planejador de equipe + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Bem-vindo + item_1: + options: + name: Guia de introdução + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membros + item_5: + options: + name: Pacotes de trabalho diff --git a/modules/bim/config/locales/crowdin/ro.seeders.yml b/modules/bim/config/locales/crowdin/ro.seeders.yml new file mode 100644 index 000000000000..a97a6c666467 --- /dev/null +++ b/modules/bim/config/locales/crowdin/ro.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ro: + seeds: + bim: + priorities: + item_0: + name: Scăzută + item_1: + name: Normală + item_2: + name: Ridicată + item_3: + name: Critical + statuses: + item_0: + name: Nou + item_1: + name: În lucru + item_2: + name: Resolved + item_3: + name: Închis + time_entry_activities: + item_0: + name: Administrare + item_1: + name: Specificație + item_2: + name: Altele + types: + item_0: + name: Sarcină + item_1: + name: Reper + item_2: + name: Fază + item_3: + name: Tichet + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Fii + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificator de echipă + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Noţiuni de bază + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membri + item_5: + options: + name: Pachete de lucru + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificator de echipă + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Noţiuni de bază + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membri + item_5: + options: + name: Pachete de lucru + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Planificator de echipă + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Noţiuni de bază + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membri + item_5: + options: + name: Pachete de lucru + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: 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. + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Planificator de echipă + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Noţiuni de bază + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Membri + item_5: + options: + name: Pachete de lucru diff --git a/modules/bim/config/locales/crowdin/ru.seeders.yml b/modules/bim/config/locales/crowdin/ru.seeders.yml new file mode 100644 index 000000000000..c2119a235283 --- /dev/null +++ b/modules/bim/config/locales/crowdin/ru.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +ru: + seeds: + bim: + priorities: + item_0: + name: Низкое + item_1: + name: Обычное + item_2: + name: Высокое + item_3: + name: Критично + statuses: + item_0: + name: Новое + item_1: + name: В процессе + item_2: + name: Решено + item_3: + name: закрыто + time_entry_activities: + item_0: + name: Управление + item_1: + name: Спецификация + item_2: + name: Другие + types: + item_0: + name: Задание + item_1: + name: Ключевой момент + item_2: + name: Фаза + item_3: + name: Выпуск + item_4: + name: Замечание + item_5: + name: Запрос + item_6: + name: Конфликт + global_queries: + item_0: + name: 'Встроенная таблица: Дочерние элементы' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Дочерние пакеты работ + groups: + item_0: + name: Архитекторы + item_1: + name: Координаты BIM + item_2: + name: Менеджеры BIM + item_3: + name: BIM Modellers + item_4: + name: Ведущие BIM координаты + item_5: + name: MEP инженеры + item_6: + name: Планировщики + item_7: + name: Конструктивные инженеры + welcome: + title: Добро пожаловать в OpenProject BIM! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Демо) Конструкторский проект" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Добро пожаловать в демо-проект + summary: | + Мы рады, что вы присоединились. + В этом модуле вы можете сообщать новости о проекте членам вашей команды. + description: Текущие новости + categories: + item_0: Категория 1 (будет изменена в настройках проекта) + queries: + item_0: + name: План проекта + item_1: + name: Вехи + item_2: + name: Задачи + item_3: + name: Командный планировщик + boards: + bcf: + name: Простой процесс перетаскивания + project-overview: + widgets: + item_0: + options: + name: Добро пожаловать + item_1: + options: + name: Приступая к работе + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Участники + item_5: + options: + name: Комплекс работ + item_6: + options: + name: Вехи + demo-planning-constructing-project: + name: "(Демо) Планирование и конструирование" + status_explanation: Все задачи выполнены по расписанию. Участвующие в них люди знают свои задачи. Система полностью настроена. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Добро пожаловать в демо-проект + summary: | + Мы рады, что вы присоединились. + В этом модуле вы можете сообщать новости о проекте членам вашей команды. + description: Текущие новости + categories: + item_0: Категория 1 (будет изменена в настройках проекта) + queries: + item_0: + name: План проекта + item_1: + name: Вехи + item_2: + name: Задачи + item_3: + name: Командный планировщик + project-overview: + widgets: + item_0: + options: + name: Добро пожаловать + item_1: + options: + name: Приступая к работе + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Участники + item_5: + options: + name: Комплекс работ + item_6: + options: + name: Вехи + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Базовая оценка + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Сбор первичной информации о проекте + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Подвести итоги + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: Окончание базовой оценки + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Предварительное планирование + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Разработка первого черновика + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Суммировать результаты + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Планирование дизайна + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Завершение дизайна + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Заморозка дизайна + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Начать конструирование + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Фундамент + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Строительство здания + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Завершение фасада + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Последние штрихи + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: Вечеринка по случаю новоселья + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) Проект BIM" + status_explanation: Все задачи и подпроекты выполняются по графику. Вовлеченные люди знают свои задачи. Система полностью настроена. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Добро пожаловать в демо-проект + summary: | + Мы рады, что вы присоединились. + В этом модуле вы можете сообщать новости о проекте членам вашей команды. + description: Текущие новости + categories: + item_0: Категория 1 (будет изменена в настройках проекта) + queries: + item_0: + name: План проекта + item_1: + name: Вехи + item_2: + name: Задачи + item_3: + name: Командный планировщик + project-overview: + widgets: + item_0: + options: + name: Добро пожаловать + item_1: + options: + name: Приступая к работе + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Участники + item_5: + options: + name: Комплекс работ + item_6: + options: + name: Вехи + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Подготовка проекта + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Создание плана выполнения BIM + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Окончание подготовительного этапа + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Ссылки на внешние BIM-модели + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Моделирование BIM-модели + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Отправка BIM-модели + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Координация, первый цикл + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Координируйте различные BIM-модели + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Управление проблемами, первый цикл + item_2: + subject: Завершение координации, первый цикл + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Моделирование и координация, второй цикл + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Моделирование и координация, (n-й минус 1) цикл + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Использовать модель для этапа конструирования + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Завершить конструирование + item_12: + subject: Управление проблемами, этап строительства + item_13: + subject: Передача полномочий по управлению объектами + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Управление активами + description: Наслаждайтесь своим творением! :) + demo-bcf-management-project: + name: "(Demo) Управление BCF" + status_explanation: Все задачи выполнены по расписанию. Участвующие в них люди знают свои задачи. Система полностью настроена. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Категория 1 (будет изменена в настройках проекта) + queries: + item_0: + name: Замечания + item_1: + name: Конфликты + item_2: + name: Запросы + item_3: + name: Замечания + item_4: + name: План проекта + item_5: + name: Вехи + item_6: + name: Задачи + item_7: + name: Командный планировщик + boards: + bcf: + name: Вопросы, касающиеся BCF + project-overview: + widgets: + item_0: + options: + name: Добро пожаловать + item_1: + options: + name: Приступая к работе + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Участники + item_5: + options: + name: Комплекс работ diff --git a/modules/bim/config/locales/crowdin/rw.seeders.yml b/modules/bim/config/locales/crowdin/rw.seeders.yml new file mode 100644 index 000000000000..e57df6c5f685 --- /dev/null +++ b/modules/bim/config/locales/crowdin/rw.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +rw: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/si.seeders.yml b/modules/bim/config/locales/crowdin/si.seeders.yml new file mode 100644 index 000000000000..07bdaa745c08 --- /dev/null +++ b/modules/bim/config/locales/crowdin/si.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +si: + seeds: + bim: + priorities: + item_0: + name: අඩු + item_1: + name: සාමාන්ය + item_2: + name: ඉහළ + item_3: + name: Critical + statuses: + item_0: + name: නව + item_1: + name: ප්රගතියේ + item_2: + name: Resolved + item_3: + name: වසා + time_entry_activities: + item_0: + name: කළමනාකරණය + item_1: + name: පිරිවිතර + item_2: + name: වෙනත් + types: + item_0: + name: කාර්යය + item_1: + name: සන්ධිස්ථානය + item_2: + name: අදියර + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: දරුවන් + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: ආරම්භ කිරීම + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: සාමාජිකයන් + item_5: + options: + name: වැඩ පැකේජ + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: ආරම්භ කිරීම + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: සාමාජිකයන් + item_5: + options: + name: වැඩ පැකේජ + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: ආරම්භ කිරීම + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: සාමාජිකයන් + item_5: + options: + name: වැඩ පැකේජ + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: ගැටළු + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: ආරම්භ කිරීම + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: සාමාජිකයන් + item_5: + options: + name: වැඩ පැකේජ diff --git a/modules/bim/config/locales/crowdin/sk.seeders.yml b/modules/bim/config/locales/crowdin/sk.seeders.yml new file mode 100644 index 000000000000..45e78b661487 --- /dev/null +++ b/modules/bim/config/locales/crowdin/sk.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +sk: + seeds: + bim: + priorities: + item_0: + name: Nízka + item_1: + name: Normálna + item_2: + name: Vysoká + item_3: + name: Critical + statuses: + item_0: + name: Nový + item_1: + name: Prebieha + item_2: + name: Resolved + item_3: + name: Zatvorený + time_entry_activities: + item_0: + name: Riadenie + item_1: + name: Špecifikácia + item_2: + name: Ostatné + types: + item_0: + name: Úloha + item_1: + name: Míľnik + item_2: + name: Fáza + item_3: + name: Problém + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Potomkovia + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Začíname + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Členovia + item_5: + options: + name: Pracovné balíčky + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Začíname + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Členovia + item_5: + options: + name: Pracovné balíčky + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Začíname + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Členovia + item_5: + options: + name: Pracovné balíčky + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Začíname + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Členovia + item_5: + options: + name: Pracovné balíčky diff --git a/modules/bim/config/locales/crowdin/sl.seeders.yml b/modules/bim/config/locales/crowdin/sl.seeders.yml new file mode 100644 index 000000000000..eeefeb479f43 --- /dev/null +++ b/modules/bim/config/locales/crowdin/sl.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +sl: + seeds: + bim: + priorities: + item_0: + name: Nizko + item_1: + name: Običajno + item_2: + name: Visoko + item_3: + name: Kritično + statuses: + item_0: + name: Novo + item_1: + name: V teku + item_2: + name: Rešeno + item_3: + name: Zaprto + time_entry_activities: + item_0: + name: Upravljanje + item_1: + name: Specifikacija + item_2: + name: Drugo + types: + item_0: + name: Opravilo + item_1: + name: Mejnik + item_2: + name: Faza + item_3: + name: Težava + item_4: + name: Opomba + item_5: + name: Zahteva + item_6: + name: Konflikt + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Podrejeni + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Začnite + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Člani + item_5: + options: + name: Delovni paketi + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Začnite + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Člani + item_5: + options: + name: Delovni paketi + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Začnite + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Člani + item_5: + options: + name: Delovni paketi + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Zahtevki + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Začnite + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Člani + item_5: + options: + name: Delovni paketi diff --git a/modules/bim/config/locales/crowdin/sr.seeders.yml b/modules/bim/config/locales/crowdin/sr.seeders.yml new file mode 100644 index 000000000000..1624211353ec --- /dev/null +++ b/modules/bim/config/locales/crowdin/sr.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +sr: + seeds: + bim: + priorities: + item_0: + name: Low + item_1: + name: Normal + item_2: + name: High + item_3: + name: Critical + statuses: + item_0: + name: New + item_1: + name: In progress + item_2: + name: Resolved + item_3: + name: Closed + time_entry_activities: + item_0: + name: Management + item_1: + name: Specification + item_2: + name: Other + types: + item_0: + name: Task + item_1: + name: Milestone + item_2: + name: Phase + item_3: + name: Issue + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Members + item_5: + options: + name: Work packages diff --git a/modules/bim/config/locales/crowdin/sv.seeders.yml b/modules/bim/config/locales/crowdin/sv.seeders.yml new file mode 100644 index 000000000000..6c2af8ec384c --- /dev/null +++ b/modules/bim/config/locales/crowdin/sv.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +sv: + seeds: + bim: + priorities: + item_0: + name: Låg + item_1: + name: Normal + item_2: + name: Hög + item_3: + name: Critical + statuses: + item_0: + name: Ny + item_1: + name: Pågående + item_2: + name: Löst + item_3: + name: Stängt + time_entry_activities: + item_0: + name: Hantering + item_1: + name: Specifikation + item_2: + name: Andra + types: + item_0: + name: Uppgift + item_1: + name: Milstolpe + item_2: + name: Fas + item_3: + name: Ärende + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Barn + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planerare + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Komma igång + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmar + item_5: + options: + name: Arbetspaket + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planerare + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Komma igång + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmar + item_5: + options: + name: Arbetspaket + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planerare + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Komma igång + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmar + item_5: + options: + name: Arbetspaket + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Problem + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planerare + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Komma igång + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Medlemmar + item_5: + options: + name: Arbetspaket diff --git a/modules/bim/config/locales/crowdin/th.seeders.yml b/modules/bim/config/locales/crowdin/th.seeders.yml new file mode 100644 index 000000000000..a752bf0339c0 --- /dev/null +++ b/modules/bim/config/locales/crowdin/th.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +th: + seeds: + bim: + priorities: + item_0: + name: ต่ำ + item_1: + name: ปกติ + item_2: + name: สูง + item_3: + name: Critical + statuses: + item_0: + name: ใหม่ + item_1: + name: อยู่ระหว่างดำเนินการ + item_2: + name: ได้รับการแก้ไข + item_3: + name: ปิดไปแล้ว + time_entry_activities: + item_0: + name: การจัดการ + item_1: + name: ข้อมูลจำเพาะ + item_2: + name: อื่น ๆ + types: + item_0: + name: Task + item_1: + name: ไมล์สโตน + item_2: + name: ขั้นตอนการ + item_3: + name: ประเด็น + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: สมาชิก + item_5: + options: + name: ชุดภารกิจ + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: สมาชิก + item_5: + options: + name: ชุดภารกิจ + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: สมาชิก + item_5: + options: + name: ชุดภารกิจ + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Issues + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Getting started + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: สมาชิก + item_5: + options: + name: ชุดภารกิจ diff --git a/modules/bim/config/locales/crowdin/tr.seeders.yml b/modules/bim/config/locales/crowdin/tr.seeders.yml new file mode 100644 index 000000000000..97c7e7cb18ac --- /dev/null +++ b/modules/bim/config/locales/crowdin/tr.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +tr: + seeds: + bim: + priorities: + item_0: + name: Düşük + item_1: + name: Normal + item_2: + name: Yüksek + item_3: + name: Critical + statuses: + item_0: + name: Yeni + item_1: + name: Devam eden + item_2: + name: Resolved + item_3: + name: Kapalı + time_entry_activities: + item_0: + name: Yönetim + item_1: + name: Özellik + item_2: + name: Diğer + types: + item_0: + name: Görev + item_1: + name: Kilometre taşı + item_2: + name: Aşama + item_3: + name: Sorun + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Çocuk + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Takım planlayıcısı + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Başlarken + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Üyeler + item_5: + options: + name: İş paketleri + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Takım planlayıcısı + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Başlarken + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Üyeler + item_5: + options: + name: İş paketleri + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Takım planlayıcısı + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Başlarken + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Üyeler + item_5: + options: + name: İş paketleri + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Sorunlar + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Takım planlayıcısı + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Başlarken + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Üyeler + item_5: + options: + name: İş paketleri diff --git a/modules/bim/config/locales/crowdin/uk.seeders.yml b/modules/bim/config/locales/crowdin/uk.seeders.yml new file mode 100644 index 000000000000..4f883d748c4c --- /dev/null +++ b/modules/bim/config/locales/crowdin/uk.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +uk: + seeds: + bim: + priorities: + item_0: + name: Низький + item_1: + name: Звичайний + item_2: + name: Високо + item_3: + name: Critical + statuses: + item_0: + name: Новий + item_1: + name: У процесі + item_2: + name: Resolved + item_3: + name: Зачинено + time_entry_activities: + item_0: + name: Налаштування + item_1: + name: Специфікація + item_2: + name: Інше + types: + item_0: + name: Завдання + item_1: + name: Етап + item_2: + name: Фаза + item_3: + name: Проблема + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Дочірні елементи + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Командний планувальник + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Починаємо + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Учасники + item_5: + options: + name: Пакети робіт + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Командний планувальник + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Починаємо + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Учасники + item_5: + options: + name: Пакети робіт + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Командний планувальник + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Починаємо + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Учасники + item_5: + options: + name: Пакети робіт + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Задачі + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Командний планувальник + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Починаємо + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Учасники + item_5: + options: + name: Пакети робіт diff --git a/modules/bim/config/locales/crowdin/vi.seeders.yml b/modules/bim/config/locales/crowdin/vi.seeders.yml new file mode 100644 index 000000000000..e7109b9b2c91 --- /dev/null +++ b/modules/bim/config/locales/crowdin/vi.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +vi: + seeds: + bim: + priorities: + item_0: + name: Thấp + item_1: + name: Bình Thường + item_2: + name: Cao + item_3: + name: Critical + statuses: + item_0: + name: Mới + item_1: + name: Đang xử lý + item_2: + name: Resolved + item_3: + name: Đã đóng + time_entry_activities: + item_0: + name: Quản lý + item_1: + name: Đặc điểm kỹ thuật + item_2: + name: Khác + types: + item_0: + name: Nhiệm vụ + item_1: + name: Milestone + item_2: + name: Giai đoạn + item_3: + name: Vấn đề + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: Children + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Bắt đầu + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Thành viên + item_5: + options: + name: Work Packages + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Bắt đầu + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Thành viên + item_5: + options: + name: Work Packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Bắt đầu + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Thành viên + item_5: + options: + name: Work Packages + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Các vấn đề + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: Bắt đầu + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: Thành viên + item_5: + options: + name: Work Packages diff --git a/modules/bim/config/locales/crowdin/zh-TW.seeders.yml b/modules/bim/config/locales/crowdin/zh-TW.seeders.yml new file mode 100644 index 000000000000..79c1ee71fc1b --- /dev/null +++ b/modules/bim/config/locales/crowdin/zh-TW.seeders.yml @@ -0,0 +1,734 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +--- +zh-TW: + seeds: + bim: + priorities: + item_0: + name: 低 + item_1: + name: 一般 + item_2: + name: 高 + item_3: + name: Critical + statuses: + item_0: + name: 新增 + item_1: + name: 進行中 + item_2: + name: Resolved + item_3: + name: 已關閉 + time_entry_activities: + item_0: + name: 管理 + item_1: + name: 規格 + item_2: + name: 其他 + types: + item_0: + name: 任務 + item_1: + name: 里程碑 + item_2: + name: 階段 + item_3: + name: 問題 + item_4: + name: Remark + item_5: + name: Request + item_6: + name: Clash + global_queries: + item_0: + name: 'Embedded table: Children' + type_configuration: + item_0: + form_configuration: + item_0: + group_name: 子階 + groups: + item_0: + name: Architects + item_1: + name: BIM Coordinators + item_2: + name: BIM Managers + item_3: + name: BIM Modellers + item_4: + name: Lead BIM Coordinators + item_5: + name: MEP Engineers + item_6: + name: Planners + item_7: + name: Structural Engineers + welcome: + title: Welcome to OpenProject BIM edition! + text: | + Checkout the demo projects to get started with some examples. + + * [(Demo) Construction project]({{opSetting:base_url}}/projects/demo-construction-project): Planning, BIM process, BCF management, and constructing, all at a glance. + * [(Demo) Planning & constructing]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Classical planning and construction management. + * [(Demo) Bim project]({{opSetting:base_url}}/projects/demo-bim-project): BIM process and coordination. + * [(Demo) BCF management]({{opSetting:base_url}}/projects/demo-bcf-management-project): BCF management. + + Also, you can create a blank [new project]({{opSetting:base_url}}/projects/new). + + Never stop collaborating. With open source and open mind. + + You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + projects: + demo-construction-project: + name: "(Demo) Construction project" + status_explanation: All tasks and the sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo construction project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + boards: + bcf: + name: Simple drag'n drop workflow + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: 開始 + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + But before you jump right into it, you should know that this exemplary project is split up into two different projects: + + 1. [Construction project]({{opSetting:base_url}}/projects/demo-planning-constructing-project): Here you will find the classical roles, some workflows and work packages for your construction project. + 2. [Creating BIM Model]({{opSetting:base_url}}/projects/demo-bim-project): This project also offers roles, workflows and work packages but especially in the BIM context. + + _Try the following steps:_ + + 1. _Invite new members to your project_: → Go to [Members]({{opSetting:base_url}}/projects/demo-construction-project/members) in the project navigation. + 2. _View the work in your projects_: → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package_: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-construction-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart_: → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules_: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-construction-project/settings/modules). + 6. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 7. _Agile working? Check out our brand new boards:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-construction-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: 成員 + item_5: + options: + name: 工作項目 + item_6: + options: + name: Milestones + demo-planning-constructing-project: + name: "(Demo) Planning & constructing" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo planning and constructing project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: 開始 + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + Here you will find the classical roles, some workflows and work packages for your construction project. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-planning-constructing-project/members) in the project navigation. + 2. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 3. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 4. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-planning-constructing-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-planning-constructing-project/settings/modules). + 6. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-planning-constructing-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: 成員 + item_5: + options: + name: 工作項目 + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off construction project + description: |- + The project kick off initializes the start of the project in your company. Everybody being part of this project should be invited to the kick off for a first briefing. + + The next step could be checking out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-construction-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering first project information + description: |- + ## Goal + + * Define tasks based on the customer needs + * Time frame and cost estimation shall be defined + + ## Description + + * Identify the customer needs by having a workshop with him/ her + * Each need shall represent a task with its corresponding work packages + * Derive the cost estimation and time frame + item_1: + subject: Summarize the results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_2: + subject: End of basic evaluation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: Preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Developing first draft + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_1: + subject: Summarize results + description: |- + ## Goal + + * Create a useful overview of the results + * Check what has been done and summarize the results + * Communicate all the relevant results with the customer + * Identify the fundamental boundary conditions of the project + + ## Description + + * Each topic gets its own overview which will be used as a catalogue of results + * This overview informs all participants about the decisions made + * ... + item_3: + subject: Passing of preliminary planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Design planning + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Finishing design + description: |- + ## Goal + + * Design is done + * All parties are happy with the results of the design planning phase + + ## Description + + * The design of the project will be finished + * All parties agree on the design + * The owner is happy with the results + * ... + item_1: + subject: Design freeze + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Construction phase + children: + item_0: + subject: Start constructing + description: |- + ## Goal + + * Ground breaking ceremony + * Setting up the construction site + * ... + + ## Description + + * Preparing the site for the project + * Get the team together + * ... + item_1: + subject: Foundation + description: |- + ## Goal + + * Laying of the foundation stone + * ... + + ## Description + + * Setting up the concrete mixer + * Setting up the supply chain for the concrete + * ... + item_2: + subject: Building construction + description: |- + ## Goal + + * Topping out ceremony + * Walls and ceilings are done + * ... + + ## Description + + * Creating all structural levels of the building + * Installing doors and windows + * Finishing the roof structure + * ... + item_3: + subject: Finishing the facade + description: |- + ## Goal + + * Facade is done + * Whole building is waterproof + * ... + + ## Description + + * Install all elements for the facade + * Finish the roof + * ... + item_4: + subject: Installing the building service systems + description: |- + ## Goal + + * All building service systems are ready to be used + + ## Description + + * Installing the heating system + * Installing the climate system + * Electrical installation + * ... + item_5: + subject: Final touches + description: |- + ## Goal + + * Handover of the keys + * The customer is happy with his building + * ... + + ## Description + + * Finishing the installation of the building service systems + * Finishing the interior construction + * Finishing the facade + * ... + item_6: + subject: House warming party + description: |- + ## Goal + + * Have a blast! + + ## Description + + * Invite the construction team + * Invite your friends + * Bring some drinks, snacks and your smile + demo-bim-project: + name: "(Demo) BIM project" + status_explanation: All tasks and sub-projects are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BIM project. + news: + item_0: + title: Welcome to your demo project + summary: | + We are glad you joined. + In this module you can communicate project news to your team members. + description: The actual news + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: Project plan + item_1: + name: Milestones + item_2: + name: Tasks + item_3: + name: Team planner + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: 開始 + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project offers roles, workflows and work packages that are specialized for BIM. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bim-project/members) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the work in your projects:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 5. _Create a new work package:_ → Go to [Work packages → Create]({{opSetting:base_url}}/projects/demo-bim-project/work_packages/new?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22bcfIssueAssociated%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%22f%22%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D&type=11). + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22assignee%22%2C%22responsible%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22list%22%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/demo-bim-project/settings/modules). + 8. _Check out the tile view to get an overview of your BCF issues:_ → Go to [Work packages]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22priority%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) + 9. _Working agile? Create a new board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bim-project/boards) + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: 成員 + item_5: + options: + name: 工作項目 + item_6: + options: + name: Milestones + work_packages: + item_0: + subject: Project kick off creating BIM model + description: |- + The project Kickoff initializes the start of the project in your company. The whole project team should be invited to the Kickoff for a first briefing. + + The next step could be to check out the timetable and adjusting the appointments, by looking at the [Gantt chart]({{opSetting:base_url}}/projects/demo-bim-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22weeks%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D). + item_1: + subject: Project preparation + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Gathering the project specific data and information for the BIM model + description: |- + ## Goal + + * Identify the information strategy for the customer (e.g. by using plain language questions) + * If provided, analyze the customer information requirements for the BIM model + * Define an information delivery strategy according to the customers needs + + ## Description + + * Analyzing the customers needs and goals for using the BIM methodology + * Results of this tasks should be: + * The requirements for the project + * A strategy for the delivery phase + * ... + item_1: + subject: Creating the BIM execution plan + description: |- + # Goal + + * A BIM execution plan will be defined according to the exchange requirements specifications (ERS) + * All team members and partners have a plan on how to reach each of the project goals + + # Description + + * Depending on the identifies use cases, the individual Information Delivery Manuals will be defined + * To handle the technological interfaces, a software topology will be defined and analyzed and verified + * ... + item_2: + subject: Completion of the BIM execution plan + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_2: + subject: End of preparation phase + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_3: + subject: Creating initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Modelling initial BIM model + description: |- + # Goal + + * Modelling the initial BIM model + * Creating a BIM model for the whole project team + + # Description + + * According to the gathered data from the customer, the initial model will be modelled + * The model shall be modelled according to the LOD Matrices and contain the information needed + * ... + item_1: + subject: Initial, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised + * ... + item_2: + subject: Submitting initial BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_4: + subject: Modelling, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Referencing external BIM models + description: |- + # Goal + + * Having a foundation for developing the internal model/ offering answers + * Using the external model to develop the internal model + + # Description + + * The external model will be referenced in the BIM platform, thus used for modelling the internal model + * ... + item_1: + subject: Modelling the BIM model + description: |- + # Goal + + * Creating a BIM model for the project + * Creating a BIM model for the whole project team + + # Description + + * The model will be created according to the BIM execution plan + * ... + item_2: + subject: First Cycle, internal model check and revising + description: |- + # Goal + + * Submitting a BIM model according to the defined standards + + # Description + + * The model shall be checked, according to the defined standards (conventions, LOD, ...) and revised. + * ... + item_3: + subject: Submitting BIM model + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_5: + subject: Coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + children: + item_0: + subject: Coordinate the different BIM models + description: |- + # Goal + + * Assemble the different BIM models of the whole project team + * Coordinate the identified issues + + # Description + + * The different BIM models will be assembled and checked + * The identified model specific issues will be communicated via BCF files + * ... + item_1: + subject: Issue management, first cycle + item_2: + subject: Finishing coordination, first cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_6: + subject: Modelling & coordinating, second cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_7: + subject: Modelling & coordinating, ... cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_8: + subject: Modelling & coordinating, (n-th minus 1) cycle + description: "## Goal\\r\n\\r\n* ...\\r\n\\r\n## Description\\r\n\\r\n* \\ ..." + item_9: + subject: Modelling & coordinating n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_10: + subject: Finishing modelling & coordinating, n-th cycle + description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. + item_11: + subject: Use model for construction phase + children: + item_0: + subject: Handover model for construction crew + description: |- + ## Goal + + * Everyone knows the model and their tasks + * Everybody gets all the relevant information, model based + * ... + + ## Description + + * The Kickoff on the construction site includes an introduction to the model + * All the objects should have the information needed for the assigned tasks. If not, data enrichment of the model needs to be done + * ... + item_1: + subject: Construct the building + description: |- + ## Goal + + * New issues realized on construction site will be handled model based + * Issues will be documented by using the BCF files and the BIM model + + ## Description + + * New issues will be documented using BCF files as sticky notes for the model + * The BCF files will be used to assign, track and correct issues + * ... + item_2: + subject: Finish construction + item_12: + subject: Issue management, construction phase + item_13: + subject: Handover for Facility Management + description: |- + ## Goal + + * The BIM model will be used for the Facility Management + * The model provides all the relevant information for commissioning and operating the building + * ... + + ## Description + + * The model contains the relevant information for the facility manager + * The model can be used for the operating system of the building + * ... + item_14: + subject: Asset Management + description: Enjoy your building :) + demo-bcf-management-project: + name: "(Demo) BCF management" + status_explanation: All tasks are on schedule. The people involved know their tasks. The system is completely set up. + description: This is a short summary of the goals of this demo BCF management project. + ifc_models: + item_0: + name: Hospital - Architecture (cc-by-sa-3.0 Autodesk Inc.) + item_1: + name: Hospital - Structural (cc-by-sa-3.0 Autodesk Inc.) + item_2: + name: Hospital - Mechanical (cc-by-sa-3.0 Autodesk Inc.) + categories: + item_0: Category 1 (to be changed in Project settings) + queries: + item_0: + name: 問題集 + item_1: + name: Clashes + item_2: + name: Requests + item_3: + name: Remarks + item_4: + name: Project plan + item_5: + name: Milestones + item_6: + name: Tasks + item_7: + name: Team planner + boards: + bcf: + name: BCF issues + project-overview: + widgets: + item_0: + options: + name: Welcome + item_1: + options: + name: 開始 + text: | + We are glad you joined! We suggest to try a few things to get started in OpenProject. + + This demo project shows BCF management functionalities. + + _Try the following steps:_ + + 1. _Invite new members to your project:_ → Go to [Members]({{opSetting:base_url}}/projects/demo-bcf-management-project/members?show_add_members=true) in the project navigation. + 2. _Upload and view 3D-models in IFC format:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) in the project navigation. + 3. _Create and manage BCF issues linked directly in the IFC model:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bim-project/bcf) → Create. + 4. _View the BCF files in your project:_ → Go to [BCF]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22type%22%2C%22id%22%2C%22subject%22%2C%22status%22%2C%22assignee%22%2C%22priority%22%5D%2C%22hl%22%3A%22status%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22id%3Aasc%22%2C%22f%22%3A%5B%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%2C%22dr%22%3A%22card%22%7D) in the project navigation. + 5. _Load your BCF files:_ → Go to [BCF → Import.]({{opSetting:base_url}}/projects/demo-bcf-management-project/issues/upload) + 6. _Create and update a Gantt chart:_ → Go to [Gantt chart]({{opSetting:base_url}}/projects/demo-bcf-management-project/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22startDate%22%2C%22dueDate%22%5D%2C%22tv%22%3Atrue%2C%22tzl%22%3A%22days%22%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22startDate%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22o%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A100%7D) in the project navigation. + 7. _Activate further modules:_ → Go to [Project settings → Modules.]({{opSetting:base_url}}/projects/demo-bcf-management-project/settings/modules) + 8. _You love the agile approach? Create a board:_ → Go to [Boards]({{opSetting:base_url}}/projects/demo-bcf-management-project/boards). + + Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). + Please let us know if you have any questions or need support. Contact us: [support\[at\]openproject.com](mailto:support@openproject.com). + item_4: + options: + name: 成員 + item_5: + options: + name: 工作項目 diff --git a/modules/boards/config/locales/crowdin/af.seeders.yml b/modules/boards/config/locales/crowdin/af.seeders.yml new file mode 100644 index 000000000000..404ec3b0e721 --- /dev/null +++ b/modules/boards/config/locales/crowdin/af.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +af: diff --git a/modules/boards/config/locales/crowdin/ar.seeders.yml b/modules/boards/config/locales/crowdin/ar.seeders.yml new file mode 100644 index 000000000000..b28f89f2cb5b --- /dev/null +++ b/modules/boards/config/locales/crowdin/ar.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ar: diff --git a/modules/boards/config/locales/crowdin/ar.yml b/modules/boards/config/locales/crowdin/ar.yml index fb047d7770df..f451a91c40ec 100644 --- a/modules/boards/config/locales/crowdin/ar.yml +++ b/modules/boards/config/locales/crowdin/ar.yml @@ -14,5 +14,5 @@ ar: status: الحالة version: الإصدار subproject: مشروع فرعي - subtasks: Parent-child + subtasks: الاصل والفرع basic: Basic diff --git a/modules/boards/config/locales/crowdin/az.seeders.yml b/modules/boards/config/locales/crowdin/az.seeders.yml new file mode 100644 index 000000000000..1b0029af2b58 --- /dev/null +++ b/modules/boards/config/locales/crowdin/az.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +az: diff --git a/modules/boards/config/locales/crowdin/be.seeders.yml b/modules/boards/config/locales/crowdin/be.seeders.yml new file mode 100644 index 000000000000..e6ffe0837d32 --- /dev/null +++ b/modules/boards/config/locales/crowdin/be.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +be: diff --git a/modules/boards/config/locales/crowdin/bg.seeders.yml b/modules/boards/config/locales/crowdin/bg.seeders.yml new file mode 100644 index 000000000000..09f34541a0b0 --- /dev/null +++ b/modules/boards/config/locales/crowdin/bg.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +bg: diff --git a/modules/boards/config/locales/crowdin/ca.seeders.yml b/modules/boards/config/locales/crowdin/ca.seeders.yml new file mode 100644 index 000000000000..ed391e19db9f --- /dev/null +++ b/modules/boards/config/locales/crowdin/ca.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ca: diff --git a/modules/boards/config/locales/crowdin/ckb-IR.seeders.yml b/modules/boards/config/locales/crowdin/ckb-IR.seeders.yml new file mode 100644 index 000000000000..291a31e918e1 --- /dev/null +++ b/modules/boards/config/locales/crowdin/ckb-IR.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ckb-IR: diff --git a/modules/boards/config/locales/crowdin/cs.seeders.yml b/modules/boards/config/locales/crowdin/cs.seeders.yml new file mode 100644 index 000000000000..19623e4a8f19 --- /dev/null +++ b/modules/boards/config/locales/crowdin/cs.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +cs: diff --git a/modules/boards/config/locales/crowdin/da.seeders.yml b/modules/boards/config/locales/crowdin/da.seeders.yml new file mode 100644 index 000000000000..b512ce84dc4a --- /dev/null +++ b/modules/boards/config/locales/crowdin/da.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +da: diff --git a/modules/boards/config/locales/crowdin/de.seeders.yml b/modules/boards/config/locales/crowdin/de.seeders.yml new file mode 100644 index 000000000000..06d1faeb177e --- /dev/null +++ b/modules/boards/config/locales/crowdin/de.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +de: diff --git a/modules/boards/config/locales/crowdin/el.seeders.yml b/modules/boards/config/locales/crowdin/el.seeders.yml new file mode 100644 index 000000000000..406f34acd1c5 --- /dev/null +++ b/modules/boards/config/locales/crowdin/el.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +el: diff --git a/modules/boards/config/locales/crowdin/eo.seeders.yml b/modules/boards/config/locales/crowdin/eo.seeders.yml new file mode 100644 index 000000000000..8d2f1ab1d12f --- /dev/null +++ b/modules/boards/config/locales/crowdin/eo.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +eo: diff --git a/modules/boards/config/locales/crowdin/es.seeders.yml b/modules/boards/config/locales/crowdin/es.seeders.yml new file mode 100644 index 000000000000..5f240dbc5897 --- /dev/null +++ b/modules/boards/config/locales/crowdin/es.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +es: diff --git a/modules/boards/config/locales/crowdin/et.seeders.yml b/modules/boards/config/locales/crowdin/et.seeders.yml new file mode 100644 index 000000000000..9aa4b454f5ad --- /dev/null +++ b/modules/boards/config/locales/crowdin/et.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +et: diff --git a/modules/boards/config/locales/crowdin/eu.seeders.yml b/modules/boards/config/locales/crowdin/eu.seeders.yml new file mode 100644 index 000000000000..5ee67f43179e --- /dev/null +++ b/modules/boards/config/locales/crowdin/eu.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +eu: diff --git a/modules/boards/config/locales/crowdin/fa.seeders.yml b/modules/boards/config/locales/crowdin/fa.seeders.yml new file mode 100644 index 000000000000..364a8a0f3a29 --- /dev/null +++ b/modules/boards/config/locales/crowdin/fa.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +fa: diff --git a/modules/boards/config/locales/crowdin/fi.seeders.yml b/modules/boards/config/locales/crowdin/fi.seeders.yml new file mode 100644 index 000000000000..7eee9b4ee38b --- /dev/null +++ b/modules/boards/config/locales/crowdin/fi.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +fi: diff --git a/modules/boards/config/locales/crowdin/fil.seeders.yml b/modules/boards/config/locales/crowdin/fil.seeders.yml new file mode 100644 index 000000000000..a6583cf82e8c --- /dev/null +++ b/modules/boards/config/locales/crowdin/fil.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +fil: diff --git a/modules/boards/config/locales/crowdin/fr.seeders.yml b/modules/boards/config/locales/crowdin/fr.seeders.yml new file mode 100644 index 000000000000..c430071d0156 --- /dev/null +++ b/modules/boards/config/locales/crowdin/fr.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +fr: diff --git a/modules/boards/config/locales/crowdin/he.seeders.yml b/modules/boards/config/locales/crowdin/he.seeders.yml new file mode 100644 index 000000000000..561533e5fa20 --- /dev/null +++ b/modules/boards/config/locales/crowdin/he.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +he: diff --git a/modules/boards/config/locales/crowdin/hi.seeders.yml b/modules/boards/config/locales/crowdin/hi.seeders.yml new file mode 100644 index 000000000000..ce4102a3dbb2 --- /dev/null +++ b/modules/boards/config/locales/crowdin/hi.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +hi: diff --git a/modules/boards/config/locales/crowdin/hr.seeders.yml b/modules/boards/config/locales/crowdin/hr.seeders.yml new file mode 100644 index 000000000000..dffc025ebdaf --- /dev/null +++ b/modules/boards/config/locales/crowdin/hr.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +hr: diff --git a/modules/boards/config/locales/crowdin/hu.seeders.yml b/modules/boards/config/locales/crowdin/hu.seeders.yml new file mode 100644 index 000000000000..5423d67dccdc --- /dev/null +++ b/modules/boards/config/locales/crowdin/hu.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +hu: diff --git a/modules/boards/config/locales/crowdin/id.seeders.yml b/modules/boards/config/locales/crowdin/id.seeders.yml new file mode 100644 index 000000000000..f9616ad9a10d --- /dev/null +++ b/modules/boards/config/locales/crowdin/id.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +id: diff --git a/modules/boards/config/locales/crowdin/it.seeders.yml b/modules/boards/config/locales/crowdin/it.seeders.yml new file mode 100644 index 000000000000..2804b04ce968 --- /dev/null +++ b/modules/boards/config/locales/crowdin/it.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +it: diff --git a/modules/boards/config/locales/crowdin/ja.seeders.yml b/modules/boards/config/locales/crowdin/ja.seeders.yml new file mode 100644 index 000000000000..5b311051a46b --- /dev/null +++ b/modules/boards/config/locales/crowdin/ja.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ja: diff --git a/modules/boards/config/locales/crowdin/js-id.yml b/modules/boards/config/locales/crowdin/js-id.yml index 4e42399e82b3..d89bb4203b55 100644 --- a/modules/boards/config/locales/crowdin/js-id.yml +++ b/modules/boards/config/locales/crowdin/js-id.yml @@ -63,7 +63,7 @@ id: version: Versi subproject: Sub-Project subtasks: Parent-child - basic: Basic + basic: Dasar select_attribute: "Aksi atribut" add_list_modal: labels: diff --git a/modules/boards/config/locales/crowdin/js-zh-TW.yml b/modules/boards/config/locales/crowdin/js-zh-TW.yml index fab513d86331..1e34843280d2 100644 --- a/modules/boards/config/locales/crowdin/js-zh-TW.yml +++ b/modules/boards/config/locales/crowdin/js-zh-TW.yml @@ -27,9 +27,9 @@ zh-TW: add_card: '新增卡片' error_attribute_not_writable: "無法移動該工作項目, %{attribute} 不可寫入" error_loading_the_list: "列表讀取錯誤: %{error_message}" - error_permission_missing: "The permission to create public queries is missing" + error_permission_missing: "缺少建立公開查詢的權限" error_cannot_move_into_self: "不可將任務移至自己的欄位" - text_hidden_list_warning: "Not all lists are displayed because you lack the permission. Contact your admin for more information." + text_hidden_list_warning: "因權限限制,清單無法全部顯示,請聯絡管理員。" click_to_remove_list: "移除列表" board_type: text: '看板類型' @@ -56,7 +56,7 @@ zh-TW: status: 狀態 version: 版本 subproject: 子專案 - subtasks: parent-child + subtasks: 父-子 board_type_title: assignee: 負責執行者 status: 狀態 @@ -64,7 +64,7 @@ zh-TW: subproject: 子專案 subtasks: Parent-child basic: 基本 - select_attribute: "Action attribute" + select_attribute: "動作屬性" add_list_modal: labels: assignee: 選擇使用者至新的指派列表 @@ -74,13 +74,12 @@ zh-TW: subtasks: 依選擇任務新增清單 warning: status: | - There is currently no status available.
    - Either there are none or they have all already been added to the board. - assignee: There isn't any member matched with your filter value.
    - no_member: This project currently does not have any members that can be added.
    - add_members: Add a new member to this project to select users again. + 目前無可用狀態 + assignee: 沒有任何符合您設定篩選值的人員 + no_member: 此專案目前沒有任何可以加入的人員 + add_members: 新增人員至此專案 來再次選擇使用者。 configuration_modal: - title: 'Configure this board' + title: '設定此看板' display_settings: - card_mode: "Display as cards" - table_mode: "Display as table" + card_mode: "顯示為卡片" + table_mode: "顯示為預覽圖" diff --git a/modules/boards/config/locales/crowdin/ka.seeders.yml b/modules/boards/config/locales/crowdin/ka.seeders.yml new file mode 100644 index 000000000000..657f00d016f8 --- /dev/null +++ b/modules/boards/config/locales/crowdin/ka.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ka: diff --git a/modules/boards/config/locales/crowdin/ko.seeders.yml b/modules/boards/config/locales/crowdin/ko.seeders.yml new file mode 100644 index 000000000000..0c6415957da4 --- /dev/null +++ b/modules/boards/config/locales/crowdin/ko.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ko: diff --git a/modules/boards/config/locales/crowdin/lol.seeders.yml b/modules/boards/config/locales/crowdin/lol.seeders.yml new file mode 100644 index 000000000000..84a9b1b571a3 --- /dev/null +++ b/modules/boards/config/locales/crowdin/lol.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +lol: crwdns858121:0crwdne858121:0 diff --git a/modules/boards/config/locales/crowdin/lt.seeders.yml b/modules/boards/config/locales/crowdin/lt.seeders.yml new file mode 100644 index 000000000000..42b4373aa838 --- /dev/null +++ b/modules/boards/config/locales/crowdin/lt.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +lt: diff --git a/modules/boards/config/locales/crowdin/lv.seeders.yml b/modules/boards/config/locales/crowdin/lv.seeders.yml new file mode 100644 index 000000000000..16ae44d1ae70 --- /dev/null +++ b/modules/boards/config/locales/crowdin/lv.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +lv: diff --git a/modules/boards/config/locales/crowdin/mn.seeders.yml b/modules/boards/config/locales/crowdin/mn.seeders.yml new file mode 100644 index 000000000000..646d14890071 --- /dev/null +++ b/modules/boards/config/locales/crowdin/mn.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +mn: diff --git a/modules/boards/config/locales/crowdin/ne.seeders.yml b/modules/boards/config/locales/crowdin/ne.seeders.yml new file mode 100644 index 000000000000..f30ae0d868fb --- /dev/null +++ b/modules/boards/config/locales/crowdin/ne.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ne: diff --git a/modules/boards/config/locales/crowdin/nl.seeders.yml b/modules/boards/config/locales/crowdin/nl.seeders.yml new file mode 100644 index 000000000000..aed55115aa9f --- /dev/null +++ b/modules/boards/config/locales/crowdin/nl.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +nl: diff --git a/modules/boards/config/locales/crowdin/no.seeders.yml b/modules/boards/config/locales/crowdin/no.seeders.yml new file mode 100644 index 000000000000..42e1f60da3d6 --- /dev/null +++ b/modules/boards/config/locales/crowdin/no.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +"no": diff --git a/modules/boards/config/locales/crowdin/pl.seeders.yml b/modules/boards/config/locales/crowdin/pl.seeders.yml new file mode 100644 index 000000000000..9d636c80589c --- /dev/null +++ b/modules/boards/config/locales/crowdin/pl.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +pl: diff --git a/modules/boards/config/locales/crowdin/pt.seeders.yml b/modules/boards/config/locales/crowdin/pt.seeders.yml new file mode 100644 index 000000000000..e4bdb243507c --- /dev/null +++ b/modules/boards/config/locales/crowdin/pt.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +pt: diff --git a/modules/boards/config/locales/crowdin/ro.seeders.yml b/modules/boards/config/locales/crowdin/ro.seeders.yml new file mode 100644 index 000000000000..8b99d0329242 --- /dev/null +++ b/modules/boards/config/locales/crowdin/ro.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ro: diff --git a/modules/boards/config/locales/crowdin/ru.seeders.yml b/modules/boards/config/locales/crowdin/ru.seeders.yml new file mode 100644 index 000000000000..ec95252d6baf --- /dev/null +++ b/modules/boards/config/locales/crowdin/ru.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +ru: diff --git a/modules/boards/config/locales/crowdin/rw.seeders.yml b/modules/boards/config/locales/crowdin/rw.seeders.yml new file mode 100644 index 000000000000..abf0057b582b --- /dev/null +++ b/modules/boards/config/locales/crowdin/rw.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +rw: diff --git a/modules/boards/config/locales/crowdin/si.seeders.yml b/modules/boards/config/locales/crowdin/si.seeders.yml new file mode 100644 index 000000000000..d63f508786b1 --- /dev/null +++ b/modules/boards/config/locales/crowdin/si.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +si: diff --git a/modules/boards/config/locales/crowdin/sk.seeders.yml b/modules/boards/config/locales/crowdin/sk.seeders.yml new file mode 100644 index 000000000000..2af33c9afeb3 --- /dev/null +++ b/modules/boards/config/locales/crowdin/sk.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +sk: diff --git a/modules/boards/config/locales/crowdin/sl.seeders.yml b/modules/boards/config/locales/crowdin/sl.seeders.yml new file mode 100644 index 000000000000..c13c39fe726d --- /dev/null +++ b/modules/boards/config/locales/crowdin/sl.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +sl: diff --git a/modules/boards/config/locales/crowdin/sr.seeders.yml b/modules/boards/config/locales/crowdin/sr.seeders.yml new file mode 100644 index 000000000000..0c1f62c4c8c8 --- /dev/null +++ b/modules/boards/config/locales/crowdin/sr.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +sr: diff --git a/modules/boards/config/locales/crowdin/sv.seeders.yml b/modules/boards/config/locales/crowdin/sv.seeders.yml new file mode 100644 index 000000000000..d3913d0b7744 --- /dev/null +++ b/modules/boards/config/locales/crowdin/sv.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +sv: diff --git a/modules/boards/config/locales/crowdin/th.seeders.yml b/modules/boards/config/locales/crowdin/th.seeders.yml new file mode 100644 index 000000000000..236850c9e685 --- /dev/null +++ b/modules/boards/config/locales/crowdin/th.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +th: diff --git a/modules/boards/config/locales/crowdin/tr.seeders.yml b/modules/boards/config/locales/crowdin/tr.seeders.yml new file mode 100644 index 000000000000..f648ea63b44e --- /dev/null +++ b/modules/boards/config/locales/crowdin/tr.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +tr: diff --git a/modules/boards/config/locales/crowdin/uk.seeders.yml b/modules/boards/config/locales/crowdin/uk.seeders.yml new file mode 100644 index 000000000000..2b38e07f2d08 --- /dev/null +++ b/modules/boards/config/locales/crowdin/uk.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +uk: diff --git a/modules/boards/config/locales/crowdin/vi.seeders.yml b/modules/boards/config/locales/crowdin/vi.seeders.yml new file mode 100644 index 000000000000..eca4074811a6 --- /dev/null +++ b/modules/boards/config/locales/crowdin/vi.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +vi: diff --git a/modules/boards/config/locales/crowdin/zh-TW.seeders.yml b/modules/boards/config/locales/crowdin/zh-TW.seeders.yml new file mode 100644 index 000000000000..2e4c9956c73e --- /dev/null +++ b/modules/boards/config/locales/crowdin/zh-TW.seeders.yml @@ -0,0 +1,8 @@ +#This file has been generated by script/i18n/generate_seeders_i18n_source_file. +#Please do not edit directly. +#This file is part of the sources sent to crowdin for translation. +#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files +#located in the modules directories are needed to have crowdin cli correctly +#compute the path to the uploaded source file. +#This file does not contain any i18n strings. +zh-TW: diff --git a/modules/boards/config/locales/crowdin/zh-TW.yml b/modules/boards/config/locales/crowdin/zh-TW.yml index c9d11d0978ea..402471b95ca0 100644 --- a/modules/boards/config/locales/crowdin/zh-TW.yml +++ b/modules/boards/config/locales/crowdin/zh-TW.yml @@ -8,7 +8,7 @@ zh-TW: label_boards: "看板" board_types: free: 基本 - action: "Action board (%{attribute})" + action: "行動項看板 (%{attribute})" board_type_attributes: assignee: 負責執行者 status: 狀態 diff --git a/modules/budgets/config/locales/crowdin/ka.yml b/modules/budgets/config/locales/crowdin/ka.yml index 1e904171eaff..738bf4c80bc8 100644 --- a/modules/budgets/config/locales/crowdin/ka.yml +++ b/modules/budgets/config/locales/crowdin/ka.yml @@ -29,7 +29,7 @@ ka: budget_ratio: "Spent (ratio)" description: "Description" spent: "Spent" - status: "Status" + status: "სტატუსი" subject: "Subject" type: "Cost type" labor_budget: "Planned labor costs" diff --git a/modules/calendar/config/locales/crowdin/af.yml b/modules/calendar/config/locales/crowdin/af.yml index 95876fd71b8b..a5545d3d0e4e 100644 --- a/modules/calendar/config/locales/crowdin/af.yml +++ b/modules/calendar/config/locales/crowdin/af.yml @@ -4,4 +4,4 @@ af: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalender" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/ar.yml b/modules/calendar/config/locales/crowdin/ar.yml index 56318bd121dc..a728a70a2367 100644 --- a/modules/calendar/config/locales/crowdin/ar.yml +++ b/modules/calendar/config/locales/crowdin/ar.yml @@ -4,4 +4,4 @@ ar: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "التقويم" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/az.yml b/modules/calendar/config/locales/crowdin/az.yml index 98c5d6ce4628..0bddb2522b73 100644 --- a/modules/calendar/config/locales/crowdin/az.yml +++ b/modules/calendar/config/locales/crowdin/az.yml @@ -4,4 +4,4 @@ az: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/be.yml b/modules/calendar/config/locales/crowdin/be.yml index 03e2b435446d..88a9b5e3bab0 100644 --- a/modules/calendar/config/locales/crowdin/be.yml +++ b/modules/calendar/config/locales/crowdin/be.yml @@ -4,4 +4,4 @@ be: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/bg.yml b/modules/calendar/config/locales/crowdin/bg.yml index 04839df20ca5..706ecf8ccd84 100644 --- a/modules/calendar/config/locales/crowdin/bg.yml +++ b/modules/calendar/config/locales/crowdin/bg.yml @@ -4,4 +4,4 @@ bg: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Календар" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/ca.yml b/modules/calendar/config/locales/crowdin/ca.yml index 441f14ba73ed..8cf46342d087 100644 --- a/modules/calendar/config/locales/crowdin/ca.yml +++ b/modules/calendar/config/locales/crowdin/ca.yml @@ -4,4 +4,4 @@ ca: permission_view_calendar: "Mostrar calendaris" permission_manage_calendars: "Administrar calendaris" permission_share_calendars: "Subscripció via iCalendar" - project_module_calendar_view: "Calendari" + project_module_calendar_view: "Calendaris" diff --git a/modules/calendar/config/locales/crowdin/ckb-IR.yml b/modules/calendar/config/locales/crowdin/ckb-IR.yml index d52c97e0c0a9..91fbedbad2f6 100644 --- a/modules/calendar/config/locales/crowdin/ckb-IR.yml +++ b/modules/calendar/config/locales/crowdin/ckb-IR.yml @@ -4,4 +4,4 @@ ckb-IR: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/cs.yml b/modules/calendar/config/locales/crowdin/cs.yml index 91b7e8710821..0c1201ee2ba0 100644 --- a/modules/calendar/config/locales/crowdin/cs.yml +++ b/modules/calendar/config/locales/crowdin/cs.yml @@ -4,4 +4,4 @@ cs: permission_view_calendar: "Zobrazit kalendáře" permission_manage_calendars: "Správa kalendářů" permission_share_calendars: "Přihlásit se k odběru iCalendars" - project_module_calendar_view: "Kalendář" + project_module_calendar_view: "Kalendáře" diff --git a/modules/calendar/config/locales/crowdin/da.yml b/modules/calendar/config/locales/crowdin/da.yml index 3a62a4a32992..b1aa900ce796 100644 --- a/modules/calendar/config/locales/crowdin/da.yml +++ b/modules/calendar/config/locales/crowdin/da.yml @@ -4,4 +4,4 @@ da: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalender" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/el.yml b/modules/calendar/config/locales/crowdin/el.yml index f265689f5ddb..08554eb0db66 100644 --- a/modules/calendar/config/locales/crowdin/el.yml +++ b/modules/calendar/config/locales/crowdin/el.yml @@ -4,4 +4,4 @@ el: permission_view_calendar: "Προβολή ημερολογίων" permission_manage_calendars: "Διαχείριση ημερολογίων" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Ημερολόγιο" + project_module_calendar_view: "Ημερολόγια" diff --git a/modules/calendar/config/locales/crowdin/eo.yml b/modules/calendar/config/locales/crowdin/eo.yml index 7cb56603f97a..9503dfea1895 100644 --- a/modules/calendar/config/locales/crowdin/eo.yml +++ b/modules/calendar/config/locales/crowdin/eo.yml @@ -4,4 +4,4 @@ eo: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalendaro" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/es.yml b/modules/calendar/config/locales/crowdin/es.yml index 50a4859d77e3..2a00daebc474 100644 --- a/modules/calendar/config/locales/crowdin/es.yml +++ b/modules/calendar/config/locales/crowdin/es.yml @@ -4,4 +4,4 @@ es: permission_view_calendar: "Ver calendarios" permission_manage_calendars: "Administrar calendarios" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendario" + project_module_calendar_view: "Calendarios" diff --git a/modules/calendar/config/locales/crowdin/et.yml b/modules/calendar/config/locales/crowdin/et.yml index e10aa5ee7d4a..35546364f3c6 100644 --- a/modules/calendar/config/locales/crowdin/et.yml +++ b/modules/calendar/config/locales/crowdin/et.yml @@ -4,4 +4,4 @@ et: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalender" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/eu.yml b/modules/calendar/config/locales/crowdin/eu.yml index 184fa58e48cd..3f5da355e7e8 100644 --- a/modules/calendar/config/locales/crowdin/eu.yml +++ b/modules/calendar/config/locales/crowdin/eu.yml @@ -4,4 +4,4 @@ eu: permission_view_calendar: "Ikusi egutegiak" permission_manage_calendars: "Kudeatu egutegiak" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Egutegia" + project_module_calendar_view: "Egutegiak" diff --git a/modules/calendar/config/locales/crowdin/fa.yml b/modules/calendar/config/locales/crowdin/fa.yml index 8988cf98d6a8..ab6243b5006a 100644 --- a/modules/calendar/config/locales/crowdin/fa.yml +++ b/modules/calendar/config/locales/crowdin/fa.yml @@ -4,4 +4,4 @@ fa: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/fi.yml b/modules/calendar/config/locales/crowdin/fi.yml index b34b693f9d41..8b8bb312e077 100644 --- a/modules/calendar/config/locales/crowdin/fi.yml +++ b/modules/calendar/config/locales/crowdin/fi.yml @@ -4,4 +4,4 @@ fi: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalenteri" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/fil.yml b/modules/calendar/config/locales/crowdin/fil.yml index 5898830bb59a..31a7f54ea62f 100644 --- a/modules/calendar/config/locales/crowdin/fil.yml +++ b/modules/calendar/config/locales/crowdin/fil.yml @@ -4,4 +4,4 @@ fil: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalendaryo" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/fr.yml b/modules/calendar/config/locales/crowdin/fr.yml index 918047bcdcd5..c0e1571d524a 100644 --- a/modules/calendar/config/locales/crowdin/fr.yml +++ b/modules/calendar/config/locales/crowdin/fr.yml @@ -4,4 +4,4 @@ fr: permission_view_calendar: "Voir les calendriers" permission_manage_calendars: "Gérer les calendriers" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendrier" + project_module_calendar_view: "Calendriers" diff --git a/modules/calendar/config/locales/crowdin/he.yml b/modules/calendar/config/locales/crowdin/he.yml index e4f4cedc4b70..a87b0da03174 100644 --- a/modules/calendar/config/locales/crowdin/he.yml +++ b/modules/calendar/config/locales/crowdin/he.yml @@ -4,4 +4,4 @@ he: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "לוח שנה" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/hi.yml b/modules/calendar/config/locales/crowdin/hi.yml index 0374665f2ec2..9816ae057e5d 100644 --- a/modules/calendar/config/locales/crowdin/hi.yml +++ b/modules/calendar/config/locales/crowdin/hi.yml @@ -4,4 +4,4 @@ hi: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "कैलेंडर" + project_module_calendar_view: "पंचांग" diff --git a/modules/calendar/config/locales/crowdin/hr.yml b/modules/calendar/config/locales/crowdin/hr.yml index 7d986b6be363..1a9b40f83476 100644 --- a/modules/calendar/config/locales/crowdin/hr.yml +++ b/modules/calendar/config/locales/crowdin/hr.yml @@ -4,4 +4,4 @@ hr: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/hu.yml b/modules/calendar/config/locales/crowdin/hu.yml index 486397af9d55..61b39c850a4e 100644 --- a/modules/calendar/config/locales/crowdin/hu.yml +++ b/modules/calendar/config/locales/crowdin/hu.yml @@ -4,4 +4,4 @@ hu: permission_view_calendar: "Naptárak megtekintése" permission_manage_calendars: "Naptárak kezelése" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Naptár" + project_module_calendar_view: "Naptárak" diff --git a/modules/calendar/config/locales/crowdin/it.yml b/modules/calendar/config/locales/crowdin/it.yml index 2603aa2f2fd0..d3fe54f659ad 100644 --- a/modules/calendar/config/locales/crowdin/it.yml +++ b/modules/calendar/config/locales/crowdin/it.yml @@ -4,4 +4,4 @@ it: permission_view_calendar: "Visualizza calendari" permission_manage_calendars: "Gestisci calendari" permission_share_calendars: "Iscriviti a iCalendars" - project_module_calendar_view: "Calendario" + project_module_calendar_view: "Calendari" diff --git a/modules/calendar/config/locales/crowdin/ja.yml b/modules/calendar/config/locales/crowdin/ja.yml index 3b33aa7700dd..899d3cbd6657 100644 --- a/modules/calendar/config/locales/crowdin/ja.yml +++ b/modules/calendar/config/locales/crowdin/ja.yml @@ -3,5 +3,5 @@ ja: label_calendar_plural: "カレンダー" permission_view_calendar: "カレンダーを表示" permission_manage_calendars: "カレンダーを管理" - permission_share_calendars: "Subscribe to iCalendars" + permission_share_calendars: "iCalendarを購読" project_module_calendar_view: "カレンダー" diff --git a/modules/calendar/config/locales/crowdin/ka.yml b/modules/calendar/config/locales/crowdin/ka.yml index f71cdb9646e6..81ab7a9eeb66 100644 --- a/modules/calendar/config/locales/crowdin/ka.yml +++ b/modules/calendar/config/locales/crowdin/ka.yml @@ -4,4 +4,4 @@ ka: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/lol.yml b/modules/calendar/config/locales/crowdin/lol.yml index 054675195067..7087ea5e18fc 100644 --- a/modules/calendar/config/locales/crowdin/lol.yml +++ b/modules/calendar/config/locales/crowdin/lol.yml @@ -4,4 +4,4 @@ lol: permission_view_calendar: "crwdns808536:0crwdne808536:0" permission_manage_calendars: "crwdns761748:0crwdne761748:0" permission_share_calendars: "crwdns854557:0crwdne854557:0" - project_module_calendar_view: "crwdns588585:0crwdne588585:0" + project_module_calendar_view: "crwdns858119:0crwdne858119:0" diff --git a/modules/calendar/config/locales/crowdin/lt.yml b/modules/calendar/config/locales/crowdin/lt.yml index 21e1562775e9..43863d530cb8 100644 --- a/modules/calendar/config/locales/crowdin/lt.yml +++ b/modules/calendar/config/locales/crowdin/lt.yml @@ -4,4 +4,4 @@ lt: permission_view_calendar: "Žiūrėti kalendorius" permission_manage_calendars: "Tvarkyti kalendorius" permission_share_calendars: "Prenumeruokite iCalendar" - project_module_calendar_view: "Kalendorius" + project_module_calendar_view: "Kalendoriai" diff --git a/modules/calendar/config/locales/crowdin/lv.yml b/modules/calendar/config/locales/crowdin/lv.yml index da97575498e0..0f8daa36084d 100644 --- a/modules/calendar/config/locales/crowdin/lv.yml +++ b/modules/calendar/config/locales/crowdin/lv.yml @@ -4,4 +4,4 @@ lv: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalendārs" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/mn.yml b/modules/calendar/config/locales/crowdin/mn.yml index 3cfbbaff1cf1..3221457a7ccf 100644 --- a/modules/calendar/config/locales/crowdin/mn.yml +++ b/modules/calendar/config/locales/crowdin/mn.yml @@ -4,4 +4,4 @@ mn: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/ne.yml b/modules/calendar/config/locales/crowdin/ne.yml index 736fae3bd30a..c2a31a6fe2db 100644 --- a/modules/calendar/config/locales/crowdin/ne.yml +++ b/modules/calendar/config/locales/crowdin/ne.yml @@ -4,4 +4,4 @@ ne: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/nl.yml b/modules/calendar/config/locales/crowdin/nl.yml index 4126afb8c11a..fa1671e3db7f 100644 --- a/modules/calendar/config/locales/crowdin/nl.yml +++ b/modules/calendar/config/locales/crowdin/nl.yml @@ -4,4 +4,4 @@ nl: permission_view_calendar: "Bekijk agenda's" permission_manage_calendars: "Agenda's beheren" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Agenda" + project_module_calendar_view: "Agenda's" diff --git a/modules/calendar/config/locales/crowdin/no.yml b/modules/calendar/config/locales/crowdin/no.yml index 9663df2fab21..6b24f655b3b0 100644 --- a/modules/calendar/config/locales/crowdin/no.yml +++ b/modules/calendar/config/locales/crowdin/no.yml @@ -4,4 +4,4 @@ permission_view_calendar: "Vis kalendere" permission_manage_calendars: "Behandle kalendere" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalender" + project_module_calendar_view: "Kalendere" diff --git a/modules/calendar/config/locales/crowdin/pl.yml b/modules/calendar/config/locales/crowdin/pl.yml index 8ca8f0071272..d171f69e381f 100644 --- a/modules/calendar/config/locales/crowdin/pl.yml +++ b/modules/calendar/config/locales/crowdin/pl.yml @@ -4,4 +4,4 @@ pl: permission_view_calendar: "Wyświetl kalendarze" permission_manage_calendars: "Zarządzaj kalendarzami" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalendarz" + project_module_calendar_view: "Kalendarze" diff --git a/modules/calendar/config/locales/crowdin/pt.yml b/modules/calendar/config/locales/crowdin/pt.yml index 447f0f2aa327..b1dff72fdc0e 100644 --- a/modules/calendar/config/locales/crowdin/pt.yml +++ b/modules/calendar/config/locales/crowdin/pt.yml @@ -4,4 +4,4 @@ pt: permission_view_calendar: "Exibir Calendários" permission_manage_calendars: "Gerenciar calendários" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendário" + project_module_calendar_view: "Calendários" diff --git a/modules/calendar/config/locales/crowdin/ro.yml b/modules/calendar/config/locales/crowdin/ro.yml index c2ab5b711b61..9773cb7da77b 100644 --- a/modules/calendar/config/locales/crowdin/ro.yml +++ b/modules/calendar/config/locales/crowdin/ro.yml @@ -4,4 +4,4 @@ ro: permission_view_calendar: "Vezi calendarele" permission_manage_calendars: "Gestionare calendare" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendare" diff --git a/modules/calendar/config/locales/crowdin/ru.yml b/modules/calendar/config/locales/crowdin/ru.yml index f819953bad31..d3a718fccf2c 100644 --- a/modules/calendar/config/locales/crowdin/ru.yml +++ b/modules/calendar/config/locales/crowdin/ru.yml @@ -4,4 +4,4 @@ ru: permission_view_calendar: "Просмотр календарей" permission_manage_calendars: "Управление календарями" permission_share_calendars: "Подписаться на iCalendars" - project_module_calendar_view: "Календарь" + project_module_calendar_view: "Календари" diff --git a/modules/calendar/config/locales/crowdin/rw.yml b/modules/calendar/config/locales/crowdin/rw.yml index 02501229dbcf..251af4afa56b 100644 --- a/modules/calendar/config/locales/crowdin/rw.yml +++ b/modules/calendar/config/locales/crowdin/rw.yml @@ -4,4 +4,4 @@ rw: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/si.yml b/modules/calendar/config/locales/crowdin/si.yml index 0b28ab73f276..f13ddc6d1ba9 100644 --- a/modules/calendar/config/locales/crowdin/si.yml +++ b/modules/calendar/config/locales/crowdin/si.yml @@ -4,4 +4,4 @@ si: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "දින දර්ශනය" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/sk.yml b/modules/calendar/config/locales/crowdin/sk.yml index 49260b125a6f..e3b195462785 100644 --- a/modules/calendar/config/locales/crowdin/sk.yml +++ b/modules/calendar/config/locales/crowdin/sk.yml @@ -4,4 +4,4 @@ sk: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalendár" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/sl.yml b/modules/calendar/config/locales/crowdin/sl.yml index ecbab7d5b690..6e2ee15d6142 100644 --- a/modules/calendar/config/locales/crowdin/sl.yml +++ b/modules/calendar/config/locales/crowdin/sl.yml @@ -4,4 +4,4 @@ sl: permission_view_calendar: "Poglej koledarje" permission_manage_calendars: "Uporavljaj koledarje" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Koledar" + project_module_calendar_view: "Koledarji" diff --git a/modules/calendar/config/locales/crowdin/sr.yml b/modules/calendar/config/locales/crowdin/sr.yml index de6056635807..32532cf3fd63 100644 --- a/modules/calendar/config/locales/crowdin/sr.yml +++ b/modules/calendar/config/locales/crowdin/sr.yml @@ -4,4 +4,4 @@ sr: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Calendar" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/sv.yml b/modules/calendar/config/locales/crowdin/sv.yml index 6806b7910e8f..f69eaabb1bda 100644 --- a/modules/calendar/config/locales/crowdin/sv.yml +++ b/modules/calendar/config/locales/crowdin/sv.yml @@ -4,4 +4,4 @@ sv: permission_view_calendar: "Visa kalender" permission_manage_calendars: "Hantera kalendrar" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Kalender" + project_module_calendar_view: "Kalendrar" diff --git a/modules/calendar/config/locales/crowdin/th.yml b/modules/calendar/config/locales/crowdin/th.yml index 0cf7f7038665..2fa37c37bcbc 100644 --- a/modules/calendar/config/locales/crowdin/th.yml +++ b/modules/calendar/config/locales/crowdin/th.yml @@ -4,4 +4,4 @@ th: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "ปฏิทิน" + project_module_calendar_view: "Calendars" diff --git a/modules/calendar/config/locales/crowdin/tr.yml b/modules/calendar/config/locales/crowdin/tr.yml index c6302e5cd726..72b7c8923bfb 100644 --- a/modules/calendar/config/locales/crowdin/tr.yml +++ b/modules/calendar/config/locales/crowdin/tr.yml @@ -4,4 +4,4 @@ tr: permission_view_calendar: "Takvimleri görüntüle" permission_manage_calendars: "Takvimleri yönet" permission_share_calendars: "iCalendars'a abone olun" - project_module_calendar_view: "Takvim" + project_module_calendar_view: "Takvimler" diff --git a/modules/calendar/config/locales/crowdin/uk.yml b/modules/calendar/config/locales/crowdin/uk.yml index 855cba748e91..ca34f1d63250 100644 --- a/modules/calendar/config/locales/crowdin/uk.yml +++ b/modules/calendar/config/locales/crowdin/uk.yml @@ -4,4 +4,4 @@ uk: permission_view_calendar: "Перегляд календарів" permission_manage_calendars: "Керувати календарями" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Календар" + project_module_calendar_view: "Календарі" diff --git a/modules/calendar/config/locales/crowdin/vi.yml b/modules/calendar/config/locales/crowdin/vi.yml index f485bf56173a..e78d0e19226c 100644 --- a/modules/calendar/config/locales/crowdin/vi.yml +++ b/modules/calendar/config/locales/crowdin/vi.yml @@ -4,4 +4,4 @@ vi: permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" - project_module_calendar_view: "Lịch" + project_module_calendar_view: "Calendars" diff --git a/modules/costs/config/locales/crowdin/js-zh-TW.yml b/modules/costs/config/locales/crowdin/js-zh-TW.yml index bc5bb7b49cc2..ec2185f58ad0 100644 --- a/modules/costs/config/locales/crowdin/js-zh-TW.yml +++ b/modules/costs/config/locales/crowdin/js-zh-TW.yml @@ -23,10 +23,10 @@ zh-TW: js: work_packages: property_groups: - costs: "Costs" + costs: "費用" properties: - overallCosts: "Overall costs" - spentUnits: "Spent units" - button_log_costs: "Log unit costs" + overallCosts: "總計" + spentUnits: "支出單位" + button_log_costs: "紀錄支出單位" label_hour: "小時" label_hours: "小時" diff --git a/modules/costs/config/locales/crowdin/no.yml b/modules/costs/config/locales/crowdin/no.yml index fdb57500d700..9ddbcc149447 100644 --- a/modules/costs/config/locales/crowdin/no.yml +++ b/modules/costs/config/locales/crowdin/no.yml @@ -24,72 +24,72 @@ attributes: cost_entry: work_package: "Arbeidspakke" - overridden_costs: "Overridden costs" + overridden_costs: "Overstyrte kostnader" spent: "Brukt" spent_on: "Dato" cost_type: - unit: "Unit name" - unit_plural: "Pluralized unit name" + unit: "Enhetsnavn" + unit_plural: "Flertallsnavn på enhet" work_package: - costs_by_type: "Spent units" - labor_costs: "Labor costs" - material_costs: "Unit costs" - overall_costs: "Overall costs" - spent_costs: "Spent costs" - spent_units: "Spent units" + costs_by_type: "Brukte enheter" + labor_costs: "Arbeidskostnad" + material_costs: "Enhetskostnader" + overall_costs: "Samlede kostnader" + spent_costs: "Brukte kostnader" + spent_units: "Brukte enheter" rate: - rate: "Rate" + rate: "Sats" user: - default_rates: "Default rates" + default_rates: "Standard satser" models: cost_type: one: "Type kostnader" other: "Cost types" - rate: "Rate" + rate: "Sats" errors: models: work_package: - is_not_a_valid_target_for_cost_entries: "Work package #%{id} is not a valid target for reassigning the cost entries." - nullify_is_not_valid_for_cost_entries: "Cost entries can not be assigned to a project." + is_not_a_valid_target_for_cost_entries: "Arbeidspakke #%{id} er ikke et gyldig mål for nytildeling av kostnadsoppføringer." + nullify_is_not_valid_for_cost_entries: "Kostnadsoppføringer kan ikke tilordnes et prosjekt." attributes: comment: "Kommentar" cost_type: "Type kostnader" - costs: "Costs" - current_rate: "Current rate" + costs: "Kostnader" + current_rate: "Nåværende sats" hours: "Timer" units: "Enheter" - valid_from: "Valid from" - fixed_date: "Fixed date" - button_add_rate: "Add rate" - button_log_costs: "Log unit costs" - caption_booked_on_project: "Booked on project" + valid_from: "Gyldig fra" + fixed_date: "Fast dato" + button_add_rate: "Legg til sats" + button_log_costs: "Loggfør enhetskostnader" + caption_booked_on_project: "Bestilt i prosjektet" caption_default: "Standard" - caption_default_rate_history_for: "Default rate history for %{user}" - caption_locked_on: "Locked on" + caption_default_rate_history_for: "Standardratehistorikk for %{user}" + caption_locked_on: "Låst på" caption_materials: "Enheter" - caption_rate_history: "Rate history" - caption_rate_history_for: "Rate history for %{user}" - caption_rate_history_for_project: "Rate history for %{user} in project %{project}" - caption_save_rate: "Save rate" - caption_set_rate: "Set current rate" - caption_show_locked: "Show locked types" - description_date_for_new_rate: "Date for new rate" - group_by_others: "not in any group" + caption_rate_history: "Satshistorikk" + caption_rate_history_for: "Satshistorikk for %{user}" + caption_rate_history_for_project: "Satshistorikk for %{user} i prosjektet %{project}" + caption_save_rate: "Lagre sats" + caption_set_rate: "Angi gjeldende sats" + caption_show_locked: "Vis låste typer" + description_date_for_new_rate: "Dato for ny sats" + group_by_others: "ikke i noen grupper" label_between: "mellom" - label_cost_filter_add: "Add cost entry filter" - label_costlog: "Logged unit costs" - label_cost_plural: "Costs" - label_cost_type_plural: "Cost types" - label_cost_type_specific: "Cost type #%{id}: %{name}" #%{id}: %{name}" - label_costs_per_page: "Costs per page" - label_currency: "Currency" - label_currency_format: "Format of currency" - label_current_default_rate: "Current default rate" + label_cost_filter_add: "Legg til filter for kostnadspost" + label_costlog: "Loggførte enhetskostnader" + label_cost_plural: "Kostnader" + label_cost_type_plural: "Kostnadstyper" + label_cost_type_specific: "Kostnadstype #%{id}: %{name}" #%{id}: %{name}" + label_costs_per_page: "Kostnader per side" + label_currency: "Valuta" + label_currency_format: "Formatet på valuta" + label_current_default_rate: "Nåværende standardsats" label_date_on: "på" - label_deleted_cost_types: "Deleted cost types" - label_locked_cost_types: "Locked cost types" - label_display_cost_entries: "Display unit costs" - label_display_time_entries: "Display reported hours" + label_deleted_cost_types: "Slettede kostnadstyper" + label_locked_cost_types: "Låste kostnadstyper" + label_display_cost_entries: "Vis enhetskostnader" + label_display_time_entries: "Vis rapporterte timer" label_display_types: "Display types" label_edit: "Rediger" label_generic_user: "Generic user" diff --git a/modules/costs/config/locales/crowdin/zh-TW.yml b/modules/costs/config/locales/crowdin/zh-TW.yml index 6f93be4a75c7..be5e4cdc7985 100644 --- a/modules/costs/config/locales/crowdin/zh-TW.yml +++ b/modules/costs/config/locales/crowdin/zh-TW.yml @@ -77,8 +77,8 @@ zh-TW: label_between: "介於" label_cost_filter_add: "Add cost entry filter" label_costlog: "Logged unit costs" - label_cost_plural: "Costs" - label_cost_type_plural: "Cost types" + label_cost_plural: "費用" + label_cost_type_plural: "費用類別" label_cost_type_specific: "Cost type #%{id}: %{name}" #%{id}: %{name}" label_costs_per_page: "Costs per page" label_currency: "貨幣" @@ -100,17 +100,17 @@ zh-TW: label_work_package_filter_add: "新增工作項目篩選器" label_kind: "類型" label_less_or_equal: "<=" - label_log_costs: "Log unit costs" + label_log_costs: "紀錄支出單位" label_no: "否" label_option_plural: "選項" - label_overall_costs: "Overall costs" - label_rate: "Rate" + label_overall_costs: "總計" + label_rate: "費率" label_rate_plural: "Rates" label_status_finished: "已完成" label_units: "Cost units" label_user: "使用者" label_until: "until" - label_valid_from: "Valid from" + label_valid_from: "有效期從" label_yes: "是" notice_something_wrong: "Something went wrong. Please try again." notice_successful_restore: "Successful restore." diff --git a/modules/github_integration/config/locales/crowdin/js-ca.yml b/modules/github_integration/config/locales/crowdin/js-ca.yml index 545b18228f2e..b0d9296a0f31 100644 --- a/modules/github_integration/config/locales/crowdin/js-ca.yml +++ b/modules/github_integration/config/locales/crowdin/js-ca.yml @@ -41,12 +41,12 @@ ca: github_actions: Accions pull_requests: message: > - El "pull request" #%{pr_number} %{pr_link} en el %{repository_link} ha estàt %{pr_state} per %{github_user_link}. #%{pr_number} %{pr_link} en el %{repository_link} ha estàt %{pr_state} per %{github_user_link}. + Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. referenced_message: > - %{github_user_link} ha referenciat aquest paquet de treball en el "pull request" #%{pr_number} %{pr_link} en %{repository_link}. #%{pr_number} %{pr_link} en %{repository_link}. + %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: - opened: 'obert' - closed: 'tancat' - draft: 'esborrany' - merged: 'fusionat' - ready_for_review: 'marcat com a preparat per a revisar' + opened: 'opened' + closed: 'closed' + draft: 'drafted' + merged: 'merged' + ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-de.yml b/modules/github_integration/config/locales/crowdin/js-de.yml index fafeade61efe..b0077241363b 100644 --- a/modules/github_integration/config/locales/crowdin/js-de.yml +++ b/modules/github_integration/config/locales/crowdin/js-de.yml @@ -41,12 +41,12 @@ de: github_actions: Aktionen pull_requests: message: > - Pull Request #%{pr_number} %{pr_link} für %{repository_link} wurde %{pr_state} von %{github_user_link}. #%{pr_number} %{pr_link} für %{repository_link} wurde %{pr_state} von %{github_user_link}. + Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. referenced_message: > - %{github_user_link} hat dieses Arbeitspaket im Pull Request #%{pr_number} %{pr_link} auf %{repository_link} referenziert. #%{pr_number} %{pr_link} auf %{repository_link} referenziert. + %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: - opened: 'geöffnet' - closed: 'geschlossen' - draft: 'entworfen' - merged: 'zusammengeführt' - ready_for_review: 'als bereit zur Einsicht markiert' + opened: 'opened' + closed: 'closed' + draft: 'drafted' + merged: 'merged' + ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-lol.yml b/modules/github_integration/config/locales/crowdin/js-lol.yml index 35b6fd3ce660..663b39944865 100644 --- a/modules/github_integration/config/locales/crowdin/js-lol.yml +++ b/modules/github_integration/config/locales/crowdin/js-lol.yml @@ -23,30 +23,30 @@ lol: js: github_integration: work_packages: - tab_name: "crwdns855845:0crwdne855845:0" + tab_name: "crwdns859103:0crwdne859103:0" tab_header: - title: "crwdns855847:0crwdne855847:0" + title: "crwdns859105:0crwdne859105:0" copy_menu: - label: crwdns855849:0crwdne855849:0 - description: crwdns855851:0crwdne855851:0 + label: crwdns859107:0crwdne859107:0 + description: crwdns859109:0crwdne859109:0 git_actions: - branch_name: crwdns855853:0crwdne855853:0 - commit_message: crwdns855855:0crwdne855855:0 - cmd: crwdns855857:0crwdne855857:0 - title: crwdns855859:0crwdne855859:0 - copy_success: crwdns855861:0crwdne855861:0 - copy_error: crwdns855863:0crwdne855863:0 + branch_name: crwdns859111:0crwdne859111:0 + commit_message: crwdns859113:0crwdne859113:0 + cmd: crwdns859115:0crwdne859115:0 + title: crwdns859117:0crwdne859117:0 + copy_success: crwdns859119:0crwdne859119:0 + copy_error: crwdns859121:0crwdne859121:0 tab_prs: - empty: crwdns855865:0%{wp_id}crwdne855865:0 - github_actions: crwdns855867:0crwdne855867:0 + empty: crwdns859123:0%{wp_id}crwdne859123:0 + github_actions: crwdns859125:0crwdne859125:0 pull_requests: message: > - crwdns855869:0%{pr_number}crwdnd855869:0%{pr_link}crwdnd855869:0%{repository_link}crwdnd855869:0%{pr_state}crwdnd855869:0%{github_user_link}crwdne855869:0 + crwdns859127:0%{pr_number}crwdnd859127:0%{pr_link}crwdnd859127:0%{repository_link}crwdnd859127:0%{pr_state}crwdnd859127:0%{github_user_link}crwdne859127:0 referenced_message: > - crwdns855871:0%{github_user_link}crwdnd855871:0%{pr_number}crwdnd855871:0%{pr_link}crwdnd855871:0%{repository_link}crwdne855871:0 + crwdns859129:0%{github_user_link}crwdnd859129:0%{pr_number}crwdnd859129:0%{pr_link}crwdnd859129:0%{repository_link}crwdne859129:0 states: - opened: 'crwdns855873:0crwdne855873:0' - closed: 'crwdns855875:0crwdne855875:0' - draft: 'crwdns855877:0crwdne855877:0' - merged: 'crwdns855879:0crwdne855879:0' - ready_for_review: 'crwdns855881:0crwdne855881:0' + opened: 'crwdns859131:0crwdne859131:0' + closed: 'crwdns859133:0crwdne859133:0' + draft: 'crwdns859135:0crwdne859135:0' + merged: 'crwdns859137:0crwdne859137:0' + ready_for_review: 'crwdns859139:0crwdne859139:0' diff --git a/modules/github_integration/config/locales/crowdin/js-lt.yml b/modules/github_integration/config/locales/crowdin/js-lt.yml index a9e0b79fcf32..3868be294a4c 100644 --- a/modules/github_integration/config/locales/crowdin/js-lt.yml +++ b/modules/github_integration/config/locales/crowdin/js-lt.yml @@ -41,12 +41,12 @@ lt: github_actions: Veiksmai pull_requests: message: > - Pakeitimo užklausą #%{pr_number} %{pr_link} skirtą %{repository_link} naudotojas %{github_user_link} %{pr_state}. #%{pr_number} %{pr_link} skirtą %{repository_link} naudotojas %{github_user_link} %{pr_state}. + Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. referenced_message: > - %{github_user_link} minėjo šį darbo paketą pakeitimo užklausoje #%{pr_number} %{pr_link} %{repository_link}. #%{pr_number} %{pr_link} %{repository_link}. + %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: - opened: 'atidarė' - closed: 'uždarė' - draft: 'sukūrė juodraštį' - merged: 'suliejo' - ready_for_review: 'pažymėjo paruoštu peržiūrai' + opened: 'opened' + closed: 'closed' + draft: 'drafted' + merged: 'merged' + ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-nl.yml b/modules/github_integration/config/locales/crowdin/js-nl.yml index 9be52ed158b9..82bbc403c6f2 100644 --- a/modules/github_integration/config/locales/crowdin/js-nl.yml +++ b/modules/github_integration/config/locales/crowdin/js-nl.yml @@ -45,8 +45,8 @@ nl: referenced_message: > %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: - opened: 'geopend' - closed: 'gesloten' + opened: 'opened' + closed: 'closed' draft: 'drafted' - merged: 'samengevoegd' - ready_for_review: 'gemarkeerd als klaar voor review' + merged: 'merged' + ready_for_review: 'marked ready for review' diff --git a/modules/grids/config/locales/crowdin/js-id.yml b/modules/grids/config/locales/crowdin/js-id.yml index 601003db7420..686b5c3c9ba0 100644 --- a/modules/grids/config/locales/crowdin/js-id.yml +++ b/modules/grids/config/locales/crowdin/js-id.yml @@ -31,13 +31,13 @@ id: no_results: 'No custom fields have been defined for projects.' project_status: title: 'Project status' - not_started: 'Not started' - on_track: 'On track' - off_track: 'Off track' - at_risk: 'At risk' + not_started: 'Belum mulai' + on_track: 'Di jalur' + off_track: 'Keluar dari jalur' + at_risk: 'Berisiko' not_set: 'Not set' finished: 'Selesai' - discontinued: 'Discontinued' + discontinued: 'Dihentikan' subprojects: title: 'Sub Project' no_results: 'No subprojects.' diff --git a/modules/grids/config/locales/crowdin/js-ja.yml b/modules/grids/config/locales/crowdin/js-ja.yml index 0c3ac3d31562..c7199ef21b34 100644 --- a/modules/grids/config/locales/crowdin/js-ja.yml +++ b/modules/grids/config/locales/crowdin/js-ja.yml @@ -31,13 +31,13 @@ ja: no_results: 'プロジェクトにカスタムフィールドが定義されていません。' project_status: title: 'プロジェクトの進捗状況' - not_started: 'Not started' + not_started: '未着手' on_track: '順調' off_track: '脱線' at_risk: 'リスクあり' not_set: '未設定' finished: '完了しました' - discontinued: 'Discontinued' + discontinued: '中止' subprojects: title: '子プロジェクト' no_results: '子プロジェクトはありません。' diff --git a/modules/meeting/config/locales/crowdin/af.yml b/modules/meeting/config/locales/crowdin/af.yml index fb54070dcb7d..80eb29783d0e 100644 --- a/modules/meeting/config/locales/crowdin/af.yml +++ b/modules/meeting/config/locales/crowdin/af.yml @@ -85,7 +85,7 @@ af: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ar.yml b/modules/meeting/config/locales/crowdin/ar.yml index b3466b17468e..709b892d3727 100644 --- a/modules/meeting/config/locales/crowdin/ar.yml +++ b/modules/meeting/config/locales/crowdin/ar.yml @@ -85,7 +85,7 @@ ar: text_duration_in_hours: "المدة بالساعات" text_in_hours: "في الساعات" text_meeting_agenda_for_meeting: 'جدول أعمال للاجتماع "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "سيؤدي هذا إلى استبدال جميع التغييرات في المقرر! هل تريد المتابعة؟" text_meeting_minutes_for_meeting: 'محضر الجسلة للاجتماع "%{meeting}"' text_review_meeting_agenda: "%{author} طرح %{link} للمراجعة." diff --git a/modules/meeting/config/locales/crowdin/az.yml b/modules/meeting/config/locales/crowdin/az.yml index b565cc2d18c0..df15e585b9de 100644 --- a/modules/meeting/config/locales/crowdin/az.yml +++ b/modules/meeting/config/locales/crowdin/az.yml @@ -85,7 +85,7 @@ az: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml index f7610e467a60..da76a1d65a5f 100644 --- a/modules/meeting/config/locales/crowdin/be.yml +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -85,7 +85,7 @@ be: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/bg.yml b/modules/meeting/config/locales/crowdin/bg.yml index 677b75680131..2f4a4c1c3b7c 100644 --- a/modules/meeting/config/locales/crowdin/bg.yml +++ b/modules/meeting/config/locales/crowdin/bg.yml @@ -85,7 +85,7 @@ bg: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ca.yml b/modules/meeting/config/locales/crowdin/ca.yml index 820a125c13ca..1f36dc376331 100644 --- a/modules/meeting/config/locales/crowdin/ca.yml +++ b/modules/meeting/config/locales/crowdin/ca.yml @@ -85,7 +85,7 @@ ca: text_duration_in_hours: "Duració en hores" text_in_hours: "en hores" text_meeting_agenda_for_meeting: 'agenda per la reunió "%{meeting}"' - text_meeting_closing_are_you_sure: "Segur que vols tancar aquesta agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Això sobreescriurà tots els canvis a l'acte! Vols continuar?" text_meeting_minutes_for_meeting: 'actes per la reunió "%{meeting}"' text_review_meeting_agenda: "%{author} ha afegit el %{link} per a revisió." diff --git a/modules/meeting/config/locales/crowdin/ckb-IR.yml b/modules/meeting/config/locales/crowdin/ckb-IR.yml index 951ade9d2884..d41f2b45bea1 100644 --- a/modules/meeting/config/locales/crowdin/ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/ckb-IR.yml @@ -85,7 +85,7 @@ ckb-IR: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index fab5deda6fe4..29b8ab1d6f19 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -85,7 +85,7 @@ cs: text_duration_in_hours: "Doba trvání v hodinách" text_in_hours: "v hodinách" text_meeting_agenda_for_meeting: 'Agenda schůzky "%{meeting}"' - text_meeting_closing_are_you_sure: "Opravdu chcete tuto schůzku zavřít?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Toto přepíše všechny změny v zápisech! Chcete pokračovat?" text_meeting_minutes_for_meeting: 'zápis pro schůzku "%{meeting}"' text_review_meeting_agenda: "%{author} dal %{link} na revizi." diff --git a/modules/meeting/config/locales/crowdin/da.yml b/modules/meeting/config/locales/crowdin/da.yml index 38562537f01e..0395883035ef 100644 --- a/modules/meeting/config/locales/crowdin/da.yml +++ b/modules/meeting/config/locales/crowdin/da.yml @@ -85,7 +85,7 @@ da: text_duration_in_hours: "Duration in hours" text_in_hours: "i timer" text_meeting_agenda_for_meeting: 'dagsorden for mødet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Dette vil overskrive alle ændringer i minutterne! Vil du fortsætte?" text_meeting_minutes_for_meeting: 'referat for mødet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt dette %{link} ud til vurdering." diff --git a/modules/meeting/config/locales/crowdin/de.yml b/modules/meeting/config/locales/crowdin/de.yml index c1e0e693e53b..baf988d54f0a 100644 --- a/modules/meeting/config/locales/crowdin/de.yml +++ b/modules/meeting/config/locales/crowdin/de.yml @@ -85,7 +85,7 @@ de: text_duration_in_hours: "Dauer in Stunden" text_in_hours: "in Stunden" text_meeting_agenda_for_meeting: 'die Agenda für die Besprechung "%{meeting}"' - text_meeting_closing_are_you_sure: "Sind Sie sicher, dass Sie die Agenda schließen wollen?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Es werden alle Änderungen im Protokoll überschrieben! Wollen Sie fortfahren?" text_meeting_minutes_for_meeting: 'das Protokoll für die Besprechung "%{meeting}"' text_review_meeting_agenda: "%{author} hat %{link} zur Einsicht freigegeben." diff --git a/modules/meeting/config/locales/crowdin/el.yml b/modules/meeting/config/locales/crowdin/el.yml index 924fd0355377..984703b380e8 100644 --- a/modules/meeting/config/locales/crowdin/el.yml +++ b/modules/meeting/config/locales/crowdin/el.yml @@ -85,7 +85,7 @@ el: text_duration_in_hours: "Διάρκεια σε ώρες" text_in_hours: "σε ώρες" text_meeting_agenda_for_meeting: 'ατζέντα για τη συνάντηση "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Αυτό θα αντικαταστήσει όλες τις αλλαγές στα πρακτικά συνάντησης! Θέλετε να συνεχίσετε;" text_meeting_minutes_for_meeting: 'πρακτικά για τη συνάντηση "%{meeting}"' text_review_meeting_agenda: "Ο/Η %{author} έχει βάλει το %{link} για αναθεώρηση." diff --git a/modules/meeting/config/locales/crowdin/eo.yml b/modules/meeting/config/locales/crowdin/eo.yml index 9b74012be0a8..562092694f1a 100644 --- a/modules/meeting/config/locales/crowdin/eo.yml +++ b/modules/meeting/config/locales/crowdin/eo.yml @@ -85,7 +85,7 @@ eo: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/es.yml b/modules/meeting/config/locales/crowdin/es.yml index a1283637fc98..c21e5e013a93 100644 --- a/modules/meeting/config/locales/crowdin/es.yml +++ b/modules/meeting/config/locales/crowdin/es.yml @@ -85,7 +85,7 @@ es: text_duration_in_hours: "Duración en horas" text_in_hours: "en horas" text_meeting_agenda_for_meeting: 'agenda para la reunión "%{meeting}"' - text_meeting_closing_are_you_sure: "¿Está seguro que desea cerrar la agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Se sobrescribirán todos los cambios en las minutas. ¿Quiere continuar?" text_meeting_minutes_for_meeting: 'minutas para la reunión "%{meeting}"' text_review_meeting_agenda: "%{author} ha puesto el %{link} para revisión." diff --git a/modules/meeting/config/locales/crowdin/et.yml b/modules/meeting/config/locales/crowdin/et.yml index 8774af1fa793..1c3688223701 100644 --- a/modules/meeting/config/locales/crowdin/et.yml +++ b/modules/meeting/config/locales/crowdin/et.yml @@ -85,7 +85,7 @@ et: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml index aaf07ef60211..dc3f7e10f003 100644 --- a/modules/meeting/config/locales/crowdin/eu.yml +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -85,7 +85,7 @@ eu: text_duration_in_hours: "Iraupena ordutan" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/fa.yml b/modules/meeting/config/locales/crowdin/fa.yml index df418d0ad2e2..a7de96f08754 100644 --- a/modules/meeting/config/locales/crowdin/fa.yml +++ b/modules/meeting/config/locales/crowdin/fa.yml @@ -85,7 +85,7 @@ fa: text_duration_in_hours: "Duration in hours" text_in_hours: "در ساعات" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/fi.yml b/modules/meeting/config/locales/crowdin/fi.yml index 8144450b3387..7a9a4050630c 100644 --- a/modules/meeting/config/locales/crowdin/fi.yml +++ b/modules/meeting/config/locales/crowdin/fi.yml @@ -85,7 +85,7 @@ fi: text_duration_in_hours: "Keston tunteina" text_in_hours: "tuntia" text_meeting_agenda_for_meeting: 'kokouksen "%{meeting}" esityslista' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Tämä korvaa kaikki muutokset pöytäkirjassa! Haluatko jatkaa?" text_meeting_minutes_for_meeting: 'kokouksen "%{meeting}" pöytäkirja' text_review_meeting_agenda: "%{author} on tehnyt %{link} tarkasteltavaksi." diff --git a/modules/meeting/config/locales/crowdin/fil.yml b/modules/meeting/config/locales/crowdin/fil.yml index 92cd94bafcab..770e3ac11e4a 100644 --- a/modules/meeting/config/locales/crowdin/fil.yml +++ b/modules/meeting/config/locales/crowdin/fil.yml @@ -85,7 +85,7 @@ fil: text_duration_in_hours: "Tagal sa oras" text_in_hours: "sa mga oras" text_meeting_agenda_for_meeting: 'adyenda para sa pulong "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes para sa pulong "%{meeting}"' text_review_meeting_agenda: "Ang %{author} ay naglagay ng %{link} para sa pagsusuri." diff --git a/modules/meeting/config/locales/crowdin/fr.yml b/modules/meeting/config/locales/crowdin/fr.yml index cf61bbb6f961..426e142ff8b0 100644 --- a/modules/meeting/config/locales/crowdin/fr.yml +++ b/modules/meeting/config/locales/crowdin/fr.yml @@ -85,7 +85,7 @@ fr: text_duration_in_hours: "Durée en heures" text_in_hours: "en heures" text_meeting_agenda_for_meeting: 'ordre du jour de la réunion «%{meeting} »' - text_meeting_closing_are_you_sure: "Voulez-vous vraiment clôturer l'ordre du jour ?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Ceci va écraser toutes les modifications dans les minutes ! Voulez-vous continuer ?" text_meeting_minutes_for_meeting: 'Minutes de la réunion "%{meeting}"' text_review_meeting_agenda: "%{author} à marqué le %{link} pour vérification." diff --git a/modules/meeting/config/locales/crowdin/he.yml b/modules/meeting/config/locales/crowdin/he.yml index d6439750cdad..58099f7fa9d7 100644 --- a/modules/meeting/config/locales/crowdin/he.yml +++ b/modules/meeting/config/locales/crowdin/he.yml @@ -85,7 +85,7 @@ he: text_duration_in_hours: "משך הזמן בשעות" text_in_hours: "בשעות" text_meeting_agenda_for_meeting: 'סדר היום לפגישה "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'דקות לפגישה "%{meeting}"' text_review_meeting_agenda: "על %{author} לשים את %{link} לבדיקה." diff --git a/modules/meeting/config/locales/crowdin/hi.yml b/modules/meeting/config/locales/crowdin/hi.yml index 2538f1e8afd0..5f971b071e80 100644 --- a/modules/meeting/config/locales/crowdin/hi.yml +++ b/modules/meeting/config/locales/crowdin/hi.yml @@ -85,7 +85,7 @@ hi: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/hr.yml b/modules/meeting/config/locales/crowdin/hr.yml index 57863ca6683b..f64f992da478 100644 --- a/modules/meeting/config/locales/crowdin/hr.yml +++ b/modules/meeting/config/locales/crowdin/hr.yml @@ -85,7 +85,7 @@ hr: text_duration_in_hours: "Duration in hours" text_in_hours: "u satima" text_meeting_agenda_for_meeting: 'dnevni red za sastank "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minute za sastanak "%{meeting}"' text_review_meeting_agenda: "%{author} je dodao poveznicu %{link} za provjeru." diff --git a/modules/meeting/config/locales/crowdin/hu.yml b/modules/meeting/config/locales/crowdin/hu.yml index 367964461196..18b98b1e8ace 100644 --- a/modules/meeting/config/locales/crowdin/hu.yml +++ b/modules/meeting/config/locales/crowdin/hu.yml @@ -85,7 +85,7 @@ hu: text_duration_in_hours: "Hossza (óra)" text_in_hours: "órában" text_meeting_agenda_for_meeting: 'a "%{meeting}" megbeszélés napirendje' - text_meeting_closing_are_you_sure: "Biztosan be akarod fejezni a megbeszélést?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Ez minden változást felül fog írni. Biztosan folytani akarja?" text_meeting_minutes_for_meeting: 'a "%{meeting}" megbeszélés jegyzőkönyve' text_review_meeting_agenda: "%{author} véleményezésre küldte %{link} -t." diff --git a/modules/meeting/config/locales/crowdin/id.yml b/modules/meeting/config/locales/crowdin/id.yml index 661265d68330..d15d66f00c2e 100644 --- a/modules/meeting/config/locales/crowdin/id.yml +++ b/modules/meeting/config/locales/crowdin/id.yml @@ -85,7 +85,7 @@ id: text_duration_in_hours: "Durasi dalam jam" text_in_hours: "dalam jam" text_meeting_agenda_for_meeting: 'agenda untuk rapat "%{meeting}"' - text_meeting_closing_are_you_sure: "Yakin ingin menutup agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Ini akan mengganti semua perubahan dalam beberapa menit! Apakah anda ingin lanjut?" text_meeting_minutes_for_meeting: 'laporan untuk rapat "%{meeting}"' text_review_meeting_agenda: "%{author} telah memberikan %{link} untuk diulas." diff --git a/modules/meeting/config/locales/crowdin/it.yml b/modules/meeting/config/locales/crowdin/it.yml index 58add3d9c54a..d0efed20a1b2 100644 --- a/modules/meeting/config/locales/crowdin/it.yml +++ b/modules/meeting/config/locales/crowdin/it.yml @@ -85,7 +85,7 @@ it: text_duration_in_hours: "Durata in ore" text_in_hours: "in ore" text_meeting_agenda_for_meeting: 'ordine del giorno della riunione "%{meeting}"' - text_meeting_closing_are_you_sure: "Vuoi davvero chiudere l'agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Questo sovrascriverà tutte le modifiche nei verbali! Vuoi continuare?" text_meeting_minutes_for_meeting: 'verbali per l''incontro "%{meeting}"' text_review_meeting_agenda: "%{author} ha pubblicato %{link} per la revisione." diff --git a/modules/meeting/config/locales/crowdin/ja.yml b/modules/meeting/config/locales/crowdin/ja.yml index 6c997e207e0b..b1092c9b9f48 100644 --- a/modules/meeting/config/locales/crowdin/ja.yml +++ b/modules/meeting/config/locales/crowdin/ja.yml @@ -85,7 +85,7 @@ ja: text_duration_in_hours: "期間(時間)" text_in_hours: "数時間以内" text_meeting_agenda_for_meeting: '会議の議題 "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "数分内のすべての変更が上書きされます!続けますか?" text_meeting_minutes_for_meeting: '会議の議事録 "%{meeting}"' text_review_meeting_agenda: "%{author} はレビューのために %{link} をアップしました。" diff --git a/modules/meeting/config/locales/crowdin/ka.yml b/modules/meeting/config/locales/crowdin/ka.yml index d9d418ae2327..a20265588667 100644 --- a/modules/meeting/config/locales/crowdin/ka.yml +++ b/modules/meeting/config/locales/crowdin/ka.yml @@ -63,7 +63,7 @@ ka: label_meeting_diff: "Diff" label_notify: "Send for review" label_icalendar: "Send iCalendar" - label_version: "Version" + label_version: "ვერსია" label_time_zone: "Time zone" label_start_date: "Start date" meeting: @@ -85,7 +85,7 @@ ka: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ko.yml b/modules/meeting/config/locales/crowdin/ko.yml index 4ecfdad64ac9..aa6d61954e0a 100644 --- a/modules/meeting/config/locales/crowdin/ko.yml +++ b/modules/meeting/config/locales/crowdin/ko.yml @@ -85,7 +85,7 @@ ko: text_duration_in_hours: "기간(시간)" text_in_hours: " 시간" text_meeting_agenda_for_meeting: '미팅 "%{meeting}"에 대한 의제' - text_meeting_closing_are_you_sure: "이 의제를 닫으시겠습니까?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "그러면 몇 분 내에 모든 변경 사항을 덮어씁니다. 계속하시겠습니까?" text_meeting_minutes_for_meeting: '미팅 "%{meeting}"에 대한 의사록' text_review_meeting_agenda: "%{author} 님이 검토를 위해 %{link}을(를) 넣었습니다." diff --git a/modules/meeting/config/locales/crowdin/lol.yml b/modules/meeting/config/locales/crowdin/lol.yml index 46cf8efb3bf5..3857a0a819fa 100644 --- a/modules/meeting/config/locales/crowdin/lol.yml +++ b/modules/meeting/config/locales/crowdin/lol.yml @@ -85,7 +85,7 @@ lol: text_duration_in_hours: "crwdns494423:0crwdne494423:0" text_in_hours: "crwdns494425:0crwdne494425:0" text_meeting_agenda_for_meeting: 'crwdns494427:0%{meeting}crwdne494427:0' - text_meeting_closing_are_you_sure: "crwdns846309:0crwdne846309:0" + text_meeting_closing_are_you_sure: "crwdns859101:0crwdne859101:0" text_meeting_agenda_open_are_you_sure: "crwdns494431:0crwdne494431:0" text_meeting_minutes_for_meeting: 'crwdns494433:0%{meeting}crwdne494433:0' text_review_meeting_agenda: "crwdns494435:0%{author}crwdnd494435:0%{link}crwdne494435:0" diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml index 4a6afc87c8a2..f00e92099ebe 100644 --- a/modules/meeting/config/locales/crowdin/lt.yml +++ b/modules/meeting/config/locales/crowdin/lt.yml @@ -85,7 +85,7 @@ lt: text_duration_in_hours: "Trukmė valandomis" text_in_hours: " valandos(-ų) " text_meeting_agenda_for_meeting: 'pasitarimo „%{meeting}“ darbotvarkę' - text_meeting_closing_are_you_sure: "Ar tikrai norite uždaryti planą?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Tai perrašys visus pakeitimus minutėse! Ar norite tęsti?" text_meeting_minutes_for_meeting: 'pasitarimo „%{meeting}“ minutės' text_review_meeting_agenda: "%{author} įdėjo %{link} peržiūroje." diff --git a/modules/meeting/config/locales/crowdin/lv.yml b/modules/meeting/config/locales/crowdin/lv.yml index e51e49a77512..a98ace3eabaa 100644 --- a/modules/meeting/config/locales/crowdin/lv.yml +++ b/modules/meeting/config/locales/crowdin/lv.yml @@ -85,7 +85,7 @@ lv: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/mn.yml b/modules/meeting/config/locales/crowdin/mn.yml index b8e01159ff4f..83acaf665a87 100644 --- a/modules/meeting/config/locales/crowdin/mn.yml +++ b/modules/meeting/config/locales/crowdin/mn.yml @@ -85,7 +85,7 @@ mn: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/ne.yml b/modules/meeting/config/locales/crowdin/ne.yml index a3f27b06dbc3..7eb2c6a675cd 100644 --- a/modules/meeting/config/locales/crowdin/ne.yml +++ b/modules/meeting/config/locales/crowdin/ne.yml @@ -85,7 +85,7 @@ ne: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index 1e79d2d523f7..11bafff618c2 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -85,7 +85,7 @@ nl: text_duration_in_hours: "Duur in uren" text_in_hours: "in uren" text_meeting_agenda_for_meeting: 'agenda voor de vergadering "%{meeting}"' - text_meeting_closing_are_you_sure: "Weet u zeker dat u de agenda wilt afsluiten?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Dit overschrijft alle wijzigingen in de aantekeningen! Wilt u doorgaan?" text_meeting_minutes_for_meeting: 'minuten voor de vergadering "%{meeting}"' text_review_meeting_agenda: "%{author} heeft de %{link} geselecteerd voor herziening." diff --git a/modules/meeting/config/locales/crowdin/no.yml b/modules/meeting/config/locales/crowdin/no.yml index 9d05a2464fb5..859c3e68fa56 100644 --- a/modules/meeting/config/locales/crowdin/no.yml +++ b/modules/meeting/config/locales/crowdin/no.yml @@ -85,7 +85,7 @@ text_duration_in_hours: "Varighet i timer" text_in_hours: "i timer" text_meeting_agenda_for_meeting: 'saksliste for møtet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Dette vil overskrive alle endringer i minuttene! Vil du fortsette?" text_meeting_minutes_for_meeting: 'referat for møtet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt opp %{link} for gjennomgang." diff --git a/modules/meeting/config/locales/crowdin/pl.yml b/modules/meeting/config/locales/crowdin/pl.yml index 7f2f1179423e..312cbd76cf8c 100644 --- a/modules/meeting/config/locales/crowdin/pl.yml +++ b/modules/meeting/config/locales/crowdin/pl.yml @@ -85,7 +85,7 @@ pl: text_duration_in_hours: "Czas trwania w godzinach" text_in_hours: "w godzinach" text_meeting_agenda_for_meeting: 'agenda spotkania "%{meeting}"' - text_meeting_closing_are_you_sure: "Czy na pewno chcesz zamknąć plan spotkania?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "To zastąpił wszystkie zmiany w protokołach! Czy chcesz kontynuować?" text_meeting_minutes_for_meeting: 'protokół ze spotkania "%{meeting}"' text_review_meeting_agenda: "%{author} umieścił %{link} do przeglądu." diff --git a/modules/meeting/config/locales/crowdin/pt.yml b/modules/meeting/config/locales/crowdin/pt.yml index c2b4fbdc3ca4..c2ef5f4f6af6 100644 --- a/modules/meeting/config/locales/crowdin/pt.yml +++ b/modules/meeting/config/locales/crowdin/pt.yml @@ -85,7 +85,7 @@ pt: text_duration_in_hours: "Duração em horas" text_in_hours: "em horas" text_meeting_agenda_for_meeting: 'agenda para a reunião "%{meeting}"' - text_meeting_closing_are_you_sure: "Tem certeza de que deseja encerrar a agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Esta ação sobrepões todas as alterações nos minutos! Pretende continuar?" text_meeting_minutes_for_meeting: 'ata da reunião "%{meeting}"' text_review_meeting_agenda: "%{author} marcou o %{link} para revisão." diff --git a/modules/meeting/config/locales/crowdin/ro.yml b/modules/meeting/config/locales/crowdin/ro.yml index a1fb7b4efcc2..97924b245cd0 100644 --- a/modules/meeting/config/locales/crowdin/ro.yml +++ b/modules/meeting/config/locales/crowdin/ro.yml @@ -85,7 +85,7 @@ ro: text_duration_in_hours: "Durata în ore" text_in_hours: "Ore" text_meeting_agenda_for_meeting: 'ordinea de zi a reuniunii "%{meeting}"' - text_meeting_closing_are_you_sure: "Sunteţi sigur că doriţi să închideţi agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Acest lucru va suprascrie toate modificările din procesul-verbal! Doriți să continuați?" text_meeting_minutes_for_meeting: 'procesul-verbal al reuniunii "%{meeting}"' text_review_meeting_agenda: "%{author} a pus %{link} pentru revizuire." diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index 8ae2024e6649..9716fec5e598 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -85,7 +85,7 @@ ru: text_duration_in_hours: "Длительность в часах" text_in_hours: "в часах" text_meeting_agenda_for_meeting: 'Повестка дня встречи «%{meeting}»' - text_meeting_closing_are_you_sure: "Вы уверены, что хотите закрыть повестку совещания?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Все изменения в протоколах будут перезаписаны! Продолжить?" text_meeting_minutes_for_meeting: 'Протокол совещания «%{meeting}»' text_review_meeting_agenda: "%{author} поставил %{link} для рецензии." diff --git a/modules/meeting/config/locales/crowdin/rw.yml b/modules/meeting/config/locales/crowdin/rw.yml index 601ec747b6cc..a7b3f109b27d 100644 --- a/modules/meeting/config/locales/crowdin/rw.yml +++ b/modules/meeting/config/locales/crowdin/rw.yml @@ -85,7 +85,7 @@ rw: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/si.yml b/modules/meeting/config/locales/crowdin/si.yml index e6cabbaa92a4..1e83a68b9ca3 100644 --- a/modules/meeting/config/locales/crowdin/si.yml +++ b/modules/meeting/config/locales/crowdin/si.yml @@ -85,7 +85,7 @@ si: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/sk.yml b/modules/meeting/config/locales/crowdin/sk.yml index 20e0f6a88260..fb58a82368d9 100644 --- a/modules/meeting/config/locales/crowdin/sk.yml +++ b/modules/meeting/config/locales/crowdin/sk.yml @@ -85,7 +85,7 @@ sk: text_duration_in_hours: "Doba trvania v hodinách" text_in_hours: "v hodinách" text_meeting_agenda_for_meeting: 'agenda stretnutia "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'zápisnica zo stretnutia "%{meeting}"' text_review_meeting_agenda: "%{author} odoslal %{link} na revíziu." diff --git a/modules/meeting/config/locales/crowdin/sl.yml b/modules/meeting/config/locales/crowdin/sl.yml index e8afc73c8784..483a2f3cbc52 100644 --- a/modules/meeting/config/locales/crowdin/sl.yml +++ b/modules/meeting/config/locales/crowdin/sl.yml @@ -85,7 +85,7 @@ sl: text_duration_in_hours: "Trajanje v urah" text_in_hours: "v urah" text_meeting_agenda_for_meeting: 'dnevni red za sestanek "%{meeting}"' - text_meeting_closing_are_you_sure: "Ali ste prepričani, da želite zapreti dnevni red?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "To bo prepisalo vse spremembe v zapisniku! Ali želite nadaljevati?" text_meeting_minutes_for_meeting: 'zapisnik za sestanek "%{meeting}"' text_review_meeting_agenda: "%{author} je dal %{link} v pregled." diff --git a/modules/meeting/config/locales/crowdin/sr.yml b/modules/meeting/config/locales/crowdin/sr.yml index 9b02ef45cce8..ef174c264fdd 100644 --- a/modules/meeting/config/locales/crowdin/sr.yml +++ b/modules/meeting/config/locales/crowdin/sr.yml @@ -85,7 +85,7 @@ sr: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/sv.yml b/modules/meeting/config/locales/crowdin/sv.yml index 11ba1989d4b3..e9c72ed26ac1 100644 --- a/modules/meeting/config/locales/crowdin/sv.yml +++ b/modules/meeting/config/locales/crowdin/sv.yml @@ -85,7 +85,7 @@ sv: text_duration_in_hours: "Varaktighet i timmar" text_in_hours: "i timmar" text_meeting_agenda_for_meeting: 'agenda för mötet "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Detta kommer att skriva över alla ändringar i anteckningarna! Vill du fortsätta?" text_meeting_minutes_for_meeting: 'protokollet för mötet "%{meeting}"' text_review_meeting_agenda: "%{author} har lagt upp %{link} för granskning." diff --git a/modules/meeting/config/locales/crowdin/th.yml b/modules/meeting/config/locales/crowdin/th.yml index 64455107bd19..4650e9239a48 100644 --- a/modules/meeting/config/locales/crowdin/th.yml +++ b/modules/meeting/config/locales/crowdin/th.yml @@ -85,7 +85,7 @@ th: text_duration_in_hours: "Duration in hours" text_in_hours: "in hours" text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/tr.yml b/modules/meeting/config/locales/crowdin/tr.yml index 9e5c72c2bc39..6ca3a26a8d5a 100644 --- a/modules/meeting/config/locales/crowdin/tr.yml +++ b/modules/meeting/config/locales/crowdin/tr.yml @@ -85,7 +85,7 @@ tr: text_duration_in_hours: "Saat süresi" text_in_hours: "saatlerde" text_meeting_agenda_for_meeting: 'toplantı gündemi "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Bu, dakikalardaki tüm değişikliklerin üzerine yazacaktır! Devam etmek istiyor musun?" text_meeting_minutes_for_meeting: 'toplantı için dakikalar "%{meeting}"' text_review_meeting_agenda: "%{author}, %{link} 'i incelemeye koydu." diff --git a/modules/meeting/config/locales/crowdin/uk.yml b/modules/meeting/config/locales/crowdin/uk.yml index 6279c8c71e33..2e27c3e56dea 100644 --- a/modules/meeting/config/locales/crowdin/uk.yml +++ b/modules/meeting/config/locales/crowdin/uk.yml @@ -85,7 +85,7 @@ uk: text_duration_in_hours: "Тривалість у годинах" text_in_hours: "у годинах" text_meeting_agenda_for_meeting: 'порядку денного засідання %{meeting}' - text_meeting_closing_are_you_sure: "Справді закрити порядок денний?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "Це вмить призведе до виправлення усіх змін! Бажаєте продовжити?" text_meeting_minutes_for_meeting: 'протокол засідання %{meeting}' text_review_meeting_agenda: "%{author} поставив %{link} на розгляд." diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index 8bf8024604eb..2b8e38533405 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -85,7 +85,7 @@ vi: text_duration_in_hours: "Thời lượng tính bằng giờ" text_in_hours: "bằng giờ" text_meeting_agenda_for_meeting: 'Các ý chính cho cuộc họp "%{meeting}"' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' text_review_meeting_agenda: "%{author} has put the %{link} up for review." diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index ecb8ef2df14c..ba23f246b878 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -85,7 +85,7 @@ zh-TW: text_duration_in_hours: "持續時間 (小時)" text_in_hours: "在一小時內" text_meeting_agenda_for_meeting: '%{meeting} 的會議大綱' - text_meeting_closing_are_you_sure: "Are you sure you want to close the agenda?" + text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting agenda?" text_meeting_agenda_open_are_you_sure: "將會覆蓋所有會議紀錄中的變動!您希望繼續嗎?" text_meeting_minutes_for_meeting: '%{meeting} 的會議記錄' text_review_meeting_agenda: "%{author} 已經放上 %{link} 來審閱" diff --git a/modules/reporting/config/locales/crowdin/af.yml b/modules/reporting/config/locales/crowdin/af.yml index 715b272d8531..8e89a6cd5541 100644 --- a/modules/reporting/config/locales/crowdin/af.yml +++ b/modules/reporting/config/locales/crowdin/af.yml @@ -81,6 +81,9 @@ af: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/ar.yml b/modules/reporting/config/locales/crowdin/ar.yml index c77878da5eab..9638245c29a6 100644 --- a/modules/reporting/config/locales/crowdin/ar.yml +++ b/modules/reporting/config/locales/crowdin/ar.yml @@ -81,6 +81,9 @@ ar: units: "الوحدات" validation_failure_date: "ليس تاريخًا صالحًا" validation_failure_integer: "ليس عددًا صحيحًا صالحًا" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "الاعمدة المحددة" diff --git a/modules/reporting/config/locales/crowdin/az.yml b/modules/reporting/config/locales/crowdin/az.yml index d9ecadcdc406..33f90d77555c 100644 --- a/modules/reporting/config/locales/crowdin/az.yml +++ b/modules/reporting/config/locales/crowdin/az.yml @@ -81,6 +81,9 @@ az: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/be.yml b/modules/reporting/config/locales/crowdin/be.yml index 9b171d607858..1f14beadde5e 100644 --- a/modules/reporting/config/locales/crowdin/be.yml +++ b/modules/reporting/config/locales/crowdin/be.yml @@ -81,6 +81,9 @@ be: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/bg.yml b/modules/reporting/config/locales/crowdin/bg.yml index f47e120affdf..4d75740b68a6 100644 --- a/modules/reporting/config/locales/crowdin/bg.yml +++ b/modules/reporting/config/locales/crowdin/bg.yml @@ -81,6 +81,9 @@ bg: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/ca.yml b/modules/reporting/config/locales/crowdin/ca.yml index ae858057b727..8969a87b5c0d 100644 --- a/modules/reporting/config/locales/crowdin/ca.yml +++ b/modules/reporting/config/locales/crowdin/ca.yml @@ -81,6 +81,9 @@ ca: units: "Unitats" validation_failure_date: "no és una data vàlida" validation_failure_integer: "no és un enter vàlid" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Columnes seleccionades" diff --git a/modules/reporting/config/locales/crowdin/ckb-IR.yml b/modules/reporting/config/locales/crowdin/ckb-IR.yml index a5f0a19bb5fe..1b0a63e1a716 100644 --- a/modules/reporting/config/locales/crowdin/ckb-IR.yml +++ b/modules/reporting/config/locales/crowdin/ckb-IR.yml @@ -81,6 +81,9 @@ ckb-IR: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/cs.yml b/modules/reporting/config/locales/crowdin/cs.yml index 215c57f18d94..f70406474779 100644 --- a/modules/reporting/config/locales/crowdin/cs.yml +++ b/modules/reporting/config/locales/crowdin/cs.yml @@ -81,6 +81,9 @@ cs: units: "Jednotky" validation_failure_date: "není platné datum" validation_failure_integer: "není platné číslo" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Vybrané sloupce" diff --git a/modules/reporting/config/locales/crowdin/da.yml b/modules/reporting/config/locales/crowdin/da.yml index d1bae85b258a..be2773f643fa 100644 --- a/modules/reporting/config/locales/crowdin/da.yml +++ b/modules/reporting/config/locales/crowdin/da.yml @@ -81,6 +81,9 @@ da: units: "Enheder" validation_failure_date: "er en ugyldig dato" validation_failure_integer: "er et ugyldigt heltal" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/de.yml b/modules/reporting/config/locales/crowdin/de.yml index bf10e5cda6e4..24f961baf2e1 100644 --- a/modules/reporting/config/locales/crowdin/de.yml +++ b/modules/reporting/config/locales/crowdin/de.yml @@ -81,6 +81,9 @@ de: units: "Einheiten" validation_failure_date: "ist kein gültiges Datum" validation_failure_integer: "ist keine ganze Zahl" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Ausgewählte Spalten" diff --git a/modules/reporting/config/locales/crowdin/el.yml b/modules/reporting/config/locales/crowdin/el.yml index dc3836e12ca7..cbc4a06641c1 100644 --- a/modules/reporting/config/locales/crowdin/el.yml +++ b/modules/reporting/config/locales/crowdin/el.yml @@ -81,6 +81,9 @@ el: units: "Μονάδες" validation_failure_date: "δεν είναι έγκυρη ημερομηνία" validation_failure_integer: "δεν είναι έγκυρος ακέραιος αριθμός" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Επιλεγμένες στήλες" diff --git a/modules/reporting/config/locales/crowdin/eo.yml b/modules/reporting/config/locales/crowdin/eo.yml index f8fa5d1cddcc..f59fb6135782 100644 --- a/modules/reporting/config/locales/crowdin/eo.yml +++ b/modules/reporting/config/locales/crowdin/eo.yml @@ -81,6 +81,9 @@ eo: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/es.yml b/modules/reporting/config/locales/crowdin/es.yml index 8c76c61eea53..2925262edf25 100644 --- a/modules/reporting/config/locales/crowdin/es.yml +++ b/modules/reporting/config/locales/crowdin/es.yml @@ -81,6 +81,9 @@ es: units: "Unidades" validation_failure_date: "no es una fecha válida" validation_failure_integer: "no es un entero válido" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Columnas seleccionadas" diff --git a/modules/reporting/config/locales/crowdin/et.yml b/modules/reporting/config/locales/crowdin/et.yml index 79680059a669..d17531a6a17b 100644 --- a/modules/reporting/config/locales/crowdin/et.yml +++ b/modules/reporting/config/locales/crowdin/et.yml @@ -81,6 +81,9 @@ et: units: "Ühikud" validation_failure_date: "pole korrektne kuupäev" validation_failure_integer: "pole täisarv" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/eu.yml b/modules/reporting/config/locales/crowdin/eu.yml index fa3f0eb91b66..7038ebcd9146 100644 --- a/modules/reporting/config/locales/crowdin/eu.yml +++ b/modules/reporting/config/locales/crowdin/eu.yml @@ -81,6 +81,9 @@ eu: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/fa.yml b/modules/reporting/config/locales/crowdin/fa.yml index e0aa24960a6d..11f7433d806c 100644 --- a/modules/reporting/config/locales/crowdin/fa.yml +++ b/modules/reporting/config/locales/crowdin/fa.yml @@ -81,6 +81,9 @@ fa: units: "واحدها" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/fi.yml b/modules/reporting/config/locales/crowdin/fi.yml index 3c65c0f8cd36..92b447acfaba 100644 --- a/modules/reporting/config/locales/crowdin/fi.yml +++ b/modules/reporting/config/locales/crowdin/fi.yml @@ -81,6 +81,9 @@ fi: units: "Yksiköt" validation_failure_date: "ei ole kelvollinen päivämäärä" validation_failure_integer: "ei ole kelvollinen kokonaisluku" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Valitut sarakkeet" diff --git a/modules/reporting/config/locales/crowdin/fil.yml b/modules/reporting/config/locales/crowdin/fil.yml index 8ce56c2c90d0..c1a41d6149a4 100644 --- a/modules/reporting/config/locales/crowdin/fil.yml +++ b/modules/reporting/config/locales/crowdin/fil.yml @@ -81,6 +81,9 @@ fil: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/fr.yml b/modules/reporting/config/locales/crowdin/fr.yml index 94120ba3e353..29dcd8556337 100644 --- a/modules/reporting/config/locales/crowdin/fr.yml +++ b/modules/reporting/config/locales/crowdin/fr.yml @@ -81,6 +81,9 @@ fr: units: "Unités" validation_failure_date: "n'est pas une date valide" validation_failure_integer: "n'est pas un nombre entier valide" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Colonnes sélectionnées" diff --git a/modules/reporting/config/locales/crowdin/he.yml b/modules/reporting/config/locales/crowdin/he.yml index 3ef5ff0b48fe..734983b3e8fb 100644 --- a/modules/reporting/config/locales/crowdin/he.yml +++ b/modules/reporting/config/locales/crowdin/he.yml @@ -81,6 +81,9 @@ he: units: "יחידות" validation_failure_date: "אינו תאריך בר תוקף" validation_failure_integer: "אינו מספר שלם חוקי" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/hi.yml b/modules/reporting/config/locales/crowdin/hi.yml index 3c8d0858cc2f..05f5eb836873 100644 --- a/modules/reporting/config/locales/crowdin/hi.yml +++ b/modules/reporting/config/locales/crowdin/hi.yml @@ -81,6 +81,9 @@ hi: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/hr.yml b/modules/reporting/config/locales/crowdin/hr.yml index 379aba0806e5..089b514ca94f 100644 --- a/modules/reporting/config/locales/crowdin/hr.yml +++ b/modules/reporting/config/locales/crowdin/hr.yml @@ -81,6 +81,9 @@ hr: units: "Jedinice" validation_failure_date: "nije valjan datum" validation_failure_integer: "nije valjan cijeli broj" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/hu.yml b/modules/reporting/config/locales/crowdin/hu.yml index c81fba4750ba..efe06a79d11a 100644 --- a/modules/reporting/config/locales/crowdin/hu.yml +++ b/modules/reporting/config/locales/crowdin/hu.yml @@ -81,6 +81,9 @@ hu: units: "Egységek" validation_failure_date: "nem érvényes dátum" validation_failure_integer: "nem érvényes egész szám" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "A kijelölt oszlopok" diff --git a/modules/reporting/config/locales/crowdin/id.yml b/modules/reporting/config/locales/crowdin/id.yml index f09816c947b7..97cbe8251d54 100644 --- a/modules/reporting/config/locales/crowdin/id.yml +++ b/modules/reporting/config/locales/crowdin/id.yml @@ -81,6 +81,9 @@ id: units: "Unit" validation_failure_date: "validasi tanggal gagal" validation_failure_integer: "validasi bilangan bulat gagal" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Kolom terpilih" diff --git a/modules/reporting/config/locales/crowdin/it.yml b/modules/reporting/config/locales/crowdin/it.yml index f93921339ccd..99543dd4b367 100644 --- a/modules/reporting/config/locales/crowdin/it.yml +++ b/modules/reporting/config/locales/crowdin/it.yml @@ -81,6 +81,9 @@ it: units: "Unità di misura" validation_failure_date: "non è una data valida" validation_failure_integer: "non è un numero intero valido" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Colonne selezionate" diff --git a/modules/reporting/config/locales/crowdin/ja.yml b/modules/reporting/config/locales/crowdin/ja.yml index aa6512950916..fe5f4dc64b59 100644 --- a/modules/reporting/config/locales/crowdin/ja.yml +++ b/modules/reporting/config/locales/crowdin/ja.yml @@ -81,6 +81,9 @@ ja: units: "単位" validation_failure_date: "は有効な日付ではありません。" validation_failure_integer: "は有効な整数ではありません。" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "選択された列" diff --git a/modules/reporting/config/locales/crowdin/ka.yml b/modules/reporting/config/locales/crowdin/ka.yml index fa02b2e2f757..2979a81d554b 100644 --- a/modules/reporting/config/locales/crowdin/ka.yml +++ b/modules/reporting/config/locales/crowdin/ka.yml @@ -81,6 +81,9 @@ ka: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/ko.yml b/modules/reporting/config/locales/crowdin/ko.yml index eabae6ef10a2..7c9dde7708d4 100644 --- a/modules/reporting/config/locales/crowdin/ko.yml +++ b/modules/reporting/config/locales/crowdin/ko.yml @@ -81,6 +81,9 @@ ko: units: "단위" validation_failure_date: "은(는) 유효한 날짜가 아닙니다." validation_failure_integer: "은(는) 유효한 정수가 아닙니다." + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "선택된 열" diff --git a/modules/reporting/config/locales/crowdin/lol.yml b/modules/reporting/config/locales/crowdin/lol.yml index f4853541efe7..e34ac6d2c548 100644 --- a/modules/reporting/config/locales/crowdin/lol.yml +++ b/modules/reporting/config/locales/crowdin/lol.yml @@ -81,6 +81,9 @@ lol: units: "crwdns494189:0crwdne494189:0" validation_failure_date: "crwdns494191:0crwdne494191:0" validation_failure_integer: "crwdns494193:0crwdne494193:0" + export: + cost_reports: + title: "crwdns859083:0crwdne859083:0" reporting: group_by: selected_columns: "crwdns494195:0crwdne494195:0" diff --git a/modules/reporting/config/locales/crowdin/lt.yml b/modules/reporting/config/locales/crowdin/lt.yml index 77f7616e5cb6..1756cae23ed6 100644 --- a/modules/reporting/config/locales/crowdin/lt.yml +++ b/modules/reporting/config/locales/crowdin/lt.yml @@ -81,6 +81,9 @@ lt: units: "Vienetai" validation_failure_date: "nėra tinkama data" validation_failure_integer: "nėra tinkamas sveikas skaičius" + export: + cost_reports: + title: "Jūsų kainos ataskaitų XLS eksportas" reporting: group_by: selected_columns: "Pasirinkti stulpeliai" diff --git a/modules/reporting/config/locales/crowdin/lv.yml b/modules/reporting/config/locales/crowdin/lv.yml index 26b880686494..bcca57b35b69 100644 --- a/modules/reporting/config/locales/crowdin/lv.yml +++ b/modules/reporting/config/locales/crowdin/lv.yml @@ -81,6 +81,9 @@ lv: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/mn.yml b/modules/reporting/config/locales/crowdin/mn.yml index ff837e06611e..28c4b8653f7f 100644 --- a/modules/reporting/config/locales/crowdin/mn.yml +++ b/modules/reporting/config/locales/crowdin/mn.yml @@ -81,6 +81,9 @@ mn: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/ne.yml b/modules/reporting/config/locales/crowdin/ne.yml index 321bab0ccb6a..dff5fbbd9521 100644 --- a/modules/reporting/config/locales/crowdin/ne.yml +++ b/modules/reporting/config/locales/crowdin/ne.yml @@ -81,6 +81,9 @@ ne: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/nl.yml b/modules/reporting/config/locales/crowdin/nl.yml index 7bc4059b7842..d02f447e1a7e 100644 --- a/modules/reporting/config/locales/crowdin/nl.yml +++ b/modules/reporting/config/locales/crowdin/nl.yml @@ -81,6 +81,9 @@ nl: units: "Eenheden" validation_failure_date: "is geen geldige datum" validation_failure_integer: "is geen geldig geheel getal" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Geselecteerde kolommen" diff --git a/modules/reporting/config/locales/crowdin/no.yml b/modules/reporting/config/locales/crowdin/no.yml index 49146627b1d5..789f6673d149 100644 --- a/modules/reporting/config/locales/crowdin/no.yml +++ b/modules/reporting/config/locales/crowdin/no.yml @@ -81,6 +81,9 @@ units: "Enheter" validation_failure_date: "er ikke en gyldig dato" validation_failure_integer: "er ikke et gyldig heltall" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Valgte kolonner" diff --git a/modules/reporting/config/locales/crowdin/pl.yml b/modules/reporting/config/locales/crowdin/pl.yml index 7d6cfd0d7995..f8428c1f6eb4 100644 --- a/modules/reporting/config/locales/crowdin/pl.yml +++ b/modules/reporting/config/locales/crowdin/pl.yml @@ -81,6 +81,9 @@ pl: units: "Jednostki" validation_failure_date: "nie jest poprawną datą" validation_failure_integer: "nie jest prawidłową liczbą całkowitą" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Wybrane kolumny" diff --git a/modules/reporting/config/locales/crowdin/pt.yml b/modules/reporting/config/locales/crowdin/pt.yml index 00fc076cb013..a6caf4a34b43 100644 --- a/modules/reporting/config/locales/crowdin/pt.yml +++ b/modules/reporting/config/locales/crowdin/pt.yml @@ -81,6 +81,9 @@ pt: units: "Unidades" validation_failure_date: "não é uma data válida" validation_failure_integer: "não é um valor inteiro válido" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Colunas selecionadas" diff --git a/modules/reporting/config/locales/crowdin/ro.yml b/modules/reporting/config/locales/crowdin/ro.yml index dfd54f869702..5d71aa6ebdf8 100644 --- a/modules/reporting/config/locales/crowdin/ro.yml +++ b/modules/reporting/config/locales/crowdin/ro.yml @@ -81,6 +81,9 @@ ro: units: "Unități" validation_failure_date: "nu e o dată validă" validation_failure_integer: "nu e un întreg valid" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Coloane selectate" diff --git a/modules/reporting/config/locales/crowdin/ru.yml b/modules/reporting/config/locales/crowdin/ru.yml index 6b3c3b575fc7..3bca35ad5283 100644 --- a/modules/reporting/config/locales/crowdin/ru.yml +++ b/modules/reporting/config/locales/crowdin/ru.yml @@ -81,6 +81,9 @@ ru: units: "Модули" validation_failure_date: "не является допустимой датой" validation_failure_integer: "не является допустимым целым числом" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Выбранные столбцы" diff --git a/modules/reporting/config/locales/crowdin/rw.yml b/modules/reporting/config/locales/crowdin/rw.yml index 4533b109bf75..b193a3340c0e 100644 --- a/modules/reporting/config/locales/crowdin/rw.yml +++ b/modules/reporting/config/locales/crowdin/rw.yml @@ -81,6 +81,9 @@ rw: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/si.yml b/modules/reporting/config/locales/crowdin/si.yml index e06fedf6110f..46e03f8d87d4 100644 --- a/modules/reporting/config/locales/crowdin/si.yml +++ b/modules/reporting/config/locales/crowdin/si.yml @@ -81,6 +81,9 @@ si: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/sk.yml b/modules/reporting/config/locales/crowdin/sk.yml index ba356636540a..c1d101c1f0bf 100644 --- a/modules/reporting/config/locales/crowdin/sk.yml +++ b/modules/reporting/config/locales/crowdin/sk.yml @@ -81,6 +81,9 @@ sk: units: "Jednotky" validation_failure_date: "nie je platný dátum" validation_failure_integer: "nie je platné celé číslo" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Vybrané stĺpce" diff --git a/modules/reporting/config/locales/crowdin/sl.yml b/modules/reporting/config/locales/crowdin/sl.yml index cb041440b37a..430c8fb86ee2 100644 --- a/modules/reporting/config/locales/crowdin/sl.yml +++ b/modules/reporting/config/locales/crowdin/sl.yml @@ -81,6 +81,9 @@ sl: units: "Enote" validation_failure_date: "ni veljaven datum" validation_failure_integer: "ni veljavno število" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Izbrani stolpci" diff --git a/modules/reporting/config/locales/crowdin/sr.yml b/modules/reporting/config/locales/crowdin/sr.yml index 4bd43d6d5db7..a383352a85ac 100644 --- a/modules/reporting/config/locales/crowdin/sr.yml +++ b/modules/reporting/config/locales/crowdin/sr.yml @@ -81,6 +81,9 @@ sr: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/sv.yml b/modules/reporting/config/locales/crowdin/sv.yml index 7319fc1c03ad..f7d5b6b49297 100644 --- a/modules/reporting/config/locales/crowdin/sv.yml +++ b/modules/reporting/config/locales/crowdin/sv.yml @@ -81,6 +81,9 @@ sv: units: "Enheter" validation_failure_date: "inte är ett giltigt datum" validation_failure_integer: "är inte ett giltigt heltal" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Valda kolumner" diff --git a/modules/reporting/config/locales/crowdin/th.yml b/modules/reporting/config/locales/crowdin/th.yml index c6c98825be98..d15d3a6d5c61 100644 --- a/modules/reporting/config/locales/crowdin/th.yml +++ b/modules/reporting/config/locales/crowdin/th.yml @@ -81,6 +81,9 @@ th: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/tr.yml b/modules/reporting/config/locales/crowdin/tr.yml index 550173683d5e..5e8914746731 100644 --- a/modules/reporting/config/locales/crowdin/tr.yml +++ b/modules/reporting/config/locales/crowdin/tr.yml @@ -81,6 +81,9 @@ tr: units: "Birimler" validation_failure_date: "geçerli bir tarih değil" validation_failure_integer: "geçerli bir tamsayı değil" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Seçilen sütunlar" diff --git a/modules/reporting/config/locales/crowdin/uk.yml b/modules/reporting/config/locales/crowdin/uk.yml index 72bbc606d736..494245621b2e 100644 --- a/modules/reporting/config/locales/crowdin/uk.yml +++ b/modules/reporting/config/locales/crowdin/uk.yml @@ -81,6 +81,9 @@ uk: units: "Одиниці" validation_failure_date: "є недійсною датою" validation_failure_integer: "не є дійсним цілим числом" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Вибрані стовпці" diff --git a/modules/reporting/config/locales/crowdin/vi.yml b/modules/reporting/config/locales/crowdin/vi.yml index 71df19b1a5d1..37e466b28b30 100644 --- a/modules/reporting/config/locales/crowdin/vi.yml +++ b/modules/reporting/config/locales/crowdin/vi.yml @@ -81,6 +81,9 @@ vi: units: "Units" validation_failure_date: "is not a valid date" validation_failure_integer: "is not a valid integer" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "Selected columns" diff --git a/modules/reporting/config/locales/crowdin/zh-TW.yml b/modules/reporting/config/locales/crowdin/zh-TW.yml index 022791238538..0c595b087156 100644 --- a/modules/reporting/config/locales/crowdin/zh-TW.yml +++ b/modules/reporting/config/locales/crowdin/zh-TW.yml @@ -81,6 +81,9 @@ zh-TW: units: "單位" validation_failure_date: "不是一個有效日期" validation_failure_integer: "不是一個有效的整數" + export: + cost_reports: + title: "Your Cost Reports XLS export" reporting: group_by: selected_columns: "選擇列" diff --git a/modules/storages/config/locales/crowdin/af.yml b/modules/storages/config/locales/crowdin/af.yml index 034db3842e3b..106e031a0099 100644 --- a/modules/storages/config/locales/crowdin/af.yml +++ b/modules/storages/config/locales/crowdin/af.yml @@ -43,12 +43,19 @@ af: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ af: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ af: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Naam" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ af: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/ar.yml b/modules/storages/config/locales/crowdin/ar.yml index 5e199d890278..ad003997bb9d 100644 --- a/modules/storages/config/locales/crowdin/ar.yml +++ b/modules/storages/config/locales/crowdin/ar.yml @@ -43,12 +43,19 @@ ar: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ ar: type_link_text: "\"تكامل OpenProject\"" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ ar: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "الاسم" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ ar: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/az.yml b/modules/storages/config/locales/crowdin/az.yml index c8f8ddf4f918..d949604c9513 100644 --- a/modules/storages/config/locales/crowdin/az.yml +++ b/modules/storages/config/locales/crowdin/az.yml @@ -43,12 +43,19 @@ az: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ az: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ az: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Name" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ az: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/be.yml b/modules/storages/config/locales/crowdin/be.yml index 16c25da95f80..6591ded2ffac 100644 --- a/modules/storages/config/locales/crowdin/be.yml +++ b/modules/storages/config/locales/crowdin/be.yml @@ -43,12 +43,19 @@ be: storages: buttons: done_continue_setup: "Гатова. Працягнуць наладку" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Замяніць OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Захаваць і працягнуць наладку" save_and_complete_setup: "Захаваць і скончыць наладку" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ be: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ be: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Стваральнік" label_file_link: "Файлавая спасылка" label_file_links: "Файлавыя спасылкі" label_name: "Імя" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ be: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/bg.yml b/modules/storages/config/locales/crowdin/bg.yml index 78a32ae4bf3c..148f2abc92a3 100644 --- a/modules/storages/config/locales/crowdin/bg.yml +++ b/modules/storages/config/locales/crowdin/bg.yml @@ -43,12 +43,19 @@ bg: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ bg: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ bg: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Име" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ bg: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/ca.yml b/modules/storages/config/locales/crowdin/ca.yml index 3b65d0478fb3..3a752d54e2ec 100644 --- a/modules/storages/config/locales/crowdin/ca.yml +++ b/modules/storages/config/locales/crowdin/ca.yml @@ -43,12 +43,19 @@ ca: storages: buttons: done_continue_setup: "Fet. Continua la instal·lació" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Substitueix l'OAuth d'OpenProject" replace_provider_type_oauth: "Substitueix l'OAuth de %{provider_type}" save_and_continue_setup: "Desar i continua la configuració" save_and_complete_setup: "Desar i completa la configuració" select_folder: "Seleccionar carpeta" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Emmagatzematges de fitxers no disponibles en aquest projecte" new: "Afegeix un emmagatzematge de fitxers a aquest projecte" @@ -58,6 +65,8 @@ ca: type_link_text: "\"Integració d'OpenProject\"" name: "Dona un nom al teu emmagatzematge per tal que els usuaris el puguin diferenciar d'altres." host: "Si us plau, afegeix l'adreça d'allotjament del teu emmagatzematge incloent el https://. No pot més llarg de 255 caràcters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "No hi ha emmagatzematges de fitxers configurats encara." no_specific_folder: "Per defecte, cada usuari començarà a la seva carpeta d'inici en carregar un fitxer." automatic_folder: "Això crearà automàticament una carpeta per defecte per aquest projecte i administrarà l'accés per a cada membre del projecte." @@ -81,11 +90,17 @@ ca: Estàs segur que vols eliminar aquest emmagatzematge? Aquesta acció també eliminarà l'emmagatzematge de tots els projectes on s'utilitza. També eliminarà tots els enllaços de fitxers dels paquets de treball que s'emmagatzemen en aquest emmagatzematge. project_storage: > Estàs segur que vols eliminar aquest emmagatzematge de fitxers d'aquest projecte? Aquesta acció també eliminarà tots els enllaços de fitxers d'aquest projecte que s'emmagatzemen en aquest emmagatzematge. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Autor" label_file_link: "Enllaç a fitxer" label_file_links: "Enllaços a fitxer" label_name: "Nom" label_host: "URL d'allotjament" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ ca: confirm_replace_oauth_application: "Estàs segur? Tots els usuaris hauran d'autoritzar de nou contra OpenProject." confirm_replace_oauth_client: "Estàs segur? Tots els usuaris hauran d'autoritzar de nou contra l'emmagatzematge." oauth_client_details_missing: "Per tal de completar la configuració, si us plau afegeix les credencials de client OAuth del teu emmagatzematge." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "L'aplicació OAuth d'OpenProject s'ha substituït correctament." diff --git a/modules/storages/config/locales/crowdin/ckb-IR.yml b/modules/storages/config/locales/crowdin/ckb-IR.yml index b7bfb6d5970c..4cfb7c8a89a7 100644 --- a/modules/storages/config/locales/crowdin/ckb-IR.yml +++ b/modules/storages/config/locales/crowdin/ckb-IR.yml @@ -43,12 +43,19 @@ ckb-IR: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ ckb-IR: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ ckb-IR: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Name" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ ckb-IR: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/cs.yml b/modules/storages/config/locales/crowdin/cs.yml index e8bbae4621a1..b5c6d8bdad1e 100644 --- a/modules/storages/config/locales/crowdin/cs.yml +++ b/modules/storages/config/locales/crowdin/cs.yml @@ -43,12 +43,19 @@ cs: storages: buttons: done_continue_setup: "Hotovo. Pokračovat v nastavení" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Nahradit OpenProject OAuth" replace_provider_type_oauth: "Nahradit %{provider_type} OAuth" save_and_continue_setup: "Uložit a pokračovat v nastavení" save_and_complete_setup: "Uložit a dokončit nastavení" select_folder: "Vyberte složku" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Úložiště souborů v tomto projektu" new: "Přidat úložiště souborů k tomuto projektu" @@ -58,6 +65,8 @@ cs: type_link_text: "„Integration OpenProject“" name: "Dejte svému úložišti jméno, aby uživatelé mohli rozlišovat mezi více úložišti." host: "Přidejte prosím adresu hostitele vašeho úložiště obsahující https://. Nemělo by být delší než 255 znaků." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Dosud nejsou nastaveny žádné úložiště souborů." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ cs: Jste si jisti, že chcete smazat toto úložiště? Toto také odstraní úložiště ze všech projektů, kde je použito. Dále také smaže všechny odkazy z pracovních balíčků do souborů, které jsou uloženy v úložišti. project_storage: > Jste si jisti, že chcete odstranit úložiště souborů z tohoto projektu? Tímto také odstraníte všechny odkazy na soubory uložené v tomto úložišti pro tento projekt. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Vytvořil" label_file_link: "Odkaz na soubor" label_file_links: "Odkazy na soubor" label_name: "Název:" label_host: "URL adresa hostitele" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ cs: confirm_replace_oauth_application: "Jste si jisti? Všichni uživatelé se budou muset znovu autorizovat proti OpenProject." confirm_replace_oauth_client: "Jste si jisti? Všichni uživatelé budou muset znovu autorizovat proti úložišti." oauth_client_details_missing: "Chcete-li dokončit nastavení, přidejte prosím přihlašovací údaje OAuth klienta z vašeho úložiště." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "OpenProject OAuth aplikace byla úspěšně nahrazena." diff --git a/modules/storages/config/locales/crowdin/da.yml b/modules/storages/config/locales/crowdin/da.yml index e115b4d89e3d..e4f4f7579cb3 100644 --- a/modules/storages/config/locales/crowdin/da.yml +++ b/modules/storages/config/locales/crowdin/da.yml @@ -43,12 +43,19 @@ da: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ da: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ da: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Navn" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ da: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/de.yml b/modules/storages/config/locales/crowdin/de.yml index 4bc307d8b5eb..4fa711d5a227 100644 --- a/modules/storages/config/locales/crowdin/de.yml +++ b/modules/storages/config/locales/crowdin/de.yml @@ -43,12 +43,19 @@ de: storages: buttons: done_continue_setup: "Fertig. Setup fortsetzen" + done_complete_setup: "Fertig, Einrichtung abgeschlossen" + edit_automatically_managed_project_folders: "Automatisch verwaltete Projektordner bearbeiten" replace_openproject_oauth: "OpenProject OAuth ersetzen" replace_provider_type_oauth: "Ersetze %{provider_type} OAuth" save_and_continue_setup: "Speichern und Setup fortsetzen" save_and_complete_setup: "Speichern und Setup abschließen" select_folder: "Ordner auswählen" + configure: "Konfigurieren" page_titles: + managed_project_folders: + title: "Automatisch verwaltete Projektordner" + subtitle: > + Lassen Sie OpenProject Ordner pro Projekt automatisch erstellen. Dies wird empfohlen, da mit dieser Option jedes Teammitglied immer über die richtigen Zugriffsrechte verfügt. project_settings: index: "Dateispeicher in diesem Projekt verfügbar" new: "Einen Datei-Speicher zum Projekt hinzufügen" @@ -58,6 +65,8 @@ de: type_link_text: "„OpenProject Integration“" name: "Geben Sie Ihrem Speicher einen Namen, damit Benutzer zwischen mehreren Speichern unterscheiden können." host: "Bitte ergänzen Sie die Host-Adresse Ihres Speichers (einschließlich https://). Sie sollte nicht länger als 255 Zeichen sein." + managed_project_folders_application_password: > + Diesen Wert kopieren von: no_storage_set_up: "Es sind noch keine Dateispeicher eingerichtet." no_specific_folder: "Standardmäßig startet jeder Benutzer in seinem eigenen Home-Ordner, wenn er eine Datei hochlädt." automatic_folder: "Dies wird automatisch einen Stammordner für dieses Projekt erstellen und die Zugriffsberechtigungen für jedes Projektmitglied verwalten." @@ -81,11 +90,17 @@ de: Sind Sie sicher, dass Sie diesen Speicher löschen möchten? Dies löscht den Speicher auch aus allen Projekten, in denen er verwendet wird. Außerdem werden alle Links von Arbeitspaketen zu Dateien gelöscht, die in diesem Speicher gespeichert sind. project_storage: > Sind Sie sicher, dass Sie diesen Datei-Speicher aus diesem Projekt entfernen möchten? Dies wird auch alle Links zu Dateien entfernen, die für dieses Projekt in diesem Speicher gespeichert sind. + label_active: "Aktiv" + label_inactive: "Inaktiv" label_creator: "Ersteller" label_file_link: "Datei-Link" label_file_links: "Datei-Links" label_name: "Name" label_host: "Host-URL" + label_managed_project_folders: + automatically_managed_folders: "Automatisch verwaltete Projektordner" + application_password: "Anwendungspasswort" + label_managed_project_folders_breadcrumb: "Automatisch verwaltete Projektordner" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ de: confirm_replace_oauth_application: "Sind Sie sicher? Alle Benutzer müssen sich erneut gegen OpenProject autorisieren." confirm_replace_oauth_client: "Sind Sie sicher? Alle Benutzer müssen sich erneut gegen den Daten-Speicher autorisieren." oauth_client_details_missing: "Um das Setup abzuschließen, fügen Sie bitte die OAuth Client-Anmeldedaten aus Ihrem Speicher hinzu." + automatically_managed_project_folder_missing: "Um die Einrichtung abzuschließen, konfigurieren Sie bitte die automatish verwalteten Projektordner für Ihren Speicher." notice_oauth_application_replaced: "Die OpenProject OAuth-Anwendung wurde erfolgreich ersetzt." diff --git a/modules/storages/config/locales/crowdin/el.yml b/modules/storages/config/locales/crowdin/el.yml index 8e7c8d3d2f68..ba9bc9a4e1eb 100644 --- a/modules/storages/config/locales/crowdin/el.yml +++ b/modules/storages/config/locales/crowdin/el.yml @@ -43,12 +43,19 @@ el: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ el: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ el: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Όνομα" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ el: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/eo.yml b/modules/storages/config/locales/crowdin/eo.yml index 49ffd26225ef..fbc165990548 100644 --- a/modules/storages/config/locales/crowdin/eo.yml +++ b/modules/storages/config/locales/crowdin/eo.yml @@ -43,12 +43,19 @@ eo: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ eo: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ eo: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Nomo" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ eo: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/es.yml b/modules/storages/config/locales/crowdin/es.yml index 3960c7f04763..81371adf0f60 100644 --- a/modules/storages/config/locales/crowdin/es.yml +++ b/modules/storages/config/locales/crowdin/es.yml @@ -43,12 +43,19 @@ es: storages: buttons: done_continue_setup: "Hecho. Continuar configuración" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Reemplazar OpenProject OAuth" replace_provider_type_oauth: "Reemplazar %{provider_type} OAuth" save_and_continue_setup: "Guardar y continuar configuración" save_and_complete_setup: "Guardar y completar configuración" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Hay almacenes de archivos disponibles en este proyecto" new: "Añadir un almacenamiento de archivos a este proyecto" @@ -58,6 +65,8 @@ es: type_link_text: "“Integración OpenProject”" name: "Dale un nombre a tu almacenamiento para que los usuarios puedan diferenciar entre múltiples almacenamientos." host: "Por favor añade la dirección de host de tu almacenamiento incluyendo el https://. No debe tener más de 255 caracteres." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Aún no se han configurado los almacenamientos de archivos." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ es: ¿Seguro que quiere eliminar este almacén? También se eliminará de todos los proyectos donde se use. Además, se quitarán todos los enlaces de los paquetes de trabajo a los archivos guardados en ese almacén. project_storage: > ¿Seguro que quiere quitar este almacén de archivos del proyecto? También se quitarán todos los enlaces a los archivos guardados en este almacén para el proyecto. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Autor" label_file_link: "Enlace de archivo" label_file_links: "Enlaces de archivos" label_name: "Nombre" label_host: "URL del host" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ es: confirm_replace_oauth_application: "¿Estás seguro? Todos los usuarios tendrán que autorizar de nuevo contra OpenProject." confirm_replace_oauth_client: "¿Estás seguro? Todos los usuarios tendrán que autorizar de nuevo en el almacenamiento." oauth_client_details_missing: "Para completar la configuración, por favor agregue las credenciales del cliente OAuth desde su almacenamiento." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "La aplicación OpenProject OAuth fue reemplazada con éxito." diff --git a/modules/storages/config/locales/crowdin/et.yml b/modules/storages/config/locales/crowdin/et.yml index f5817270e8b3..cb8b1d5d6b4b 100644 --- a/modules/storages/config/locales/crowdin/et.yml +++ b/modules/storages/config/locales/crowdin/et.yml @@ -43,12 +43,19 @@ et: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ et: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ et: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Nimi" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ et: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/eu.yml b/modules/storages/config/locales/crowdin/eu.yml index 1bb929a78fda..b0ae4b8e14b5 100644 --- a/modules/storages/config/locales/crowdin/eu.yml +++ b/modules/storages/config/locales/crowdin/eu.yml @@ -43,12 +43,19 @@ eu: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ eu: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ eu: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Name" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ eu: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/fa.yml b/modules/storages/config/locales/crowdin/fa.yml index 429fd299e0b6..fb90f2052319 100644 --- a/modules/storages/config/locales/crowdin/fa.yml +++ b/modules/storages/config/locales/crowdin/fa.yml @@ -43,12 +43,19 @@ fa: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ fa: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ fa: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "نام" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ fa: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/fi.yml b/modules/storages/config/locales/crowdin/fi.yml index eda30019c254..4930434b735e 100644 --- a/modules/storages/config/locales/crowdin/fi.yml +++ b/modules/storages/config/locales/crowdin/fi.yml @@ -43,12 +43,19 @@ fi: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ fi: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ fi: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Nimi" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ fi: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/fil.yml b/modules/storages/config/locales/crowdin/fil.yml index 63275abddf22..75fdc6795664 100644 --- a/modules/storages/config/locales/crowdin/fil.yml +++ b/modules/storages/config/locales/crowdin/fil.yml @@ -43,12 +43,19 @@ fil: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ fil: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ fil: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Pangalan" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ fil: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/fr.yml b/modules/storages/config/locales/crowdin/fr.yml index f3eec7c1d161..b92918be2694 100644 --- a/modules/storages/config/locales/crowdin/fr.yml +++ b/modules/storages/config/locales/crowdin/fr.yml @@ -43,12 +43,19 @@ fr: storages: buttons: done_continue_setup: "Terminé. Poursuivre la configuration" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Remplacer OAuth OpenProject" replace_provider_type_oauth: "Remplacer OAuth %{provider_type}" save_and_continue_setup: "Enregistrer et continuer la configuration" save_and_complete_setup: "Enregistrer et terminer la configuration" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Stockages de fichiers disponibles dans ce projet" new: "Ajouter un stockage de fichiers à ce projet" @@ -58,6 +65,8 @@ fr: type_link_text: "« Intégration OpenProject »" name: "Donnez à votre stockage un nom pour que les utilisateurs puissent se différencier entre plusieurs stockages." host: "Veuillez ajouter l'adresse d'hôte de votre stockage, y compris le https://. Il ne doit pas dépasser 255 caractères." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Aucun stockage de fichiers configuré pour le moment." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ fr: Voulez-vous vraiment supprimer ce stockage ? Cela supprimera également le stockage de tous les projets où il est utilisé. De plus, il supprimera également tous les liens des lots de travaux vers les fichiers stockés dans ce stockage. project_storage: > Voulez-vous vraiment supprimer ce stockage de fichier de ce projet ? Cela supprimera aussi tous les liens vers des fichiers stockés dans ce stockage pour ce projet. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Créateur" label_file_link: "Lien du fichier" label_file_links: "Liens de fichier" label_name: "Nom" label_host: "URL de l'hôte" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OAuth OpenProject" nextcloud: "OAuth Nextcloud" @@ -110,4 +125,5 @@ fr: confirm_replace_oauth_application: "Êtes-vous sûr ? Tous les utilisateurs devront réautoriser OpenProject." confirm_replace_oauth_client: "Êtes-vous sûr ? Tous les utilisateurs devront réautoriser sur le stockage." oauth_client_details_missing: "Pour terminer la configuration, veuillez ajouter les identifiants du client OAuth depuis votre espace de stockage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "L'application OAuth OpenProject a bien été remplacée." diff --git a/modules/storages/config/locales/crowdin/he.yml b/modules/storages/config/locales/crowdin/he.yml index c6b11f5855c8..3f8edca59442 100644 --- a/modules/storages/config/locales/crowdin/he.yml +++ b/modules/storages/config/locales/crowdin/he.yml @@ -43,12 +43,19 @@ he: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ he: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ he: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "שם" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ he: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/hi.yml b/modules/storages/config/locales/crowdin/hi.yml index f8f02bbcd7d0..907ba6090f16 100644 --- a/modules/storages/config/locales/crowdin/hi.yml +++ b/modules/storages/config/locales/crowdin/hi.yml @@ -43,12 +43,19 @@ hi: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ hi: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ hi: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "नाम" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ hi: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/hr.yml b/modules/storages/config/locales/crowdin/hr.yml index 6527135e8e38..d45fd180c7de 100644 --- a/modules/storages/config/locales/crowdin/hr.yml +++ b/modules/storages/config/locales/crowdin/hr.yml @@ -43,12 +43,19 @@ hr: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ hr: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ hr: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Naziv" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ hr: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/hu.yml b/modules/storages/config/locales/crowdin/hu.yml index cea232f79e9d..0c06184684c2 100644 --- a/modules/storages/config/locales/crowdin/hu.yml +++ b/modules/storages/config/locales/crowdin/hu.yml @@ -43,12 +43,19 @@ hu: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ hu: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ hu: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "Fájl hivatkozás" label_file_links: "Fájl hivatkozások" label_name: "Név" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ hu: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/id.yml b/modules/storages/config/locales/crowdin/id.yml index c6e46ff73b0f..618809a10a9f 100644 --- a/modules/storages/config/locales/crowdin/id.yml +++ b/modules/storages/config/locales/crowdin/id.yml @@ -43,12 +43,19 @@ id: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ id: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ id: Apakah anda yakin untuk menghapus penyimpanan ini? Hal ini akan juga menghapus penyimpanan dari semua proyek yang anda gunakan sekarang. Lebih lanjut, ini akan menghapus semua tautan dari paket kerja ke berkas yang tersimpan pada penyimpanan tersebut. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Pembuat" label_file_link: "File link" label_file_links: "File links" label_name: "Nama" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ id: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/it.yml b/modules/storages/config/locales/crowdin/it.yml index 4b97fe982e41..74096fe8c6bd 100644 --- a/modules/storages/config/locales/crowdin/it.yml +++ b/modules/storages/config/locales/crowdin/it.yml @@ -43,12 +43,19 @@ it: storages: buttons: done_continue_setup: "Fatto. Continua la configurazione" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Sostituisci OpenProject OAuth" replace_provider_type_oauth: "Sostituisci %{provider_type} OAuth" save_and_continue_setup: "Salva e continua la configurazione" save_and_complete_setup: "Salva e completa la configurazione" select_folder: "Seleziona cartella" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File di archiviazione disponibili in questo progetto" new: "Aggiungi un archivio file al progetto" @@ -58,6 +65,8 @@ it: type_link_text: "“Integrazione OpenProject”" name: "Dai al tuo archivio un nome in modo che gli utenti lo possano distinguere tra più archivi." host: "Aggiungi l'indirizzo host del tuo spazio di archiviazione incluso https://. Non dovrebbe essere più lungo di 255 caratteri." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Ancora nessuna archiviazione di file configurata." no_specific_folder: "Di default, ogni utente inizierà alla propria cartella home, al caricamento di un file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ it: Vuoi davvero eliminare questo archivio? Ciò eliminerà anche lo spazio di archiviazione da tutti i progetti in cui viene utilizzato. Inoltre, eliminerà anche tutti i collegamenti dalle macro-attività ai file archiviati in tale archivio. project_storage: > Vuoi davvero rimuovere questo archivio di file da questo progetto? Ciò rimuoverà anche tutti i collegamenti ai file archiviati in questo archivio per questo progetto. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Autore" label_file_link: "Link del File" label_file_links: "Link dei File" label_name: "Nome" label_host: "URL dell'host" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ it: confirm_replace_oauth_application: "Procedere? Tutti gli utenti dovranno autorizzarsi nuovamente con OpenProject." confirm_replace_oauth_client: "Procedere? Tutti gli utenti dovranno autorizzarsi nuovamente con l'archivio." oauth_client_details_missing: "Per completare la configurazione, aggiungi le credenziali del client OAuth dal tuo archivio." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "L'applicazione OpenProject OAuth è stata sostituita correttamente." diff --git a/modules/storages/config/locales/crowdin/ja.yml b/modules/storages/config/locales/crowdin/ja.yml index 101cd06e318e..d91879bd2abe 100644 --- a/modules/storages/config/locales/crowdin/ja.yml +++ b/modules/storages/config/locales/crowdin/ja.yml @@ -43,12 +43,19 @@ ja: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ ja: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ ja: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "名称" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ ja: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/js-no.yml b/modules/storages/config/locales/crowdin/js-no.yml index e96fcca7c8ec..1f64ab15f899 100644 --- a/modules/storages/config/locales/crowdin/js-no.yml +++ b/modules/storages/config/locales/crowdin/js-no.yml @@ -50,7 +50,7 @@ Are you sure you want to unlink the file from this work package? Unlinking does not affect the original file and only removes the connection to this work package. remove_short: "Remove link" select: "Select files" - select_all: "Select all" + select_all: "Velg alle" selection: zero: "Select files to link" one: "Link 1 file" diff --git a/modules/storages/config/locales/crowdin/ka.yml b/modules/storages/config/locales/crowdin/ka.yml index beb5fa49ad61..755c4bea5f69 100644 --- a/modules/storages/config/locales/crowdin/ka.yml +++ b/modules/storages/config/locales/crowdin/ka.yml @@ -43,12 +43,19 @@ ka: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ ka: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ ka: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Name" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ ka: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/ko.yml b/modules/storages/config/locales/crowdin/ko.yml index 5f6017409e87..433cf06147a0 100644 --- a/modules/storages/config/locales/crowdin/ko.yml +++ b/modules/storages/config/locales/crowdin/ko.yml @@ -43,12 +43,19 @@ ko: storages: buttons: done_continue_setup: "완료. 설정을 계속하세요." + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "OpenProject OAuth 바꾸기" replace_provider_type_oauth: "%{provider_type} OAuth 바꾸기" save_and_continue_setup: "저장하고 설정 계속하기" save_and_complete_setup: "저장하고 설정 완료" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "이 프로젝트에서 사용 가능한 파일 저장소" new: "이 프로젝트에 파일 저장소 추가" @@ -58,6 +65,8 @@ ko: type_link_text: "“Integration OpenProject”" name: "사용자가 여러 저장소 간에 구별할 수 있도록 저장소에 이름을 지정하세요." host: "https://를 포함하여 저장소의 호스트 주소를 추가하세요. 255자 이하여야 합니다." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "아직 파일 저장소가 설정되지 않았습니다." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ ko: 이 저장소를 삭제하시겠습니까? 이렇게 하면 이 저장소가 사용되는 모든 프로젝트에서도 삭제됩니다. 또한 해당 저장소에 저장된 파일에 대한 모든 링크도 작업 패키지에서 삭제합니다. project_storage: > 이 프로젝트에서 해당 파일 저장소를 제거하시겠습니까? 이렇게 하면 이 프로젝트에서는 해당 저장소에 저장된 파일에 대한 모든 링크도 제거됩니다. + label_active: "Active" + label_inactive: "Inactive" label_creator: "생성자" label_file_link: "파일 링크" label_file_links: "파일 링크" label_name: "이름" label_host: "호스트 URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ ko: confirm_replace_oauth_application: "계속하시겠습니까? 모든 사용자는 OpenProject에 대해 다시 권한을 부여해야 합니다." confirm_replace_oauth_client: "계속하시겠습니까? 모든 사용자는 저장소에 대해 다시 권한을 부여해야 합니다." oauth_client_details_missing: "설정을 완료하려면 저장소에서 OAuth 클라이언트 자격 증명을 추가하세요." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "OpenProject OAuth 애플리케이션이 성공적으로 교체되었습니다." diff --git a/modules/storages/config/locales/crowdin/lol.yml b/modules/storages/config/locales/crowdin/lol.yml index 4e363d7f53c7..4432d6f4c24c 100644 --- a/modules/storages/config/locales/crowdin/lol.yml +++ b/modules/storages/config/locales/crowdin/lol.yml @@ -43,12 +43,19 @@ lol: storages: buttons: done_continue_setup: "crwdns823076:0crwdne823076:0" + done_complete_setup: "crwdns858767:0crwdne858767:0" + edit_automatically_managed_project_folders: "crwdns858769:0crwdne858769:0" replace_openproject_oauth: "crwdns823078:0crwdne823078:0" replace_provider_type_oauth: "crwdns823080:0%{provider_type}crwdne823080:0" save_and_continue_setup: "crwdns823136:0crwdne823136:0" save_and_complete_setup: "crwdns823138:0crwdne823138:0" select_folder: "crwdns854395:0crwdne854395:0" + configure: "crwdns858771:0crwdne858771:0" page_titles: + managed_project_folders: + title: "crwdns858773:0crwdne858773:0" + subtitle: > + crwdns858775:0crwdne858775:0 project_settings: index: "crwdns807928:0crwdne807928:0" new: "crwdns824326:0crwdne824326:0" @@ -58,6 +65,8 @@ lol: type_link_text: "crwdns823144:0crwdne823144:0" name: "crwdns823146:0crwdne823146:0" host: "crwdns823148:0crwdne823148:0" + managed_project_folders_application_password: > + crwdns858777:0crwdne858777:0 no_storage_set_up: "crwdns844777:0crwdne844777:0" no_specific_folder: "crwdns852277:0crwdne852277:0" automatic_folder: "crwdns854931:0crwdne854931:0" @@ -81,11 +90,17 @@ lol: crwdns807948:0crwdne807948:0 project_storage: > crwdns807950:0crwdne807950:0 + label_active: "crwdns858779:0crwdne858779:0" + label_inactive: "crwdns858781:0crwdne858781:0" label_creator: "crwdns807952:0crwdne807952:0" label_file_link: "crwdns807954:0crwdne807954:0" label_file_links: "crwdns807956:0crwdne807956:0" label_name: "crwdns807958:0crwdne807958:0" label_host: "crwdns824866:0crwdne824866:0" + label_managed_project_folders: + automatically_managed_folders: "crwdns858783:0crwdne858783:0" + application_password: "crwdns858785:0crwdne858785:0" + label_managed_project_folders_breadcrumb: "crwdns858787:0crwdne858787:0" label_oauth_breadcrumb: openproject: "crwdns824160:0crwdne824160:0" nextcloud: "crwdns824162:0crwdne824162:0" @@ -110,4 +125,5 @@ lol: confirm_replace_oauth_application: "crwdns823084:0crwdne823084:0" confirm_replace_oauth_client: "crwdns816768:0crwdne816768:0" oauth_client_details_missing: "crwdns816770:0crwdne816770:0" + automatically_managed_project_folder_missing: "crwdns858789:0crwdne858789:0" notice_oauth_application_replaced: "crwdns823086:0crwdne823086:0" diff --git a/modules/storages/config/locales/crowdin/lt.yml b/modules/storages/config/locales/crowdin/lt.yml index 4bf1b5c1bdf7..f71f5e56d879 100644 --- a/modules/storages/config/locales/crowdin/lt.yml +++ b/modules/storages/config/locales/crowdin/lt.yml @@ -43,12 +43,19 @@ lt: storages: buttons: done_continue_setup: "Atlikta. Tęsti nustatymą" + done_complete_setup: "Atlikta, baigti nustatymą" + edit_automatically_managed_project_folders: "Keisti automatiškai sukonfigūruotus projekto aplankus" replace_openproject_oauth: "Keisti OpenProject OAuth" replace_provider_type_oauth: "Keisti %{provider_type} OAuth" save_and_continue_setup: "Įrašyti r tęsti nustatymą" save_and_complete_setup: "Įrašyti ir baigti nustatymą" select_folder: "Parinkti aplanką" + configure: "Konfigūruoti" page_titles: + managed_project_folders: + title: "Automatiškai valdomi projekto aplankai" + subtitle: > + Leisti OpenProject automatiškai kurti projektų aplankus. Tai rekomenduojama, nes užtikrina, kad kiekvienas komandos narys visada turi reikiamas prieigos teises. project_settings: index: "Šiame projekte prieinamos failų saugyklos." new: "Pridėti failų saugyklą šiam projektui" @@ -58,6 +65,8 @@ lt: type_link_text: "„Integration OpenProject“" name: "Suteikite jūsų saugyklai pavadinimą, kad naudotojai galėtų atskirti tarp skirtingų saugyklų." host: "Prašome pridėti jūsų saugyklos stoties adresą, įskaitant https://. Jis turi būti ne ilgesnis už 255 simbolius." + managed_project_folders_application_password: > + Kopijuoti šią reikšmę iš no_storage_set_up: "Dar nėra nustatyta nei viena failų saugykla." no_specific_folder: "Pagal nutylėjimą visi naudotojai įkeldami naujus failus pradės savo namų aplanke." automatic_folder: "Tai automatiškai sukurs šakninį aplanką šiam projektui ir tvarkys prieigos teises kiekvienam projekto nariui." @@ -81,11 +90,17 @@ lt: Ar tikrai norite ištrinti šią failų saugyklą? Saugykla taipogi bus ištrinta iš visų projektų, kur ji naudojama. Taipogi tai ištrins visus ryšius iš darbo paketų į failus, esančius šioje saugykloje. project_storage: > Ar tikrai norite išimti šią failų saugyklą iš jūsų projekto? Taipogi bus išimtos visos šio projekto nuorodos į failus, saugomus šioje saugykloje. + label_active: "Aktyvus" + label_inactive: "Neaktyvus" label_creator: "Kūrėjas" label_file_link: "Failo nuoroda" label_file_links: "Failo nuorodos" label_name: "Pavadinimas" label_host: "Stoties URL" + label_managed_project_folders: + automatically_managed_folders: "Automatiškai valdomi aplankai" + application_password: "Aplikacijos slaptažpdis" + label_managed_project_folders_breadcrumb: "Automatiškai valdomi projekto aplankai" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ lt: confirm_replace_oauth_application: "Ar jūs įsitikinę? Visi naudotojai turės iš naujo autorizuotis su OpenProject." confirm_replace_oauth_client: "Ar jūs įsitikinę? Visi naudotojai turės iš naujo autorizuotis su saugykla." oauth_client_details_missing: "Norėdami baigti nustatymą, prašome pridėti OAuth kliento prisijungimo duomenis iš jūsų saugyklos." + automatically_managed_project_folder_missing: "Kad užbaigtumėte nustatymą, prašome jūsų saugykloje sukonfigūruoti automatiškai valdumus projekto aplankus." notice_oauth_application_replaced: "OpenProject OAuth aplikacija buvo sėkmingai pakeista." diff --git a/modules/storages/config/locales/crowdin/lv.yml b/modules/storages/config/locales/crowdin/lv.yml index 4f1717f0d821..a444da570fcc 100644 --- a/modules/storages/config/locales/crowdin/lv.yml +++ b/modules/storages/config/locales/crowdin/lv.yml @@ -43,12 +43,19 @@ lv: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ lv: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ lv: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Nosaukums" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ lv: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/mn.yml b/modules/storages/config/locales/crowdin/mn.yml index 3420292dde55..d234cc1908ed 100644 --- a/modules/storages/config/locales/crowdin/mn.yml +++ b/modules/storages/config/locales/crowdin/mn.yml @@ -43,12 +43,19 @@ mn: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ mn: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ mn: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Name" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ mn: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/ne.yml b/modules/storages/config/locales/crowdin/ne.yml index 81abe75b18ee..ca6e7672b72f 100644 --- a/modules/storages/config/locales/crowdin/ne.yml +++ b/modules/storages/config/locales/crowdin/ne.yml @@ -43,12 +43,19 @@ ne: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ ne: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ ne: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Name" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ ne: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/nl.yml b/modules/storages/config/locales/crowdin/nl.yml index b570d3ee27dc..6e04d4a3afe9 100644 --- a/modules/storages/config/locales/crowdin/nl.yml +++ b/modules/storages/config/locales/crowdin/nl.yml @@ -43,12 +43,19 @@ nl: storages: buttons: done_continue_setup: "Klaar. Ga verder met instellen" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Vervang OpenProject OAuth" replace_provider_type_oauth: "Vervang %{provider_type} OAuth" save_and_continue_setup: "Opslaan en doorgaan met instellen" save_and_complete_setup: "Opslaan en de installatie voltooien" select_folder: "Selecteer map" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Bestandsopslag beschikbaar in dit project" new: "Voeg een bestandsopslag toe aan dit project" @@ -58,6 +65,8 @@ nl: type_link_text: "Integratie met OpenProject\"" name: "Geef uw opslag een naam zodat gebruikers onderscheid kunnen maken tussen meerdere opslagplaatsen." host: "Voeg het hostadres van je opslag toe, inclusief de https://. Het mag niet langer dan 255 tekens zijn." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ nl: Weet u zeker dat u deze opslag wilt verwijderen? Dit zal ook de opslag verwijderen uit alle projecten waar het wordt gebruikt. Bovendien zal het alle links van werkpakketten naar bestanden die in die opslag zijn opgeslagen verwijderen. project_storage: > Weet u zeker dat u deze bestandsopslag wilt verwijderen uit dit project? Dit verwijdert ook alle koppelingen naar bestanden die zijn opgeslagen in deze opslag voor dit project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Maker" label_file_link: "Bestand link" label_file_links: "Bestand links" label_name: "Naam" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ nl: confirm_replace_oauth_application: "Weet je het zeker? Alle gebruikers zullen opnieuw toestemming moeten geven tegen OpenProject." confirm_replace_oauth_client: "Weet je het zeker? Alle gebruikers zullen opnieuw toestemming moeten geven tegen de opslag." oauth_client_details_missing: "Om de installatie te voltooien, moet u OAuth client referenties toevoegen vanuit uw opslag." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "De OpenProject OAuth applicatie is succesvol vervangen." diff --git a/modules/storages/config/locales/crowdin/no.yml b/modules/storages/config/locales/crowdin/no.yml index 72d65e9b222c..729bf19e153d 100644 --- a/modules/storages/config/locales/crowdin/no.yml +++ b/modules/storages/config/locales/crowdin/no.yml @@ -43,12 +43,19 @@ storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Navn" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/pl.yml b/modules/storages/config/locales/crowdin/pl.yml index b52eb7ebe4aa..82d25ef3d386 100644 --- a/modules/storages/config/locales/crowdin/pl.yml +++ b/modules/storages/config/locales/crowdin/pl.yml @@ -43,12 +43,19 @@ pl: storages: buttons: done_continue_setup: "Gotowe. Kontynuuj konfigurację" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Zastąp OpenProject OAuth" replace_provider_type_oauth: "Zastąp %{provider_type} OAuth" save_and_continue_setup: "Zapisz i kontynuuj konfigurację" save_and_complete_setup: "Zapisz i zakończ konfigurację" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Magazyny plików dostępne w tym projekcie" new: "Dodaj magazyn plików do tego projektu" @@ -58,6 +65,8 @@ pl: type_link_text: "“Integration OpenProject”" name: "Nazwij swój magazyn pamięci, aby użytkownicy mogli je rozróżniać, jeśli występuje ich wiele." host: "Proszę dodać adres hosta magazynu wraz z https://. Nie powinien być dłuższy niż 255 znaków." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Nie ma jeszcze skonfigurowanych magazynów plików." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ pl: Czy na pewno chcesz usunąć ten magazyn? Spowoduje to również jego usunięcie z wszystkich projektów, w których jest używany. Ponadto usunięte zostaną wszystkie linki z pakietów roboczych do plików, które są przechowywane w tym magazynie. project_storage: > Czy na pewno chcesz usunąć ten plik z tego projektu? Spowoduje to również usunięcie wszystkich linków do plików przechowywanych w magazynie tego projektu. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Twórca" label_file_link: "Link do pliku" label_file_links: "Linki do plików" label_name: "Nazwa" label_host: "Adres URL hosta " + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ pl: confirm_replace_oauth_application: "Na pewno? Wszyscy użytkownicy będą musieli dokonać ponownej autoryzacji w stosunku do OpenProject." confirm_replace_oauth_client: "Na pewno? Wszyscy użytkownicy będą musieli ponownie autoryzować swoje magazyny pamięci." oauth_client_details_missing: "Aby zakończyć konfigurację, dodaj poświadczenia klienta OAuth ze swojego magazynu pamięci." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "Aplikacja OpenProject OAuth została pomyślnie zastąpiona." diff --git a/modules/storages/config/locales/crowdin/pt.yml b/modules/storages/config/locales/crowdin/pt.yml index 2f0f07198286..c1f52cd5b3c7 100644 --- a/modules/storages/config/locales/crowdin/pt.yml +++ b/modules/storages/config/locales/crowdin/pt.yml @@ -43,12 +43,19 @@ pt: storages: buttons: done_continue_setup: "Concluído. Continuar configuração" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Substituir OAuth OpenProject" replace_provider_type_oauth: "Substituir OAuth %{provider_type}" save_and_continue_setup: "Salvar e continuar configuração" save_and_complete_setup: "Salvar e concluir configuração" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Armazenamento de arquivos disponíveis neste projeto" new: "Adicionar um armazenamento de arquivos a este projeto" @@ -58,6 +65,8 @@ pt: type_link_text: "“Integração OpenProject”" name: "Dê um nome a seu armazenamento para que os usuários possam diferenciar vários armazenamentos." host: "Adicione o endereço do host de seu armazenamento incluindo o https://. Ele não deve ter mais de 255 caracteres." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Ainda não há armazenamento de arquivos configurado." no_specific_folder: "Por padrão, cada usuário iniciará em sua própria pasta pessoal quando fizer upload de um arquivo." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ pt: Tem certeza de que deseja excluir este armazenamento? Isso também excluirá o armazenamento de todos os projetos em que for usado. Além disso, também excluirá todos os vínculos de pacotes de trabalho para arquivos armazenados nesse armazenamento. project_storage: > Tem certeza de que deseja remover este armazenamento de arquivos deste projeto? Isso também removerá todos os vínculos para arquivos armazenados neste armazenamento para este projeto. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Criador" label_file_link: "Vínculo do arquivo" label_file_links: "Vínculos dos arquivos" label_name: "Nome" label_host: "URL do host" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OAuth OpenProject" nextcloud: "OAuth Nextcloud" @@ -110,4 +125,5 @@ pt: confirm_replace_oauth_application: "Tem certeza? Todos os usuários terão que autorizar novamente com o OpenProject." confirm_replace_oauth_client: "Tem certeza? Todos os usuários terão que autorizar novamente no armazenamento." oauth_client_details_missing: "Para concluir a configuração, adicione as credenciais do cliente OAuth do seu armazenamento." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "O aplicativo OAuth OpenProject foi substituído com sucesso." diff --git a/modules/storages/config/locales/crowdin/ro.yml b/modules/storages/config/locales/crowdin/ro.yml index ab790dc56761..bd8d403fa2f2 100644 --- a/modules/storages/config/locales/crowdin/ro.yml +++ b/modules/storages/config/locales/crowdin/ro.yml @@ -43,12 +43,19 @@ ro: storages: buttons: done_continue_setup: "Terminat. Continuă configurarea" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Înlocuiește OpenProject OAuth" replace_provider_type_oauth: "Înlocuiește %{provider_type} OAuth" save_and_continue_setup: "Salvează și continuă configurarea" save_and_complete_setup: "Salvează și finalizează configurarea" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Stocare de fișiere disponibile în acest proiect" new: "Adaugă un fișier de stocare în acest proiect" @@ -58,6 +65,8 @@ ro: type_link_text: "Integrare OpenProject”" name: "Dați un nume stocării pentru ca utilizatorii să poată diferenția între mai multe spațiul de stocare." host: "Vă rugăm să adăugați adresa de găzduire a spațiului de stocare, inclusiv https://. Nu trebuie să fie mai lungă de 255 de caractere." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Nu există încă nici un fișier de stocare configurat." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ ro: Sunteţi sigur că doriţi să ştergeţi acest stocare? Acest lucru va şterge şi stocarea din toate proiectele în care este folosit. În plus, va șterge toate link-urile din pachetele de lucru către fișierele care sunt stocate în stocare. project_storage: > Ești sigur că vrei să ștergi această stocare de fișiere din acest proiect? Acest lucru va elimina, de asemenea, toate link-urile către fișierele stocate în această stocare pentru acest proiect. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "Link-ul fișierului" label_file_links: "Link-uri fișier" label_name: "Nume" label_host: "URL Gazdă" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Ecran Nextcloud" @@ -110,4 +125,5 @@ ro: confirm_replace_oauth_application: "Ești sigur? Toți utilizatorii vor trebui să autorizeze din nou împotriva OpenProject." confirm_replace_oauth_client: "Ești sigur? Toți utilizatorii vor trebui să autorizeze din nou împotriva stocării." oauth_client_details_missing: "Pentru a finaliza configurarea, vă rugăm să adăugați credențialele clientului OAuth din spațiul de stocare." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "Aplicația OpenProject OAuth a fost înlocuită cu succes." diff --git a/modules/storages/config/locales/crowdin/ru.yml b/modules/storages/config/locales/crowdin/ru.yml index 049e3cdd0eb3..07612f4dea6c 100644 --- a/modules/storages/config/locales/crowdin/ru.yml +++ b/modules/storages/config/locales/crowdin/ru.yml @@ -43,12 +43,19 @@ ru: storages: buttons: done_continue_setup: "Готово. Продолжить установку" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Заменить OAuth OpenProject" replace_provider_type_oauth: "Заменить %{provider_type} OAuth" save_and_continue_setup: "Сохранить и продолжить установку" save_and_complete_setup: "Сохранить и завершить установку" select_folder: "Выберите папку" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Файловые хранилища, доступные в этом проекте" new: "Добавить хранилище файлов в этот проект" @@ -58,6 +65,8 @@ ru: type_link_text: "«Интеграционный OpenProject»" name: "Дайте вашему хранилищу имя, чтобы пользователи могли различать между несколькими хранилищами." host: "Пожалуйста, добавьте адрес вашего хранилища, включая https://. Он не должен быть длиннее 255 символов." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Нет настроенных хранилищ файлов." no_specific_folder: "По умолчанию каждый пользователь при загрузке файла начинает работу со своей собственной домашней папки." automatic_folder: "Это автоматически создаст корневую папку для этого проекта и будет управлять правами доступа для каждого участника проекта." @@ -81,11 +90,17 @@ ru: Вы уверены, что хотите удалить это хранилище? Это также удалит хранилище из всех проектов, где оно используется. Кроме того, будут удалены все ссылки из пакетов работ на файлы, хранящиеся в этом хранилище. project_storage: > Вы уверены, что хотите удалить это хранилище файлов из проекта? Это также удалит все ссылки на файлы, хранящиеся в этом хранилище для этого проекта. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Создатель" label_file_link: "Ссылка на файл" label_file_links: "Ссылки на файл" label_name: "Имя" label_host: "URL хоста" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ ru: confirm_replace_oauth_application: "Вы уверены? Всем пользователям придется снова авторизоваться в OpenProject." confirm_replace_oauth_client: "Вы уверены? Все пользователи должны будут снова авторизоваться на хранилище." oauth_client_details_missing: "Чтобы завершить установку, пожалуйста, добавьте учетные данные клиента OAuth из вашего хранилища." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "Приложение OpenProject OAuth успешно заменено." diff --git a/modules/storages/config/locales/crowdin/rw.yml b/modules/storages/config/locales/crowdin/rw.yml index 7c21dcd0152b..b5969df06e67 100644 --- a/modules/storages/config/locales/crowdin/rw.yml +++ b/modules/storages/config/locales/crowdin/rw.yml @@ -43,12 +43,19 @@ rw: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ rw: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ rw: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Name" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ rw: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/si.yml b/modules/storages/config/locales/crowdin/si.yml index ab1bb5e37bc1..2d8fd408a22a 100644 --- a/modules/storages/config/locales/crowdin/si.yml +++ b/modules/storages/config/locales/crowdin/si.yml @@ -43,12 +43,19 @@ si: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ si: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ si: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "නම" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ si: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/sk.yml b/modules/storages/config/locales/crowdin/sk.yml index c4b7c5b08150..684da40635e9 100644 --- a/modules/storages/config/locales/crowdin/sk.yml +++ b/modules/storages/config/locales/crowdin/sk.yml @@ -43,12 +43,19 @@ sk: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ sk: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ sk: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Názov" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ sk: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/sl.yml b/modules/storages/config/locales/crowdin/sl.yml index 65d2f2e64e4a..0ff13b31d419 100644 --- a/modules/storages/config/locales/crowdin/sl.yml +++ b/modules/storages/config/locales/crowdin/sl.yml @@ -43,12 +43,19 @@ sl: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ sl: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ sl: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Ime" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ sl: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/sr.yml b/modules/storages/config/locales/crowdin/sr.yml index 0eb035d3414a..8f036ddb8dbc 100644 --- a/modules/storages/config/locales/crowdin/sr.yml +++ b/modules/storages/config/locales/crowdin/sr.yml @@ -43,12 +43,19 @@ sr: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ sr: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ sr: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Name" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ sr: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/sv.yml b/modules/storages/config/locales/crowdin/sv.yml index a61d87a8c18c..eaacd0ec93ca 100644 --- a/modules/storages/config/locales/crowdin/sv.yml +++ b/modules/storages/config/locales/crowdin/sv.yml @@ -43,12 +43,19 @@ sv: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ sv: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ sv: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Namn" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ sv: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/th.yml b/modules/storages/config/locales/crowdin/th.yml index 9ecdfb61cf52..349752328d5b 100644 --- a/modules/storages/config/locales/crowdin/th.yml +++ b/modules/storages/config/locales/crowdin/th.yml @@ -43,12 +43,19 @@ th: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ th: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ th: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "ชื่อ" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ th: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/tr.yml b/modules/storages/config/locales/crowdin/tr.yml index 073a525b160d..7f1ff7616140 100644 --- a/modules/storages/config/locales/crowdin/tr.yml +++ b/modules/storages/config/locales/crowdin/tr.yml @@ -43,12 +43,19 @@ tr: storages: buttons: done_continue_setup: "Tamamlandı. Kuruluma devam et" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "OpenProject OAuth'u değiştirin" replace_provider_type_oauth: "%{provider_type} OAuth'u değiştirin" save_and_continue_setup: "Kaydet ve kuruluma devam et" save_and_complete_setup: "Kaydet ve kurulumu tamamla" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Bu projedeki mevcut dosya depoları" new: "Bu projeye bir dosya deposu ekle" @@ -58,6 +65,8 @@ tr: type_link_text: "“Entegrasyon OpenProject”" name: "Kullanıcıların birden fazla depolama alanı arasında ayrım yapabilmesi için depolama alanınıza bir ad verin." host: "Lütfen https dahil olmak üzere depolama alanınızın ana bilgisayar adresini ekleyin:" + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Henüz ayarlanmış dosya deposu yok." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ tr: Bu depolama alanını silmek istediğinizden emin misiniz? Bu, depolamayı kullanıldığı tüm projelerden de siler. Ayrıca, iş paketlerinden o depoda saklanan dosyalara olan tüm bağlantıları da siler. project_storage: > Bu dosya deposunu bu projeden kaldırmak istediğinizden emin misiniz? Bu aynı zamanda bu proje için bu depoda saklanan dosyalara olan tüm bağlantıları da kaldıracaktır. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Oluşturan" label_file_link: "Dosya bağlantısı" label_file_links: "Dosya bağlantıları" label_name: "İsim" label_host: "Barındırıcı URL'si" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ tr: confirm_replace_oauth_application: "Emin misiniz? Tüm kullanıcıların OpenProject'e karşı yeniden yetkilendirmesi gerekecektir." confirm_replace_oauth_client: "Emin misiniz? Tüm kullanıcılar, depolamaya karşı yeniden yetkilendirme yapmak zorunda kalacak." oauth_client_details_missing: "Kurulumu tamamlamak için lütfen depolama alanınızdan OAuth istemci kimlik bilgilerini ekleyin." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "OpenProject OAuth uygulaması başarıyla değiştirildi." diff --git a/modules/storages/config/locales/crowdin/uk.yml b/modules/storages/config/locales/crowdin/uk.yml index c4c03855e486..5367eeac946a 100644 --- a/modules/storages/config/locales/crowdin/uk.yml +++ b/modules/storages/config/locales/crowdin/uk.yml @@ -43,12 +43,19 @@ uk: storages: buttons: done_continue_setup: "Готово – продовжити налаштування" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Замінити OpenProject OAuth" replace_provider_type_oauth: "Замінити %{provider_type} OAuth" save_and_continue_setup: "Зберегти й продовжити налаштування" save_and_complete_setup: "Зберегти й завершити налаштування" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "Файлові сховища доступні в цьому проєкті" new: "Додайте сховище файлів до цього проєкту" @@ -58,6 +65,8 @@ uk: type_link_text: "«Інтеграція OpenProject»" name: "Назвіть своє сховище, щоб користувачі могли відрізняти його від інших сховищ." host: "Додайте адресу хосту для свого сховища, включно з https://. Її довжина не може перевищувати 255 символів." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "Файлові сховища поки не створено." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ uk: Справді видалити це сховище? Це сховище буде також видалено з усіх проєктів, де воно використовувалося. Крім того, буде видалено всі посилання в пакетах робіт на файли, які зберігалися в цьому сховищі. project_storage: > Справді видалити це файлове сховище з проєкту? Буде також видалено всі посилання на файли, які зберігалися в цьому сховищі для цього проєкту. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Автор" label_file_link: "Посилання на файл" label_file_links: "Посилання на файл" label_name: "Назва" label_host: "URL-адреса хосту" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ uk: confirm_replace_oauth_application: "Ви впевнені? Усім користувачам знадобиться знову авторизуватися в OpenProject." confirm_replace_oauth_client: "Ви впевнені? Усім користувачам знадобиться знову авторизуватися в сховищі." oauth_client_details_missing: "Щоб завершити налаштування, додайте облікові дані клієнта OAuth зі свого сховища." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "Додаток OpenProject OAuth замінено." diff --git a/modules/storages/config/locales/crowdin/vi.yml b/modules/storages/config/locales/crowdin/vi.yml index c73b7527edc0..f9e4a68dba7e 100644 --- a/modules/storages/config/locales/crowdin/vi.yml +++ b/modules/storages/config/locales/crowdin/vi.yml @@ -43,12 +43,19 @@ vi: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ vi: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ vi: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "Tên" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ vi: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/storages/config/locales/crowdin/zh-TW.yml b/modules/storages/config/locales/crowdin/zh-TW.yml index fc51f57c02b1..8998edaefbfe 100644 --- a/modules/storages/config/locales/crowdin/zh-TW.yml +++ b/modules/storages/config/locales/crowdin/zh-TW.yml @@ -43,12 +43,19 @@ zh-TW: storages: buttons: done_continue_setup: "Done. Continue setup" + done_complete_setup: "Done, complete setup" + edit_automatically_managed_project_folders: "Edit automatically managed project folders" replace_openproject_oauth: "Replace OpenProject OAuth" replace_provider_type_oauth: "Replace %{provider_type} OAuth" save_and_continue_setup: "Save and continue setup" save_and_complete_setup: "Save and complete setup" select_folder: "Select folder" + configure: "Configure" page_titles: + managed_project_folders: + title: "Automatically managed project folders" + subtitle: > + Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. project_settings: index: "File storages available in this project" new: "Add a file storage to this project" @@ -58,6 +65,8 @@ zh-TW: type_link_text: "“Integration OpenProject”" name: "Give your storage a name so that users can differentiate between multiple storages." host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." + managed_project_folders_application_password: > + Copy this value from: no_storage_set_up: "There are no file storages set up yet." no_specific_folder: "By default, each user will start at their own home folder when they upload a file." automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." @@ -81,11 +90,17 @@ zh-TW: Are you sure you want to delete this storage? This will also delete the storage from all projects where it is used. Further, it will also delete all links from work packages to files that are stored in that storage. project_storage: > Are you sure you want to remove this file storage from this project? This will also remove all links to files stored in this storage for this project. + label_active: "Active" + label_inactive: "Inactive" label_creator: "Creator" label_file_link: "File link" label_file_links: "File links" label_name: "名稱" label_host: "Host URL" + label_managed_project_folders: + automatically_managed_folders: "Automatically managed folders" + application_password: "Application password" + label_managed_project_folders_breadcrumb: "Automatically managed project folders" label_oauth_breadcrumb: openproject: "OpenProject OAuth" nextcloud: "Nextcloud OAuth" @@ -110,4 +125,5 @@ zh-TW: confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." + automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." diff --git a/modules/team_planner/config/locales/crowdin/af.yml b/modules/team_planner/config/locales/crowdin/af.yml index 0480f0814268..637dd268599e 100644 --- a/modules/team_planner/config/locales/crowdin/af.yml +++ b/modules/team_planner/config/locales/crowdin/af.yml @@ -2,12 +2,18 @@ af: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/ar.yml b/modules/team_planner/config/locales/crowdin/ar.yml index 522f08428b21..e33047b1a599 100644 --- a/modules/team_planner/config/locales/crowdin/ar.yml +++ b/modules/team_planner/config/locales/crowdin/ar.yml @@ -2,12 +2,18 @@ ar: permission_view_team_planner: "عرض مخطط الفريق" permission_manage_team_planner: "إدارة مخطط الفريق" - project_module_team_planner_view: "مخطط الفريق" + project_module_team_planner_view: "مخططي الفريق" team_planner: label_team_planner: "مخطط الفريق" + label_new_team_planner: "New team planner" label_create_new_team_planner: "إنشاء مخطط فريق جديد" label_team_planner_plural: "مخططي الفريق" label_assignees: "المعينون" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "مخطط الفريق" description: "احصل على نظرة عامة كاملة لتخطيط فريقك مع فريق تخطيط العمل. تمديد, اختصار و سحب و إسقاط مجموعات العمل لتعديل التواريخ أو نقلها أو تغيير المحال إليهم." diff --git a/modules/team_planner/config/locales/crowdin/az.yml b/modules/team_planner/config/locales/crowdin/az.yml index 5dc0656444ec..58ef86d2b953 100644 --- a/modules/team_planner/config/locales/crowdin/az.yml +++ b/modules/team_planner/config/locales/crowdin/az.yml @@ -2,12 +2,18 @@ az: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Təyin edilənlər" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/be.yml b/modules/team_planner/config/locales/crowdin/be.yml index c485dd952f82..e83b196594e5 100644 --- a/modules/team_planner/config/locales/crowdin/be.yml +++ b/modules/team_planner/config/locales/crowdin/be.yml @@ -2,12 +2,18 @@ be: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/bg.yml b/modules/team_planner/config/locales/crowdin/bg.yml index 33e8d35af707..4f3ff927b5f8 100644 --- a/modules/team_planner/config/locales/crowdin/bg.yml +++ b/modules/team_planner/config/locales/crowdin/bg.yml @@ -2,12 +2,18 @@ bg: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/ca.yml b/modules/team_planner/config/locales/crowdin/ca.yml index 7606457bf3be..c91c9bb56e1b 100644 --- a/modules/team_planner/config/locales/crowdin/ca.yml +++ b/modules/team_planner/config/locales/crowdin/ca.yml @@ -2,12 +2,18 @@ ca: permission_view_team_planner: "Veure planificador d'equips" permission_manage_team_planner: "Administrar planificador d'equips" - project_module_team_planner_view: "Planificador d'equips" + project_module_team_planner_view: "Planificadors d'equips" team_planner: label_team_planner: "Planificador d'equips" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Crea un nou planificador d'equips" label_team_planner_plural: "Planificadors d'equips" label_assignees: "Usuaris assignats" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Planificador d'equips" description: "Obté una visió general completa del teu planificador d'equips amb el Planificador d'Equips. Estira, escurça i arrossega paquets de treball per modificar dates, moure-les o canviar l'usuari assignat. " diff --git a/modules/team_planner/config/locales/crowdin/ckb-IR.yml b/modules/team_planner/config/locales/crowdin/ckb-IR.yml index 0064d0d50f75..56f7e4ae050a 100644 --- a/modules/team_planner/config/locales/crowdin/ckb-IR.yml +++ b/modules/team_planner/config/locales/crowdin/ckb-IR.yml @@ -2,12 +2,18 @@ ckb-IR: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/cs.yml b/modules/team_planner/config/locales/crowdin/cs.yml index 6e44aad19f76..98aec903e4c4 100644 --- a/modules/team_planner/config/locales/crowdin/cs.yml +++ b/modules/team_planner/config/locales/crowdin/cs.yml @@ -2,12 +2,18 @@ cs: permission_view_team_planner: "Zobrazit plánovač týmu" permission_manage_team_planner: "Spravovat plánovač týmu" - project_module_team_planner_view: "Týmový plánovač" + project_module_team_planner_view: "Týmové plánovače" team_planner: label_team_planner: "Týmový plánovač" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Vytvořit nový týmový plánovač" label_team_planner_plural: "Týmové plánovače" label_assignees: "Řešitelé" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Týmový plánovač" description: "Získejte kompletní přehled plánování týmu s týmovým plánovačem. Roztáhněte, zkrátte a přetáhněte pracovní balíčky pro úpravu datumů, přesuňte je nebo změňte řešitele." diff --git a/modules/team_planner/config/locales/crowdin/da.yml b/modules/team_planner/config/locales/crowdin/da.yml index e3e000955c10..a4bc5dbca731 100644 --- a/modules/team_planner/config/locales/crowdin/da.yml +++ b/modules/team_planner/config/locales/crowdin/da.yml @@ -2,12 +2,18 @@ da: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/de.yml b/modules/team_planner/config/locales/crowdin/de.yml index 3b313cbe34d7..0aaebb1339c8 100644 --- a/modules/team_planner/config/locales/crowdin/de.yml +++ b/modules/team_planner/config/locales/crowdin/de.yml @@ -5,9 +5,15 @@ de: project_module_team_planner_view: "Teamplaner" team_planner: label_team_planner: "Teamplaner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Neuen Teamplaner erstellen" label_team_planner_plural: "Teamplaner" label_assignees: "Zugewiesene Benutzer" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Teamplaner" description: "Erhalten Sie einen kompletten Überblick über die Planung Ihres Teams mit dem Teamplaner. Strecken, verkürzen und ziehen Sie Arbeitspakete zur Änderung von Terminen, Verschieben Sie Arbeitspakete oder Ändern Sie die zugewiesenen Benutzer." diff --git a/modules/team_planner/config/locales/crowdin/el.yml b/modules/team_planner/config/locales/crowdin/el.yml index e74edc1cb53e..fa26dbabbe85 100644 --- a/modules/team_planner/config/locales/crowdin/el.yml +++ b/modules/team_planner/config/locales/crowdin/el.yml @@ -2,12 +2,18 @@ el: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/eo.yml b/modules/team_planner/config/locales/crowdin/eo.yml index 01bfa3e2eef4..422caa0c12e8 100644 --- a/modules/team_planner/config/locales/crowdin/eo.yml +++ b/modules/team_planner/config/locales/crowdin/eo.yml @@ -2,12 +2,18 @@ eo: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/es.yml b/modules/team_planner/config/locales/crowdin/es.yml index f85a42ea06cd..223a91511e65 100644 --- a/modules/team_planner/config/locales/crowdin/es.yml +++ b/modules/team_planner/config/locales/crowdin/es.yml @@ -2,12 +2,18 @@ es: permission_view_team_planner: "Ver planificador del equipo" permission_manage_team_planner: "Gestionar planificador del equipo" - project_module_team_planner_view: "Planificador de equipo" + project_module_team_planner_view: "Planificadores de equipos" team_planner: label_team_planner: "Planificador de equipo" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Crear planificador de equipo" label_team_planner_plural: "Planificadores de equipos" label_assignees: "Asignado a" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Planificador de equipo" description: "Obtén una visión completa de la planificación de tu equipo con el Planificador de Equipo. Alargar, acortar y mover paquetes de trabajo para modificar fechas o cambiar asignados." diff --git a/modules/team_planner/config/locales/crowdin/et.yml b/modules/team_planner/config/locales/crowdin/et.yml index 4565774dea68..6e7e706654e3 100644 --- a/modules/team_planner/config/locales/crowdin/et.yml +++ b/modules/team_planner/config/locales/crowdin/et.yml @@ -2,12 +2,18 @@ et: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/eu.yml b/modules/team_planner/config/locales/crowdin/eu.yml index 03758ec8fc68..2c809330595a 100644 --- a/modules/team_planner/config/locales/crowdin/eu.yml +++ b/modules/team_planner/config/locales/crowdin/eu.yml @@ -2,12 +2,18 @@ eu: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/fa.yml b/modules/team_planner/config/locales/crowdin/fa.yml index 03180ea65c6d..95b1c6436572 100644 --- a/modules/team_planner/config/locales/crowdin/fa.yml +++ b/modules/team_planner/config/locales/crowdin/fa.yml @@ -2,12 +2,18 @@ fa: permission_view_team_planner: "مشاهده برنامه ریز تیم" permission_manage_team_planner: "مدیریت برنامه ریز تیم" - project_module_team_planner_view: "برنامه ریز تیم" + project_module_team_planner_view: "برنامه ریزهای تیم" team_planner: label_team_planner: "برنامه ریز تیم" + label_new_team_planner: "New team planner" label_create_new_team_planner: "ایجاد برنامه ریز جدید تیم" label_team_planner_plural: "برنامه ریزهای تیم" label_assignees: "نمایندگان" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "برنامه ریز تیم" description: "یک نمای کلی از برنامه ریزی تیم با استفاده از برنامه ریز تیم دریافت کنید. به منظور اصلاح تاریخ، جابه جا کردن بسته های کاری و یا تغییر نمایندگان از بسط دادن، کوتاه کردن و یا کشیدن و رها کردن آنها استفاده کنید." diff --git a/modules/team_planner/config/locales/crowdin/fi.yml b/modules/team_planner/config/locales/crowdin/fi.yml index 4d2ba1ac1060..bb3ae324d74b 100644 --- a/modules/team_planner/config/locales/crowdin/fi.yml +++ b/modules/team_planner/config/locales/crowdin/fi.yml @@ -2,12 +2,18 @@ fi: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/fil.yml b/modules/team_planner/config/locales/crowdin/fil.yml index db02e9fb69ab..8a8da9e8a5d2 100644 --- a/modules/team_planner/config/locales/crowdin/fil.yml +++ b/modules/team_planner/config/locales/crowdin/fil.yml @@ -2,12 +2,18 @@ fil: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/fr.yml b/modules/team_planner/config/locales/crowdin/fr.yml index d1fbf78d1b11..7c40f223569f 100644 --- a/modules/team_planner/config/locales/crowdin/fr.yml +++ b/modules/team_planner/config/locales/crowdin/fr.yml @@ -2,12 +2,18 @@ fr: permission_view_team_planner: "Voir le planificateur d'équipe" permission_manage_team_planner: "Gérer le planificateur d'équipe" - project_module_team_planner_view: "Planificateur d'équipe" + project_module_team_planner_view: "Planificateurs d'équipe" team_planner: label_team_planner: "Planificateur d'équipe" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Créer un nouveau planificateur d'équipe" label_team_planner_plural: "Planificateurs d'équipe" label_assignees: "Responsables" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Planificateur d'équipe" description: "Obtenez un aperçu complet du planning de votre équipe avec le planificateur d'équipe. Allongez, raccourcissez et faites glisser les paquets de travail pour modifier les dates, les déplacer ou changer les assignés." diff --git a/modules/team_planner/config/locales/crowdin/he.yml b/modules/team_planner/config/locales/crowdin/he.yml index dc6548a7adae..36723f8e7e60 100644 --- a/modules/team_planner/config/locales/crowdin/he.yml +++ b/modules/team_planner/config/locales/crowdin/he.yml @@ -2,12 +2,18 @@ he: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/hi.yml b/modules/team_planner/config/locales/crowdin/hi.yml index d463bf2b3d50..a104bc439b48 100644 --- a/modules/team_planner/config/locales/crowdin/hi.yml +++ b/modules/team_planner/config/locales/crowdin/hi.yml @@ -2,12 +2,18 @@ hi: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/hr.yml b/modules/team_planner/config/locales/crowdin/hr.yml index 0dc0d0d8c746..2b2f26922091 100644 --- a/modules/team_planner/config/locales/crowdin/hr.yml +++ b/modules/team_planner/config/locales/crowdin/hr.yml @@ -2,12 +2,18 @@ hr: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/hu.yml b/modules/team_planner/config/locales/crowdin/hu.yml index f9747c0445aa..725c1c09c599 100644 --- a/modules/team_planner/config/locales/crowdin/hu.yml +++ b/modules/team_planner/config/locales/crowdin/hu.yml @@ -2,12 +2,18 @@ hu: permission_view_team_planner: "Csoport tervező megtekintése" permission_manage_team_planner: "Csoport tervező kezelése" - project_module_team_planner_view: "Csoport tervező" + project_module_team_planner_view: "Csoport tervezők" team_planner: label_team_planner: "Csoport tervező" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Új csoport tervező létrehozása" label_team_planner_plural: "Csoport tervezők" label_assignees: "Megbízottak" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Csoport tervező" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/id.yml b/modules/team_planner/config/locales/crowdin/id.yml index 8922d858e818..79f67d05f884 100644 --- a/modules/team_planner/config/locales/crowdin/id.yml +++ b/modules/team_planner/config/locales/crowdin/id.yml @@ -5,9 +5,15 @@ id: project_module_team_planner_view: "Rencana tim" team_planner: label_team_planner: "Rencana tim" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Buat rencana tim baru" label_team_planner_plural: "Rencana tim" label_assignees: "Penerima tugas" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Rencana tim" description: "Dapatkan ikhtisar lengkap tentang perencanaan tim Anda dengan Team Planner. Rentangkan, perpendek, dan seret dan lepas paket kerja untuk mengubah tanggal, memindahkannya, atau mengubah penerima tugas." diff --git a/modules/team_planner/config/locales/crowdin/it.yml b/modules/team_planner/config/locales/crowdin/it.yml index bbcec4ddee18..a35fea4a666e 100644 --- a/modules/team_planner/config/locales/crowdin/it.yml +++ b/modules/team_planner/config/locales/crowdin/it.yml @@ -2,12 +2,18 @@ it: permission_view_team_planner: "Visualizza il pianificatore di team" permission_manage_team_planner: "Gestisci il pianificatore di team" - project_module_team_planner_view: "Pianificatore di team" + project_module_team_planner_view: "Organizzatori di gruppo" team_planner: label_team_planner: "Pianificatore di team" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Crea nuovo pianificatore di team" label_team_planner_plural: "Organizzatori di gruppo" label_assignees: "Assegnatari" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Pianificatore di team" description: "Ottieni una panoramica completa della pianificazione del tuo team con Team Planner. Allunga, accorcia e sposta le macro-attività per modificare le date, riprogrammarle o cambiare gli assegnatari." diff --git a/modules/team_planner/config/locales/crowdin/ja.yml b/modules/team_planner/config/locales/crowdin/ja.yml index 5a15b83c9fa2..4c87358bdbc6 100644 --- a/modules/team_planner/config/locales/crowdin/ja.yml +++ b/modules/team_planner/config/locales/crowdin/ja.yml @@ -2,12 +2,18 @@ ja: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/js-nl.yml b/modules/team_planner/config/locales/crowdin/js-nl.yml index 6196aac9d8d4..cd415ca5f839 100644 --- a/modules/team_planner/config/locales/crowdin/js-nl.yml +++ b/modules/team_planner/config/locales/crowdin/js-nl.yml @@ -12,7 +12,7 @@ nl: remove_assignee: 'Verwijder verantwoordelijke' two_weeks: '2-week' one_week: '1-week' - work_week: 'Work week' + work_week: 'Werkweek' today: 'Vandaag' drag_here_to_remove: 'Sleep hierheen om taakontvanger en start- en einddata te verwijderen.' cannot_drag_here: 'Kan het werkpakket niet verwijderen vanwege machtigingen of bewerkingsbeperkingen.' diff --git a/modules/team_planner/config/locales/crowdin/ka.yml b/modules/team_planner/config/locales/crowdin/ka.yml index 7e1331e91339..0d10c01b689d 100644 --- a/modules/team_planner/config/locales/crowdin/ka.yml +++ b/modules/team_planner/config/locales/crowdin/ka.yml @@ -2,12 +2,18 @@ ka: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/ko.yml b/modules/team_planner/config/locales/crowdin/ko.yml index 7ba612ad3fde..641cb65fd265 100644 --- a/modules/team_planner/config/locales/crowdin/ko.yml +++ b/modules/team_planner/config/locales/crowdin/ko.yml @@ -5,9 +5,15 @@ ko: project_module_team_planner_view: "팀 플래너" team_planner: label_team_planner: "팀 플래너" + label_new_team_planner: "New team planner" label_create_new_team_planner: "새로운 팀 플래너 만들기" label_team_planner_plural: "팀 플래너" label_assignees: "담당자" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "팀 플래너" description: "팀 플래너를 사용하여 팀 계획에 대한 전체 개요를 확인하세요. 작업 패키지를 늘리거나 줄이고 끌어다 놓아 날짜를 수정하거나 이동하거나 담당자를 변경하세요." diff --git a/modules/team_planner/config/locales/crowdin/lol.yml b/modules/team_planner/config/locales/crowdin/lol.yml index 4074e9c71bef..6a378bcf339f 100644 --- a/modules/team_planner/config/locales/crowdin/lol.yml +++ b/modules/team_planner/config/locales/crowdin/lol.yml @@ -2,12 +2,18 @@ lol: permission_view_team_planner: "crwdns493745:0crwdne493745:0" permission_manage_team_planner: "crwdns493747:0crwdne493747:0" - project_module_team_planner_view: "crwdns493749:0crwdne493749:0" + project_module_team_planner_view: "crwdns858117:0crwdne858117:0" team_planner: label_team_planner: "crwdns493751:0crwdne493751:0" + label_new_team_planner: "crwdns859091:0crwdne859091:0" label_create_new_team_planner: "crwdns809626:0crwdne809626:0" label_team_planner_plural: "crwdns759496:0crwdne759496:0" label_assignees: "crwdns759498:0crwdne759498:0" + label_favoured: "crwdns859093:0crwdne859093:0" + help_text: + project: crwdns859095:0crwdne859095:0 + public: crwdns859097:0crwdne859097:0 + favoured: crwdns859099:0crwdne859099:0 upsale: title: "crwdns657565:0crwdne657565:0" description: "crwdns823160:0crwdne823160:0" diff --git a/modules/team_planner/config/locales/crowdin/lt.yml b/modules/team_planner/config/locales/crowdin/lt.yml index be982df9e6a7..b70ea113eb88 100644 --- a/modules/team_planner/config/locales/crowdin/lt.yml +++ b/modules/team_planner/config/locales/crowdin/lt.yml @@ -2,12 +2,18 @@ lt: permission_view_team_planner: "Žiūrėti komandos planą" permission_manage_team_planner: "Tvarkyti komandos planą" - project_module_team_planner_view: "Komandos planas" + project_module_team_planner_view: "Komandos planai" team_planner: label_team_planner: "Komandos planas" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Kurti naują komandos planą" label_team_planner_plural: "Komandos planai" label_assignees: "Paskirtieji" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Komandos planas" description: "Gaukite pilną jūsų komandos plano vaizdą su Team Planner. Pakeiskite datas prailgindami, sutrumpindami ar nuvilkdami darbo paketus, perkelkite juos ar pakeiskite paskirtuosius." diff --git a/modules/team_planner/config/locales/crowdin/lv.yml b/modules/team_planner/config/locales/crowdin/lv.yml index a2fd95d06ab5..63bf2e231198 100644 --- a/modules/team_planner/config/locales/crowdin/lv.yml +++ b/modules/team_planner/config/locales/crowdin/lv.yml @@ -2,12 +2,18 @@ lv: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/mn.yml b/modules/team_planner/config/locales/crowdin/mn.yml index 8526bc33f31c..31432c5a099c 100644 --- a/modules/team_planner/config/locales/crowdin/mn.yml +++ b/modules/team_planner/config/locales/crowdin/mn.yml @@ -2,12 +2,18 @@ mn: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/ne.yml b/modules/team_planner/config/locales/crowdin/ne.yml index 84b101b137e0..25631c163734 100644 --- a/modules/team_planner/config/locales/crowdin/ne.yml +++ b/modules/team_planner/config/locales/crowdin/ne.yml @@ -2,12 +2,18 @@ ne: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/nl.yml b/modules/team_planner/config/locales/crowdin/nl.yml index d9115f75beef..227b4e56be75 100644 --- a/modules/team_planner/config/locales/crowdin/nl.yml +++ b/modules/team_planner/config/locales/crowdin/nl.yml @@ -2,12 +2,18 @@ nl: permission_view_team_planner: "Bekijk team planner" permission_manage_team_planner: "Teamplanner beheren" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Maak een nieuwe teamplanner" label_team_planner_plural: "Team planners" label_assignees: "Toegewezen personen" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Krijg een compleet overzicht van de planning van je team met Team Planner. Verleng, verkort en sleep-en-plaats werkpakketten om data te wijzigen, ze te verplaatsen of taakontvangers te veranderen." diff --git a/modules/team_planner/config/locales/crowdin/no.yml b/modules/team_planner/config/locales/crowdin/no.yml index de041c5c0138..09e2f06d2f67 100644 --- a/modules/team_planner/config/locales/crowdin/no.yml +++ b/modules/team_planner/config/locales/crowdin/no.yml @@ -5,9 +5,15 @@ project_module_team_planner_view: "Teamplanlegger" team_planner: label_team_planner: "Teamplanlegger" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Opprett ny teamplanlegger" label_team_planner_plural: "Teamplanlegger" label_assignees: "Tildelt" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Teamplanlegger" description: "Få en fullstendig oversikt over ditt teams planlegging med Team Planner. Utvid, forkort og dra-og-slipp arbeidspakker for å endre datoer, flytte dem eller endre deltakere." diff --git a/modules/team_planner/config/locales/crowdin/pl.yml b/modules/team_planner/config/locales/crowdin/pl.yml index 7ce9dd5bc130..12fa8a905afd 100644 --- a/modules/team_planner/config/locales/crowdin/pl.yml +++ b/modules/team_planner/config/locales/crowdin/pl.yml @@ -2,12 +2,18 @@ pl: permission_view_team_planner: "Wyświetlanie planisty zespołu" permission_manage_team_planner: "Zarządzanie planistą zespołu" - project_module_team_planner_view: "Planista zespołu" + project_module_team_planner_view: "Planiści zespołu" team_planner: label_team_planner: "Planista zespołu" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Utwórz nowego planistę zespołu" label_team_planner_plural: "Planiści zespołu" label_assignees: "Przypisane osoby" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Planista zespołu" description: "Zdobądź pełny przegląd planowania swojej drużyny za pomocą Planisty zespołu. Rozciągnij, skróć i przeciągnij pakiety robocze, aby modyfikować daty, przenosić je lub zmieniać przypisane osoby." diff --git a/modules/team_planner/config/locales/crowdin/pt.yml b/modules/team_planner/config/locales/crowdin/pt.yml index be161950d422..0ce4383298a6 100644 --- a/modules/team_planner/config/locales/crowdin/pt.yml +++ b/modules/team_planner/config/locales/crowdin/pt.yml @@ -5,9 +5,15 @@ pt: project_module_team_planner_view: "Planejador de equipe" team_planner: label_team_planner: "Planejador de equipe" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Criar novo planejador de equipe" label_team_planner_plural: "Planejador de equipe" label_assignees: "Atribuídos para" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Planejador de equipe" description: "Obtenha uma visão geral completa do planejamento da sua equipe com o Planejamento de equipe. Estique, encurte, e arraste e solte pacotes de trabalho para modificar datas, movê-los ou alterar os responsáveis." diff --git a/modules/team_planner/config/locales/crowdin/ro.yml b/modules/team_planner/config/locales/crowdin/ro.yml index c538a47deb48..3756c2e62900 100644 --- a/modules/team_planner/config/locales/crowdin/ro.yml +++ b/modules/team_planner/config/locales/crowdin/ro.yml @@ -2,12 +2,18 @@ ro: permission_view_team_planner: "Vezi planificatorul echipei" permission_manage_team_planner: "Gestionează planificatorul de echipe" - project_module_team_planner_view: "Planificator de echipă" + project_module_team_planner_view: "Planificatori de echipe" team_planner: label_team_planner: "Planificator de echipă" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Creați un nou planificator de echipă" label_team_planner_plural: "Planificatori de echipe" label_assignees: "Responsabili" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Planificator de echipă" description: "Obțineți o imagine de ansamblu completă a planificării echipei dumneavoastră cu Team Planner. Întindeți, scurtați și glisați pachetele de lucru pentru a modifica datele, pentru a le muta sau pentru a schimba destinatarii." diff --git a/modules/team_planner/config/locales/crowdin/ru.yml b/modules/team_planner/config/locales/crowdin/ru.yml index db04512897e5..04f36c9d2d7d 100644 --- a/modules/team_planner/config/locales/crowdin/ru.yml +++ b/modules/team_planner/config/locales/crowdin/ru.yml @@ -2,12 +2,18 @@ ru: permission_view_team_planner: "Просмотр планировщика команды" permission_manage_team_planner: "Управление планировщиком команды" - project_module_team_planner_view: "Командный планировщик" + project_module_team_planner_view: "Командные планировщики" team_planner: label_team_planner: "Командный планировщик" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Создать новый командный планировщик" label_team_planner_plural: "Командные планировщики" label_assignees: "Исполнители" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Командный планировщик" description: "Получите полный обзор планирования работы вашей команды с помощью Team Planner. Растягивайте, сокращайте и переносите пакеты работ, чтобы изменять даты, перемещать их или менять назначенных." diff --git a/modules/team_planner/config/locales/crowdin/rw.yml b/modules/team_planner/config/locales/crowdin/rw.yml index 69eb9b513171..2ecc7c1d8073 100644 --- a/modules/team_planner/config/locales/crowdin/rw.yml +++ b/modules/team_planner/config/locales/crowdin/rw.yml @@ -2,12 +2,18 @@ rw: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/si.yml b/modules/team_planner/config/locales/crowdin/si.yml index 9572f38e29ec..d4d8a45bd4f8 100644 --- a/modules/team_planner/config/locales/crowdin/si.yml +++ b/modules/team_planner/config/locales/crowdin/si.yml @@ -2,12 +2,18 @@ si: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/sk.yml b/modules/team_planner/config/locales/crowdin/sk.yml index 451128d0c200..cb658a23e1a1 100644 --- a/modules/team_planner/config/locales/crowdin/sk.yml +++ b/modules/team_planner/config/locales/crowdin/sk.yml @@ -2,12 +2,18 @@ sk: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/sl.yml b/modules/team_planner/config/locales/crowdin/sl.yml index c1a1d4a3654d..5acc4e7ae611 100644 --- a/modules/team_planner/config/locales/crowdin/sl.yml +++ b/modules/team_planner/config/locales/crowdin/sl.yml @@ -2,12 +2,18 @@ sl: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Prevzemniki" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/sr.yml b/modules/team_planner/config/locales/crowdin/sr.yml index 12517724c7a7..86df879fd63c 100644 --- a/modules/team_planner/config/locales/crowdin/sr.yml +++ b/modules/team_planner/config/locales/crowdin/sr.yml @@ -2,12 +2,18 @@ sr: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/sv.yml b/modules/team_planner/config/locales/crowdin/sv.yml index c8d8f54b6e63..8ceb727a7765 100644 --- a/modules/team_planner/config/locales/crowdin/sv.yml +++ b/modules/team_planner/config/locales/crowdin/sv.yml @@ -5,9 +5,15 @@ sv: project_module_team_planner_view: "Team planerare" team_planner: label_team_planner: "Team planerare" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Skapa ny teamplanerare" label_team_planner_plural: "Team planerare" label_assignees: "Utförare" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planerare" description: "Få en fullständig överblick över ditt teams planering med Team Planner. Tänj ut, förkorta och dra-och-släpp arbetspaket för att ändra datum, flytta dem eller ändra utförare." diff --git a/modules/team_planner/config/locales/crowdin/th.yml b/modules/team_planner/config/locales/crowdin/th.yml index e1d8ffc1236d..efa4ca974bd4 100644 --- a/modules/team_planner/config/locales/crowdin/th.yml +++ b/modules/team_planner/config/locales/crowdin/th.yml @@ -2,12 +2,18 @@ th: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/tr.yml b/modules/team_planner/config/locales/crowdin/tr.yml index 3601949f913b..29ca75c210f5 100644 --- a/modules/team_planner/config/locales/crowdin/tr.yml +++ b/modules/team_planner/config/locales/crowdin/tr.yml @@ -2,12 +2,18 @@ tr: permission_view_team_planner: "Takım planlayıcıyı görüntüle" permission_manage_team_planner: "Takım planlayıcıyı yönet" - project_module_team_planner_view: "Takım planlayıcısı" + project_module_team_planner_view: "Takım planlayıcıları" team_planner: label_team_planner: "Takım planlayıcısı" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Yeni takım planlayıcısı oluştur" label_team_planner_plural: "Takım planlayıcıları" label_assignees: "Atananlar" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Takım planlayıcısı" description: "Team Planner ile ekibinizin planlamasına ilişkin eksiksiz bir genel bakış elde edin. Tarihleri değiştirmek, taşımak veya atananları değiştirmek için iş paketlerini genişletin, kısaltın ve sürükleyip bırakın." diff --git a/modules/team_planner/config/locales/crowdin/uk.yml b/modules/team_planner/config/locales/crowdin/uk.yml index 484d766d30ad..f58f6e43c644 100644 --- a/modules/team_planner/config/locales/crowdin/uk.yml +++ b/modules/team_planner/config/locales/crowdin/uk.yml @@ -2,12 +2,18 @@ uk: permission_view_team_planner: "Перегляд командного планувальника" permission_manage_team_planner: "Керування командним планувальником" - project_module_team_planner_view: "Командний планувальник" + project_module_team_planner_view: "Командні планувальники" team_planner: label_team_planner: "Командний планувальник" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Створити новий командний планувальник" label_team_planner_plural: "Командні планувальники" label_assignees: "Виконавці" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Командний планувальник" description: "Командний планувальник надає повний огляд планування вашої команди. Розтягуйте, скорочуйте та перетягуйте пакети робіт, щоб переміщувати їх, змінювати дати або перепризначати виконавців." diff --git a/modules/team_planner/config/locales/crowdin/vi.yml b/modules/team_planner/config/locales/crowdin/vi.yml index 03feb4707974..cc46b28fbbe7 100644 --- a/modules/team_planner/config/locales/crowdin/vi.yml +++ b/modules/team_planner/config/locales/crowdin/vi.yml @@ -2,12 +2,18 @@ vi: permission_view_team_planner: "View team planner" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." diff --git a/modules/team_planner/config/locales/crowdin/zh-TW.yml b/modules/team_planner/config/locales/crowdin/zh-TW.yml index 03d8f6cfc478..7b298dee737e 100644 --- a/modules/team_planner/config/locales/crowdin/zh-TW.yml +++ b/modules/team_planner/config/locales/crowdin/zh-TW.yml @@ -2,12 +2,18 @@ zh-TW: permission_view_team_planner: "查看團隊計劃" permission_manage_team_planner: "Manage team planner" - project_module_team_planner_view: "Team planner" + project_module_team_planner_view: "Team planners" team_planner: label_team_planner: "Team planner" + label_new_team_planner: "New team planner" label_create_new_team_planner: "Create new team planner" label_team_planner_plural: "Team planners" label_assignees: "Assignees" + label_favoured: "Favoured" + help_text: + project: Team planners are always attached to a project. After creating a team planner you can add work packages from other projects to it. + public: Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. + favoured: Mark this view as favourite and add to the saved views sidebar on the left. upsale: title: "Team planner" description: "Get a complete overview of your team’s planning with Team Planner. Stretch, shorten and drag-and-drop work packages to modify dates, move them or change assignees." From e40281411d5780161e9be8972270a4e085d634f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 17 Jul 2023 09:40:07 +0200 Subject: [PATCH 162/180] Fix flex css warning --- frontend/src/global_styles/content/_enterprise.sass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/global_styles/content/_enterprise.sass b/frontend/src/global_styles/content/_enterprise.sass index 7d2a55fea7a6..6e76ab9d59e0 100644 --- a/frontend/src/global_styles/content/_enterprise.sass +++ b/frontend/src/global_styles/content/_enterprise.sass @@ -35,7 +35,7 @@ .widget-box--blocks--upsale-buttons display: flex - justify-content: end + justify-content: flex-end .widget-box--blocks--upsale-info-button margin: 0.5rem 1rem 0 0 From 5425f59fe88e862a2a2f53ac62ca5871b4048a00 Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Mon, 17 Jul 2023 08:01:20 +0000 Subject: [PATCH 163/180] update locales from crowdin [ci skip] --- .../config/locales/crowdin/js-af.yml | 2 +- .../config/locales/crowdin/js-ar.yml | 2 +- .../config/locales/crowdin/js-bg.yml | 2 +- .../config/locales/crowdin/js-ca.yml | 14 +++++++------- .../config/locales/crowdin/js-cs.yml | 10 +++++----- .../config/locales/crowdin/js-da.yml | 2 +- .../config/locales/crowdin/js-de.yml | 14 +++++++------- .../config/locales/crowdin/js-el.yml | 2 +- .../config/locales/crowdin/js-eo.yml | 2 +- .../config/locales/crowdin/js-es.yml | 12 ++++++------ .../config/locales/crowdin/js-et.yml | 2 +- .../config/locales/crowdin/js-fi.yml | 2 +- .../config/locales/crowdin/js-fil.yml | 2 +- .../config/locales/crowdin/js-fr.yml | 2 +- .../config/locales/crowdin/js-he.yml | 2 +- .../config/locales/crowdin/js-hi.yml | 2 +- .../config/locales/crowdin/js-hr.yml | 2 +- .../config/locales/crowdin/js-hu.yml | 12 ++++++------ .../config/locales/crowdin/js-id.yml | 2 +- .../config/locales/crowdin/js-it.yml | 14 +++++++------- .../config/locales/crowdin/js-ja.yml | 2 +- .../config/locales/crowdin/js-ko.yml | 2 +- .../config/locales/crowdin/js-lt.yml | 14 +++++++------- .../config/locales/crowdin/js-lv.yml | 2 +- .../config/locales/crowdin/js-nl.yml | 8 ++++---- .../config/locales/crowdin/js-no.yml | 2 +- .../config/locales/crowdin/js-pl.yml | 2 +- .../config/locales/crowdin/js-pt.yml | 14 +++++++------- .../config/locales/crowdin/js-ro.yml | 2 +- .../config/locales/crowdin/js-ru.yml | 14 +++++++------- .../config/locales/crowdin/js-si.yml | 2 +- .../config/locales/crowdin/js-sk.yml | 2 +- .../config/locales/crowdin/js-sl.yml | 14 +++++++------- .../config/locales/crowdin/js-sv.yml | 2 +- .../config/locales/crowdin/js-th.yml | 2 +- .../config/locales/crowdin/js-tr.yml | 2 +- .../config/locales/crowdin/js-uk.yml | 2 +- .../config/locales/crowdin/js-vi.yml | 2 +- .../config/locales/crowdin/js-zh-TW.yml | 2 +- 39 files changed, 98 insertions(+), 98 deletions(-) diff --git a/modules/github_integration/config/locales/crowdin/js-af.yml b/modules/github_integration/config/locales/crowdin/js-af.yml index 7946b9af79df..85bda2fedec6 100644 --- a/modules/github_integration/config/locales/crowdin/js-af.yml +++ b/modules/github_integration/config/locales/crowdin/js-af.yml @@ -46,7 +46,7 @@ af: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'gesluit' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-ar.yml b/modules/github_integration/config/locales/crowdin/js-ar.yml index 290ae6e22d1a..b4bb342e0cd3 100644 --- a/modules/github_integration/config/locales/crowdin/js-ar.yml +++ b/modules/github_integration/config/locales/crowdin/js-ar.yml @@ -46,7 +46,7 @@ ar: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'مغلق' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-bg.yml b/modules/github_integration/config/locales/crowdin/js-bg.yml index 707d17386789..ab07374a599b 100644 --- a/modules/github_integration/config/locales/crowdin/js-bg.yml +++ b/modules/github_integration/config/locales/crowdin/js-bg.yml @@ -46,7 +46,7 @@ bg: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'затворен' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-ca.yml b/modules/github_integration/config/locales/crowdin/js-ca.yml index b0d9296a0f31..545b18228f2e 100644 --- a/modules/github_integration/config/locales/crowdin/js-ca.yml +++ b/modules/github_integration/config/locales/crowdin/js-ca.yml @@ -41,12 +41,12 @@ ca: github_actions: Accions pull_requests: message: > - Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. + El "pull request" #%{pr_number} %{pr_link} en el %{repository_link} ha estàt %{pr_state} per %{github_user_link}. #%{pr_number} %{pr_link} en el %{repository_link} ha estàt %{pr_state} per %{github_user_link}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} ha referenciat aquest paquet de treball en el "pull request" #%{pr_number} %{pr_link} en %{repository_link}. #%{pr_number} %{pr_link} en %{repository_link}. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'obert' + closed: 'tancat' + draft: 'esborrany' + merged: 'fusionat' + ready_for_review: 'marcat com a preparat per a revisar' diff --git a/modules/github_integration/config/locales/crowdin/js-cs.yml b/modules/github_integration/config/locales/crowdin/js-cs.yml index c9930e9a4c1b..e8dc73c5e2e4 100644 --- a/modules/github_integration/config/locales/crowdin/js-cs.yml +++ b/modules/github_integration/config/locales/crowdin/js-cs.yml @@ -45,8 +45,8 @@ cs: referenced_message: > %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'otevřeno' + closed: 'zavřeno' + draft: 'navrženo' + merged: 'sloučeno' + ready_for_review: 'označeno jako připraveno k revizi' diff --git a/modules/github_integration/config/locales/crowdin/js-da.yml b/modules/github_integration/config/locales/crowdin/js-da.yml index e61d20f6503d..969e73409b35 100644 --- a/modules/github_integration/config/locales/crowdin/js-da.yml +++ b/modules/github_integration/config/locales/crowdin/js-da.yml @@ -46,7 +46,7 @@ da: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'lukket' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-de.yml b/modules/github_integration/config/locales/crowdin/js-de.yml index b0077241363b..fafeade61efe 100644 --- a/modules/github_integration/config/locales/crowdin/js-de.yml +++ b/modules/github_integration/config/locales/crowdin/js-de.yml @@ -41,12 +41,12 @@ de: github_actions: Aktionen pull_requests: message: > - Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. + Pull Request #%{pr_number} %{pr_link} für %{repository_link} wurde %{pr_state} von %{github_user_link}. #%{pr_number} %{pr_link} für %{repository_link} wurde %{pr_state} von %{github_user_link}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} hat dieses Arbeitspaket im Pull Request #%{pr_number} %{pr_link} auf %{repository_link} referenziert. #%{pr_number} %{pr_link} auf %{repository_link} referenziert. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'geöffnet' + closed: 'geschlossen' + draft: 'entworfen' + merged: 'zusammengeführt' + ready_for_review: 'als bereit zur Einsicht markiert' diff --git a/modules/github_integration/config/locales/crowdin/js-el.yml b/modules/github_integration/config/locales/crowdin/js-el.yml index ae2bfd29cbc4..46706e640b0a 100644 --- a/modules/github_integration/config/locales/crowdin/js-el.yml +++ b/modules/github_integration/config/locales/crowdin/js-el.yml @@ -46,7 +46,7 @@ el: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'κλειστό' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-eo.yml b/modules/github_integration/config/locales/crowdin/js-eo.yml index 0341c26db608..06848d7a0c43 100644 --- a/modules/github_integration/config/locales/crowdin/js-eo.yml +++ b/modules/github_integration/config/locales/crowdin/js-eo.yml @@ -46,7 +46,7 @@ eo: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'fermita' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-es.yml b/modules/github_integration/config/locales/crowdin/js-es.yml index e6523a463b29..ccb1be6476c9 100644 --- a/modules/github_integration/config/locales/crowdin/js-es.yml +++ b/modules/github_integration/config/locales/crowdin/js-es.yml @@ -41,12 +41,12 @@ es: github_actions: Comportamiento pull_requests: message: > - Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. + Solicitud de extracción #%{pr_number} %{pr_link} para %{repository_link} ha sido %{pr_state} por %{github_user_link}. #%{pr_number} %{pr_link} para %{repository_link} ha sido %{pr_state} por %{github_user_link}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} referenció este paquete de trabajo en la pull request #%{pr_number} %{pr_link} el %{repository_link}. #%{pr_number} %{pr_link} el %{repository_link}. states: - opened: 'opened' - closed: 'closed' + opened: 'Abierto' + closed: 'cerrado' draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + merged: 'Combinado' + ready_for_review: 'marcado listo para revisión' diff --git a/modules/github_integration/config/locales/crowdin/js-et.yml b/modules/github_integration/config/locales/crowdin/js-et.yml index 976469c10c2a..83ffcdedcf22 100644 --- a/modules/github_integration/config/locales/crowdin/js-et.yml +++ b/modules/github_integration/config/locales/crowdin/js-et.yml @@ -46,7 +46,7 @@ et: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'suletud' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-fi.yml b/modules/github_integration/config/locales/crowdin/js-fi.yml index 745540d33746..b69f151a4517 100644 --- a/modules/github_integration/config/locales/crowdin/js-fi.yml +++ b/modules/github_integration/config/locales/crowdin/js-fi.yml @@ -46,7 +46,7 @@ fi: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'suljettu' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-fil.yml b/modules/github_integration/config/locales/crowdin/js-fil.yml index b2f10f372079..5213875d69ad 100644 --- a/modules/github_integration/config/locales/crowdin/js-fil.yml +++ b/modules/github_integration/config/locales/crowdin/js-fil.yml @@ -46,7 +46,7 @@ fil: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'isinara' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-fr.yml b/modules/github_integration/config/locales/crowdin/js-fr.yml index 8dd1bf7207cb..d8252623a7ce 100644 --- a/modules/github_integration/config/locales/crowdin/js-fr.yml +++ b/modules/github_integration/config/locales/crowdin/js-fr.yml @@ -46,7 +46,7 @@ fr: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'clôturé' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-he.yml b/modules/github_integration/config/locales/crowdin/js-he.yml index 7b7787068746..e73ed21fbfb9 100644 --- a/modules/github_integration/config/locales/crowdin/js-he.yml +++ b/modules/github_integration/config/locales/crowdin/js-he.yml @@ -46,7 +46,7 @@ he: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'סגור' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-hi.yml b/modules/github_integration/config/locales/crowdin/js-hi.yml index 37abd38b00b0..69d4555d8e9c 100644 --- a/modules/github_integration/config/locales/crowdin/js-hi.yml +++ b/modules/github_integration/config/locales/crowdin/js-hi.yml @@ -46,7 +46,7 @@ hi: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'बंद' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-hr.yml b/modules/github_integration/config/locales/crowdin/js-hr.yml index 3df5b4c9ce90..9310be0cc8b7 100644 --- a/modules/github_integration/config/locales/crowdin/js-hr.yml +++ b/modules/github_integration/config/locales/crowdin/js-hr.yml @@ -46,7 +46,7 @@ hr: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'zaključen' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-hu.yml b/modules/github_integration/config/locales/crowdin/js-hu.yml index 5e25643c6351..49aa512df9b7 100644 --- a/modules/github_integration/config/locales/crowdin/js-hu.yml +++ b/modules/github_integration/config/locales/crowdin/js-hu.yml @@ -43,10 +43,10 @@ hu: message: > Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} hivatkozott erre a munkacsomagra a #%{pr_number} %{pr_link} letöltési kérelemben %{repository_link} linken. #%{pr_number} %{pr_link} letöltési kérelemben %{repository_link} linken. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'nyitott' + closed: 'lezárt' + draft: 'piszkozat' + merged: 'egyesített' + ready_for_review: 'véleményezésre megjelölve' diff --git a/modules/github_integration/config/locales/crowdin/js-id.yml b/modules/github_integration/config/locales/crowdin/js-id.yml index 2ffd88ff2e93..b65dc515417c 100644 --- a/modules/github_integration/config/locales/crowdin/js-id.yml +++ b/modules/github_integration/config/locales/crowdin/js-id.yml @@ -46,7 +46,7 @@ id: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'berakhir' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-it.yml b/modules/github_integration/config/locales/crowdin/js-it.yml index b71f9480985d..4ee925f9a0ae 100644 --- a/modules/github_integration/config/locales/crowdin/js-it.yml +++ b/modules/github_integration/config/locales/crowdin/js-it.yml @@ -41,12 +41,12 @@ it: github_actions: Azioni pull_requests: message: > - Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. + Pull request #%{pr_number} %{pr_link} per %{repository_link} %{pr_state} da %{github_user_link}. #%{pr_number} %{pr_link} per %{repository_link} %{pr_state} da %{github_user_link}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} ha fatto riferimento a questo pacchetto di lavoro nella richiesta di pull #%{pr_number} %{pr_link} su %{repository_link}. #%{pr_number} %{pr_link} su %{repository_link}. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'è stata aperta' + closed: 'chiuso' + draft: 'è stata abbozzata' + merged: 'è stata unita' + ready_for_review: 'è stata contrassegnata pronta alla revisione' diff --git a/modules/github_integration/config/locales/crowdin/js-ja.yml b/modules/github_integration/config/locales/crowdin/js-ja.yml index 93976430c565..6f9b2b4a60e7 100644 --- a/modules/github_integration/config/locales/crowdin/js-ja.yml +++ b/modules/github_integration/config/locales/crowdin/js-ja.yml @@ -46,7 +46,7 @@ ja: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: '完了' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-ko.yml b/modules/github_integration/config/locales/crowdin/js-ko.yml index 98227fdd485b..90cee3c434cd 100644 --- a/modules/github_integration/config/locales/crowdin/js-ko.yml +++ b/modules/github_integration/config/locales/crowdin/js-ko.yml @@ -46,7 +46,7 @@ ko: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: '닫음' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-lt.yml b/modules/github_integration/config/locales/crowdin/js-lt.yml index 3868be294a4c..a9e0b79fcf32 100644 --- a/modules/github_integration/config/locales/crowdin/js-lt.yml +++ b/modules/github_integration/config/locales/crowdin/js-lt.yml @@ -41,12 +41,12 @@ lt: github_actions: Veiksmai pull_requests: message: > - Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. + Pakeitimo užklausą #%{pr_number} %{pr_link} skirtą %{repository_link} naudotojas %{github_user_link} %{pr_state}. #%{pr_number} %{pr_link} skirtą %{repository_link} naudotojas %{github_user_link} %{pr_state}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} minėjo šį darbo paketą pakeitimo užklausoje #%{pr_number} %{pr_link} %{repository_link}. #%{pr_number} %{pr_link} %{repository_link}. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'atidarė' + closed: 'uždarė' + draft: 'sukūrė juodraštį' + merged: 'suliejo' + ready_for_review: 'pažymėjo paruoštu peržiūrai' diff --git a/modules/github_integration/config/locales/crowdin/js-lv.yml b/modules/github_integration/config/locales/crowdin/js-lv.yml index 200f6e9d82e7..e14637836fe8 100644 --- a/modules/github_integration/config/locales/crowdin/js-lv.yml +++ b/modules/github_integration/config/locales/crowdin/js-lv.yml @@ -46,7 +46,7 @@ lv: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'slēgti' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-nl.yml b/modules/github_integration/config/locales/crowdin/js-nl.yml index 82bbc403c6f2..9be52ed158b9 100644 --- a/modules/github_integration/config/locales/crowdin/js-nl.yml +++ b/modules/github_integration/config/locales/crowdin/js-nl.yml @@ -45,8 +45,8 @@ nl: referenced_message: > %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: - opened: 'opened' - closed: 'closed' + opened: 'geopend' + closed: 'gesloten' draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + merged: 'samengevoegd' + ready_for_review: 'gemarkeerd als klaar voor review' diff --git a/modules/github_integration/config/locales/crowdin/js-no.yml b/modules/github_integration/config/locales/crowdin/js-no.yml index 25cd0ea00fff..cdfcfba67959 100644 --- a/modules/github_integration/config/locales/crowdin/js-no.yml +++ b/modules/github_integration/config/locales/crowdin/js-no.yml @@ -46,7 +46,7 @@ %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'lukket' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-pl.yml b/modules/github_integration/config/locales/crowdin/js-pl.yml index c69e6b6da242..1d5eaaaaddaa 100644 --- a/modules/github_integration/config/locales/crowdin/js-pl.yml +++ b/modules/github_integration/config/locales/crowdin/js-pl.yml @@ -46,7 +46,7 @@ pl: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'Zamknięte' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-pt.yml b/modules/github_integration/config/locales/crowdin/js-pt.yml index 85d1a02408de..950d5a0f25c0 100644 --- a/modules/github_integration/config/locales/crowdin/js-pt.yml +++ b/modules/github_integration/config/locales/crowdin/js-pt.yml @@ -41,12 +41,12 @@ pt: github_actions: Ações pull_requests: message: > - Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. + A solicitação #%{pr_number} %{pr_link} para %{repository_link} foi %{pr_state} por %{github_user_link}. #%{pr_number} %{pr_link} para %{repository_link} foi %{pr_state} por %{github_user_link}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} fez referência a este pacote de trabalho na solicitação #%{pr_number} %{pr_link} em %{repository_link}. #%{pr_number} %{pr_link} em %{repository_link}. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'aberto' + closed: 'fechado' + draft: 'redigido' + merged: 'mesclado' + ready_for_review: 'marcado como pronto para revisão' diff --git a/modules/github_integration/config/locales/crowdin/js-ro.yml b/modules/github_integration/config/locales/crowdin/js-ro.yml index 614fa82c96d8..99c20aca928a 100644 --- a/modules/github_integration/config/locales/crowdin/js-ro.yml +++ b/modules/github_integration/config/locales/crowdin/js-ro.yml @@ -46,7 +46,7 @@ ro: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'închis' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-ru.yml b/modules/github_integration/config/locales/crowdin/js-ru.yml index 4ae7d336727f..e17477205903 100644 --- a/modules/github_integration/config/locales/crowdin/js-ru.yml +++ b/modules/github_integration/config/locales/crowdin/js-ru.yml @@ -41,12 +41,12 @@ ru: github_actions: Действия pull_requests: message: > - Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. + Запрос на слияние #%{pr_number} %{pr_link} для %{repository_link} был %{pr_state} от %{github_user_link}. #%{pr_number} %{pr_link} для %{repository_link} был %{pr_state} от %{github_user_link}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} ссылается на этот пакет работ в запросе на слияние #%{pr_number} %{pr_link} на %{repository_link}. #%{pr_number} %{pr_link} на %{repository_link}. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'открыт' + closed: 'закрыт' + draft: 'составлен' + merged: 'объединен' + ready_for_review: 'отмечен как готовый к просмотру' diff --git a/modules/github_integration/config/locales/crowdin/js-si.yml b/modules/github_integration/config/locales/crowdin/js-si.yml index f382aa1c88b6..407d3d3e3541 100644 --- a/modules/github_integration/config/locales/crowdin/js-si.yml +++ b/modules/github_integration/config/locales/crowdin/js-si.yml @@ -46,7 +46,7 @@ si: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'වසා' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-sk.yml b/modules/github_integration/config/locales/crowdin/js-sk.yml index 5db4a3ce71e5..8b5a159291cc 100644 --- a/modules/github_integration/config/locales/crowdin/js-sk.yml +++ b/modules/github_integration/config/locales/crowdin/js-sk.yml @@ -46,7 +46,7 @@ sk: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'uzatvorené' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-sl.yml b/modules/github_integration/config/locales/crowdin/js-sl.yml index c0b8d73c9cb8..b981400743c7 100644 --- a/modules/github_integration/config/locales/crowdin/js-sl.yml +++ b/modules/github_integration/config/locales/crowdin/js-sl.yml @@ -41,12 +41,12 @@ sl: github_actions: Akcije pull_requests: message: > - Pull request #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. #%{pr_number} %{pr_link} for %{repository_link} has been %{pr_state} by %{github_user_link}. + Zahteva za prenos #%{pr_number} %{pr_link} za %{repository_link} je bila %{pr_state} s strani uporabnika %{github_user_link}. #%{pr_number} %{pr_link} za %{repository_link} je bila %{pr_state} s strani uporabnika %{github_user_link}. referenced_message: > - %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. + %{github_user_link} se je v zahtevi za prenos skliceval na delovni paket #%{pr_number} %{pr_link} na %{repository_link}. #%{pr_number} %{pr_link} na %{repository_link}. states: - opened: 'opened' - closed: 'closed' - draft: 'drafted' - merged: 'merged' - ready_for_review: 'marked ready for review' + opened: 'Odprto' + closed: 'zaprto' + draft: 'pozvan' + merged: 'združeno' + ready_for_review: 'označeno kot pripravljeno za pregled' diff --git a/modules/github_integration/config/locales/crowdin/js-sv.yml b/modules/github_integration/config/locales/crowdin/js-sv.yml index 3a2a4b5f54fa..f1dd14189782 100644 --- a/modules/github_integration/config/locales/crowdin/js-sv.yml +++ b/modules/github_integration/config/locales/crowdin/js-sv.yml @@ -46,7 +46,7 @@ sv: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'stängt' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-th.yml b/modules/github_integration/config/locales/crowdin/js-th.yml index 98590008ccef..c7483ab01b5f 100644 --- a/modules/github_integration/config/locales/crowdin/js-th.yml +++ b/modules/github_integration/config/locales/crowdin/js-th.yml @@ -46,7 +46,7 @@ th: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'ปิด' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-tr.yml b/modules/github_integration/config/locales/crowdin/js-tr.yml index 7912aea44163..0ba5dd9f72fc 100644 --- a/modules/github_integration/config/locales/crowdin/js-tr.yml +++ b/modules/github_integration/config/locales/crowdin/js-tr.yml @@ -46,7 +46,7 @@ tr: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'kapalı' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-uk.yml b/modules/github_integration/config/locales/crowdin/js-uk.yml index e896756f76ce..393960b68b76 100644 --- a/modules/github_integration/config/locales/crowdin/js-uk.yml +++ b/modules/github_integration/config/locales/crowdin/js-uk.yml @@ -46,7 +46,7 @@ uk: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'зачинено' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-vi.yml b/modules/github_integration/config/locales/crowdin/js-vi.yml index daca4cc9d78e..1a979faacd89 100644 --- a/modules/github_integration/config/locales/crowdin/js-vi.yml +++ b/modules/github_integration/config/locales/crowdin/js-vi.yml @@ -46,7 +46,7 @@ vi: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: 'đã đóng' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' diff --git a/modules/github_integration/config/locales/crowdin/js-zh-TW.yml b/modules/github_integration/config/locales/crowdin/js-zh-TW.yml index 3dd909341200..1d6ed0d6cea5 100644 --- a/modules/github_integration/config/locales/crowdin/js-zh-TW.yml +++ b/modules/github_integration/config/locales/crowdin/js-zh-TW.yml @@ -46,7 +46,7 @@ zh-TW: %{github_user_link} referenced this work package in pull request #%{pr_number} %{pr_link} on %{repository_link}. #%{pr_number} %{pr_link} on %{repository_link}. states: opened: 'opened' - closed: 'closed' + closed: '已關閉' draft: 'drafted' merged: 'merged' ready_for_review: 'marked ready for review' From 10db401b397f4c0ddb5200770339abc5ae415d82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 17 Jul 2023 10:11:04 +0200 Subject: [PATCH 164/180] Remove in-context translations from crowdin --- app/helpers/crowdin_helper.rb | 29 - app/views/layouts/_common_head.html.erb | 1 - config/constants/settings/definition.rb | 6 - config/locales/crowdin/js-lol.yml | 1320 ------- config/locales/crowdin/lol.seeders.yml | 329 -- config/locales/crowdin/lol.yml | 3195 ----------------- .../avatars/config/locales/crowdin/js-lol.yml | 14 - .../avatars/config/locales/crowdin/lol.yml | 38 - .../config/locales/crowdin/js-lol.yml | 27 - .../backlogs/config/locales/crowdin/lol.yml | 157 - modules/bim/config/locales/crowdin/js-lol.yml | 29 - .../config/locales/crowdin/lol.seeders.yml | 433 --- modules/bim/config/locales/crowdin/lol.yml | 133 - .../boards/config/locales/crowdin/js-lol.yml | 85 - .../config/locales/crowdin/lol.seeders.yml | 8 - modules/boards/config/locales/crowdin/lol.yml | 18 - .../budgets/config/locales/crowdin/js-lol.yml | 26 - .../budgets/config/locales/crowdin/lol.yml | 76 - .../config/locales/crowdin/js-lol.yml | 8 - .../calendar/config/locales/crowdin/lol.yml | 7 - .../costs/config/locales/crowdin/js-lol.yml | 32 - modules/costs/config/locales/crowdin/lol.yml | 142 - .../config/locales/crowdin/js-lol.yml | 4 - .../dashboards/config/locales/crowdin/lol.yml | 4 - .../documents/config/locales/crowdin/lol.yml | 40 - .../config/locales/crowdin/js-lol.yml | 52 - .../config/locales/crowdin/lol.yml | 25 - .../grids/config/locales/crowdin/js-lol.yml | 66 - modules/grids/config/locales/crowdin/lol.yml | 16 - .../config/locales/crowdin/js-lol.yml | 17 - .../config/locales/crowdin/lol.yml | 67 - .../meeting/config/locales/crowdin/lol.yml | 93 - .../my_page/config/locales/crowdin/js-lol.yml | 4 - .../config/locales/crowdin/lol.yml | 23 - .../config/locales/crowdin/js-lol.yml | 4 - .../overviews/config/locales/crowdin/lol.yml | 4 - .../pdf_export/config/locales/crowdin/lol.yml | 51 - .../recaptcha/config/locales/crowdin/lol.yml | 18 - .../config/locales/crowdin/js-lol.yml | 26 - .../reporting/config/locales/crowdin/lol.yml | 90 - .../config/locales/crowdin/js-lol.yml | 74 - .../storages/config/locales/crowdin/lol.yml | 129 - .../config/locales/crowdin/js-lol.yml | 26 - .../config/locales/crowdin/lol.yml | 19 - .../config/locales/crowdin/lol.yml | 170 - .../webhooks/config/locales/crowdin/lol.yml | 63 - .../xls_export/config/locales/crowdin/lol.yml | 13 - 47 files changed, 7211 deletions(-) delete mode 100644 app/helpers/crowdin_helper.rb delete mode 100644 config/locales/crowdin/js-lol.yml delete mode 100644 config/locales/crowdin/lol.seeders.yml delete mode 100644 config/locales/crowdin/lol.yml delete mode 100644 modules/avatars/config/locales/crowdin/js-lol.yml delete mode 100644 modules/avatars/config/locales/crowdin/lol.yml delete mode 100644 modules/backlogs/config/locales/crowdin/js-lol.yml delete mode 100644 modules/backlogs/config/locales/crowdin/lol.yml delete mode 100644 modules/bim/config/locales/crowdin/js-lol.yml delete mode 100644 modules/bim/config/locales/crowdin/lol.seeders.yml delete mode 100644 modules/bim/config/locales/crowdin/lol.yml delete mode 100644 modules/boards/config/locales/crowdin/js-lol.yml delete mode 100644 modules/boards/config/locales/crowdin/lol.seeders.yml delete mode 100644 modules/boards/config/locales/crowdin/lol.yml delete mode 100644 modules/budgets/config/locales/crowdin/js-lol.yml delete mode 100644 modules/budgets/config/locales/crowdin/lol.yml delete mode 100644 modules/calendar/config/locales/crowdin/js-lol.yml delete mode 100644 modules/calendar/config/locales/crowdin/lol.yml delete mode 100644 modules/costs/config/locales/crowdin/js-lol.yml delete mode 100644 modules/costs/config/locales/crowdin/lol.yml delete mode 100644 modules/dashboards/config/locales/crowdin/js-lol.yml delete mode 100644 modules/dashboards/config/locales/crowdin/lol.yml delete mode 100644 modules/documents/config/locales/crowdin/lol.yml delete mode 100644 modules/github_integration/config/locales/crowdin/js-lol.yml delete mode 100644 modules/github_integration/config/locales/crowdin/lol.yml delete mode 100644 modules/grids/config/locales/crowdin/js-lol.yml delete mode 100644 modules/grids/config/locales/crowdin/lol.yml delete mode 100644 modules/job_status/config/locales/crowdin/js-lol.yml delete mode 100644 modules/ldap_groups/config/locales/crowdin/lol.yml delete mode 100644 modules/meeting/config/locales/crowdin/lol.yml delete mode 100644 modules/my_page/config/locales/crowdin/js-lol.yml delete mode 100644 modules/openid_connect/config/locales/crowdin/lol.yml delete mode 100644 modules/overviews/config/locales/crowdin/js-lol.yml delete mode 100644 modules/overviews/config/locales/crowdin/lol.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/lol.yml delete mode 100644 modules/recaptcha/config/locales/crowdin/lol.yml delete mode 100644 modules/reporting/config/locales/crowdin/js-lol.yml delete mode 100644 modules/reporting/config/locales/crowdin/lol.yml delete mode 100644 modules/storages/config/locales/crowdin/js-lol.yml delete mode 100644 modules/storages/config/locales/crowdin/lol.yml delete mode 100644 modules/team_planner/config/locales/crowdin/js-lol.yml delete mode 100644 modules/team_planner/config/locales/crowdin/lol.yml delete mode 100644 modules/two_factor_authentication/config/locales/crowdin/lol.yml delete mode 100644 modules/webhooks/config/locales/crowdin/lol.yml delete mode 100644 modules/xls_export/config/locales/crowdin/lol.yml diff --git a/app/helpers/crowdin_helper.rb b/app/helpers/crowdin_helper.rb deleted file mode 100644 index 4098e6cbab92..000000000000 --- a/app/helpers/crowdin_helper.rb +++ /dev/null @@ -1,29 +0,0 @@ -module CrowdinHelper - def crowdin_in_context_translation - return unless OpenProject::Configuration.crowdin_in_context_translations? - return unless ::I18n.locale == :lol - - # Enable CSP to load the following script by whitelisting for this request. - # This will be slower than manually adding it to the initializer, but we wouldn't want to - # allow cdn.crowdin.com for users without in context translations. - controller.append_content_security_policy_directives( - # initial script and setup API calls - script_src: %w(cdn.crowdin.com crowdin.com), - # Form action to crowdin, github etc. - form_action: %w[https://crowdin.com - https://accounts.google.com - https://api.twitter.com - https://github.com - https://gitlab.com], - # Iframe - frame_src: %w(crowdin.com), - # CSS loaded from cdn - style_src: %w(cdn.crowdin.com) - ) - - concat(nonced_javascript_tag do - "var _jipt = []; _jipt.push(['project', 'openproject']);".html_safe - end) - concat javascript_include_tag 'https://cdn.crowdin.com/jipt/jipt.js' - end -end diff --git a/app/views/layouts/_common_head.html.erb b/app/views/layouts/_common_head.html.erb index 25fe7b680c45..bd65ad6388bf 100644 --- a/app/views/layouts/_common_head.html.erb +++ b/app/views/layouts/_common_head.html.erb @@ -54,4 +54,3 @@ <% end %> <% end %> <% end %> -<%= crowdin_in_context_translation %> diff --git a/config/constants/settings/definition.rb b/config/constants/settings/definition.rb index b509277198ea..b3c516712696 100644 --- a/config/constants/settings/definition.rb +++ b/config/constants/settings/definition.rb @@ -273,12 +273,6 @@ class Definition cross_project_work_package_relations: { default: true }, - # Allow in-context translations to be loaded with CSP - crowdin_in_context_translations: { - description: 'Add crowdin in-context translations helper', - default: true, - writable: false - }, database_cipher_key: { description: 'Encryption key for repository credentials', format: :string, diff --git a/config/locales/crowdin/js-lol.yml b/config/locales/crowdin/js-lol.yml deleted file mode 100644 index 3ba7059e5843..000000000000 --- a/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,1320 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - js: - ajax: - hide: "crwdns786842:0crwdne786842:0" - loading: "crwdns808268:0crwdne808268:0" - updating: "crwdns808270:0crwdne808270:0" - attachments: - delete: "crwdns833334:0crwdne833334:0" - delete_confirmation: | - crwdns833336:0crwdne833336:0 - draggable_hint: | - crwdns786846:0crwdne786846:0 - autocomplete_select: - placeholder: - multi: "crwdns786848:0%{name}crwdne786848:0" - single: "crwdns786850:0%{name}crwdne786850:0" - remove: "crwdns786852:0%{name}crwdne786852:0" - active: "crwdns786854:0%{label}crwdnd786854:0%{name}crwdne786854:0" - backup: - attachments_disabled: crwdns786856:0crwdne786856:0 - info: > - crwdns786858:0crwdne786858:0 - note: > - crwdns786860:0crwdne786860:0 - last_backup: crwdns786862:0crwdne786862:0 - last_backup_from: crwdns786864:0crwdne786864:0 - title: crwdns786866:0crwdne786866:0 - options: crwdns786868:0crwdne786868:0 - include_attachments: crwdns786870:0crwdne786870:0 - download_backup: crwdns786872:0crwdne786872:0 - request_backup: crwdns786874:0crwdne786874:0 - close_popup_title: "crwdns786876:0crwdne786876:0" - close_filter_title: "crwdns786878:0crwdne786878:0" - close_form_title: "crwdns786880:0crwdne786880:0" - button_add_watcher: "crwdns786882:0crwdne786882:0" - button_add: "crwdns786884:0crwdne786884:0" - button_back: "crwdns786886:0crwdne786886:0" - button_back_to_list_view: "crwdns786888:0crwdne786888:0" - button_cancel: "crwdns786890:0crwdne786890:0" - button_close: "crwdns786892:0crwdne786892:0" - button_change_project: "crwdns786894:0crwdne786894:0" - button_check_all: "crwdns786896:0crwdne786896:0" - button_configure-form: "crwdns786898:0crwdne786898:0" - button_confirm: "crwdns786900:0crwdne786900:0" - button_continue: "crwdns786902:0crwdne786902:0" - button_copy: "crwdns786904:0crwdne786904:0" - button_copy_to_clipboard: "crwdns855841:0crwdne855841:0" - button_copy_link_to_clipboard: "crwdns858843:0crwdne858843:0" - button_copy_to_other_project: "crwdns786906:0crwdne786906:0" - button_custom-fields: "crwdns786908:0crwdne786908:0" - button_delete: "crwdns786910:0crwdne786910:0" - button_delete_watcher: "crwdns786912:0crwdne786912:0" - button_details_view: "crwdns786914:0crwdne786914:0" - button_duplicate: "crwdns786916:0crwdne786916:0" - button_edit: "crwdns786918:0crwdne786918:0" - button_filter: "crwdns786920:0crwdne786920:0" - button_collapse_all: "crwdns786922:0crwdne786922:0" - button_expand_all: "crwdns786924:0crwdne786924:0" - button_advanced_filter: "crwdns786926:0crwdne786926:0" - button_list_view: "crwdns786928:0crwdne786928:0" - button_show_view: "crwdns786930:0crwdne786930:0" - button_log_time: "crwdns786932:0crwdne786932:0" - button_more: "crwdns786934:0crwdne786934:0" - button_open_details: "crwdns786936:0crwdne786936:0" - button_close_details: "crwdns786938:0crwdne786938:0" - button_open_fullscreen: "crwdns786940:0crwdne786940:0" - button_show_cards: "crwdns786942:0crwdne786942:0" - button_show_list: "crwdns786944:0crwdne786944:0" - button_show_table: "crwdns833302:0crwdne833302:0" - button_show_gantt: "crwdns833304:0crwdne833304:0" - button_show_fullscreen: "crwdns833306:0crwdne833306:0" - button_more_actions: "crwdns833308:0crwdne833308:0" - button_quote: "crwdns786946:0crwdne786946:0" - button_save: "crwdns786948:0crwdne786948:0" - button_settings: "crwdns786950:0crwdne786950:0" - button_uncheck_all: "crwdns786952:0crwdne786952:0" - button_update: "crwdns786954:0crwdne786954:0" - button_export-pdf: "crwdns786956:0crwdne786956:0" - button_export-atom: "crwdns786958:0crwdne786958:0" - button_create: "crwdns786960:0crwdne786960:0" - card: - add_new: 'crwdns786962:0crwdne786962:0' - highlighting: - inline: 'crwdns786964:0crwdne786964:0' - entire_card_by: 'crwdns786966:0crwdne786966:0' - remove_from_list: 'crwdns786968:0crwdne786968:0' - caption_rate_history: "crwdns786970:0crwdne786970:0" - clipboard: - browser_error: "crwdns855843:0%{content}crwdne855843:0" - copied_successful: "crwdns786974:0crwdne786974:0" - chart: - type: 'crwdns786976:0crwdne786976:0' - axis_criteria: 'crwdns786978:0crwdne786978:0' - modal_title: 'crwdns786980:0crwdne786980:0' - types: - line: 'crwdns786982:0crwdne786982:0' - horizontal_bar: 'crwdns786984:0crwdne786984:0' - bar: 'crwdns786986:0crwdne786986:0' - pie: 'crwdns786988:0crwdne786988:0' - doughnut: 'crwdns786990:0crwdne786990:0' - radar: 'crwdns786992:0crwdne786992:0' - polar_area: 'crwdns786994:0crwdne786994:0' - tabs: - graph_settings: 'crwdns786996:0crwdne786996:0' - dataset: 'crwdns786998:0%{number}crwdne786998:0' - errors: - could_not_load: 'crwdns787000:0crwdne787000:0' - description_available_columns: "crwdns787002:0crwdne787002:0" - description_current_position: "crwdns787004:0crwdne787004:0" - description_select_work_package: "crwdns787006:0%{id}crwdne787006:0" - description_selected_columns: "crwdns787008:0crwdne787008:0" - description_subwork_package: "crwdns787010:0%{id}crwdne787010:0" - editor: - preview: 'crwdns787012:0crwdne787012:0' - source_code: 'crwdns787014:0crwdne787014:0' - error_saving_failed: 'crwdns787016:0%{error}crwdne787016:0' - ckeditor_error: 'crwdns787018:0crwdne787018:0' - mode: - manual: 'crwdns787020:0crwdne787020:0' - wysiwyg: 'crwdns787022:0crwdne787022:0' - macro: - error: 'crwdns787024:0%{message}crwdne787024:0' - attribute_reference: - macro_help_tooltip: 'crwdns787026:0crwdne787026:0' - not_found: 'crwdns787028:0crwdne787028:0' - invalid_attribute: "crwdns787030:0%{name}crwdne787030:0" - child_pages: - button: 'crwdns787032:0crwdne787032:0' - include_parent: 'crwdns787034:0crwdne787034:0' - text: 'crwdns787036:0[Placeholder]crwdne787036:0' - page: 'crwdns787038:0crwdne787038:0' - this_page: 'crwdns787040:0crwdne787040:0' - hint: | - crwdns787042:0crwdne787042:0 - code_block: - button: 'crwdns787044:0crwdne787044:0' - title: 'crwdns787046:0crwdne787046:0' - language: 'crwdns787048:0crwdne787048:0' - language_hint: 'crwdns787050:0crwdne787050:0' - dropdown: - macros: 'crwdns787052:0crwdne787052:0' - chose_macro: 'crwdns829550:0crwdne829550:0' - toc: 'crwdns787056:0crwdne787056:0' - toolbar_help: 'crwdns787058:0crwdne787058:0' - wiki_page_include: - button: 'crwdns787060:0crwdne787060:0' - text: 'crwdns787062:0[Placeholder]crwdne787062:0' - page: 'crwdns787064:0crwdne787064:0' - not_set: 'crwdns787066:0crwdne787066:0' - hint: | - crwdns787068:0crwdne787068:0 - work_package_button: - button: 'crwdns787070:0crwdne787070:0' - type: 'crwdns787072:0crwdne787072:0' - button_style: 'crwdns787074:0crwdne787074:0' - button_style_hint: 'crwdns787076:0crwdne787076:0' - without_type: 'crwdns787078:0crwdne787078:0' - with_type: 'crwdns787080:0%{typename}crwdne787080:0' - embedded_table: - button: 'crwdns787082:0crwdne787082:0' - text: 'crwdns787084:0[Placeholder]crwdne787084:0' - embedded_calendar: - text: 'crwdns787086:0[Placeholder]crwdne787086:0' - admin: - type_form: - custom_field: 'crwdns787088:0crwdne787088:0' - inactive: 'crwdns787090:0crwdne787090:0' - drag_to_activate: "crwdns787092:0crwdne787092:0" - add_group: "crwdns787094:0crwdne787094:0" - add_table: "crwdns787096:0crwdne787096:0" - edit_query: 'crwdns787098:0crwdne787098:0' - new_group: 'crwdns787100:0crwdne787100:0' - reset_to_defaults: 'crwdns787102:0crwdne787102:0' - enterprise: - text_reprieve_days_left: "crwdns787104:0%{days}crwdne787104:0" - text_expired: "crwdns787106:0crwdne787106:0" - trial: - confirmation: "crwdns787108:0crwdne787108:0" - confirmation_info: > - crwdns787110:0%{date}crwdnd787110:0%{email}crwdne787110:0 - form: - general_consent: > - crwdns787112:0%{link_terms}crwdnd787112:0%{link_privacy}crwdne787112:0 - invalid_email: "crwdns787114:0crwdne787114:0" - label_company: "crwdns787116:0crwdne787116:0" - label_first_name: "crwdns787118:0crwdne787118:0" - label_last_name: "crwdns787120:0crwdne787120:0" - label_domain: "crwdns787122:0crwdne787122:0" - label_subscriber: "crwdns787124:0crwdne787124:0" - label_maximum_users: "crwdns787126:0crwdne787126:0" - label_starts_at: "crwdns787128:0crwdne787128:0" - label_expires_at: "crwdns787130:0crwdne787130:0" - receive_newsletter: crwdns787132:0%{link}crwdne787132:0 - taken_domain: crwdns787134:0crwdne787134:0 - domain_mismatch: crwdns825740:0crwdne825740:0 - taken_email: crwdns787136:0crwdne787136:0 - email_not_received: "crwdns787138:0crwdne787138:0" - try_another_email: "crwdns787140:0crwdne787140:0" - next_steps: "crwdns787142:0crwdne787142:0" - resend_link: "crwdns787144:0crwdne787144:0" - resend_success: "crwdns787146:0crwdne787146:0" - resend_warning: "crwdns787148:0crwdne787148:0" - session_timeout: "crwdns787150:0crwdne787150:0" - status_label: "crwdns787152:0crwdne787152:0" - status_confirmed: "crwdns787154:0crwdne787154:0" - status_waiting: "crwdns787156:0crwdne787156:0" - test_ee: "crwdns839457:0crwdne839457:0" - quick_overview: "crwdns839459:0crwdne839459:0" - upsale: - become_hero: "crwdns787162:0crwdne787162:0" - enterprise_info_html: "crwdns852069:0%{feature_title}crwdne852069:0" - upgrade_info: "crwdns838381:0crwdne838381:0" - benefits: - description: "crwdns839461:0crwdne839461:0" - high_security: "crwdns787166:0crwdne787166:0" - high_security_text: "crwdns839329:0crwdne839329:0" - installation: "crwdns787170:0crwdne787170:0" - installation_text: "crwdns787172:0crwdne787172:0" - premium_features: "crwdns839463:0crwdne839463:0" - premium_features_text: "crwdns787176:0crwdne787176:0" - professional_support: "crwdns787178:0crwdne787178:0" - professional_support_text: "crwdns787180:0crwdne787180:0" - button_start_trial: "crwdns787182:0crwdne787182:0" - button_upgrade: "crwdns822250:0crwdne822250:0" - button_contact_us: "crwdns838383:0crwdne838383:0" - button_book_now: "crwdns787184:0crwdne787184:0" - confidence: > - crwdns787186:0crwdne787186:0 - link_quote: "crwdns787188:0crwdne787188:0" - more_info: "crwdns825474:0crwdne825474:0" - text: > - crwdns839571:0crwdne839571:0 - unlimited: "crwdns787192:0crwdne787192:0" - you_contribute: "crwdns839467:0crwdne839467:0" - working_days: - calendar: - empty_state_header: "crwdns845451:0crwdne845451:0" - empty_state_description: 'crwdns845955:0crwdne845955:0' - new_date: 'crwdns845455:0crwdne845455:0' - add_non_working_day: "crwdns845747:0crwdne845747:0" - already_added_error: "crwdns845459:0crwdne845459:0" - change_button: "crwdns845461:0crwdne845461:0" - change_title: "crwdns845463:0crwdne845463:0" - removed_title: "crwdns845465:0crwdne845465:0" - change_description: "crwdns845467:0crwdne845467:0" - warning: > - crwdns845813:0crwdne845813:0 - custom_actions: - date: - specific: 'crwdns787196:0crwdne787196:0' - current_date: 'crwdns787198:0crwdne787198:0' - error: - internal: "crwdns787200:0crwdne787200:0" - cannot_save_changes_with_message: "crwdns787202:0%{error}crwdne787202:0" - query_saving: "crwdns787204:0crwdne787204:0" - embedded_table_loading: "crwdns787206:0%{message}crwdne787206:0" - enumeration_activities: "crwdns787208:0crwdne787208:0" - enumeration_doc_categories: "crwdns787210:0crwdne787210:0" - enumeration_work_package_priorities: "crwdns787212:0crwdne787212:0" - filter: - more_values_not_shown: "crwdns787214:0%{total}crwdne787214:0" - description: - text_open_filter: "crwdns787216:0crwdne787216:0" - text_close_filter: "crwdns787218:0crwdne787218:0" - noneElement: "crwdns787220:0crwdne787220:0" - time_zone_converted: - two_values: "crwdns787222:0%{from}crwdnd787222:0%{to}crwdne787222:0" - only_start: "crwdns787224:0%{from}crwdne787224:0" - only_end: "crwdns787226:0%{to}crwdne787226:0" - value_spacer: "crwdns787228:0crwdne787228:0" - sorting: - criteria: - one: "crwdns787230:0crwdne787230:0" - two: "crwdns787232:0crwdne787232:0" - three: "crwdns787234:0crwdne787234:0" - general_text_no: "crwdns787240:0crwdne787240:0" - general_text_yes: "crwdns787242:0crwdne787242:0" - general_text_No: "crwdns787244:0crwdne787244:0" - general_text_Yes: "crwdns787246:0crwdne787246:0" - hal: - error: - update_conflict_refresh: "crwdns787248:0crwdne787248:0" - edit_prohibited: "crwdns787250:0%{attribute}crwdne787250:0" - format: - date: "crwdns787252:0%{attribute}crwdne787252:0" - general: "crwdns787254:0crwdne787254:0" - homescreen: - blocks: - new_features: - text_new_features: "crwdns787256:0crwdne787256:0" - learn_about: "crwdns787258:0crwdne787258:0" - #Include the version to invalidate outdated translations in other locales. - #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '12_5': - standard: - learn_about_link: crwdns845735:0crwdne845735:0 - new_features_html: > - crwdns845737:0%{list_styling_class}crwdne845737:0 - ical_sharing_modal: - title: "crwdns854469:0crwdne854469:0" - inital_setup_error_message: "crwdns854471:0crwdne854471:0" - description: "crwdns854473:0crwdne854473:0" - warning: "crwdns854475:0crwdne854475:0" - token_name_label: "crwdns854477:0crwdne854477:0" - token_name_placeholder: "crwdns854479:0crwdne854479:0" - token_name_description_text: "crwdns854481:0crwdne854481:0" - copy_url_label: "crwdns854483:0crwdne854483:0" - ical_generation_error_text: "crwdns854485:0crwdne854485:0" - label_activate: "crwdns787268:0crwdne787268:0" - label_assignee: 'crwdns809580:0crwdne809580:0' - label_add_column_after: "crwdns787270:0crwdne787270:0" - label_add_column_before: "crwdns787272:0crwdne787272:0" - label_add_columns: "crwdns787274:0crwdne787274:0" - label_add_comment: "crwdns787276:0crwdne787276:0" - label_add_comment_title: "crwdns787278:0crwdne787278:0" - label_add_row_after: "crwdns787280:0crwdne787280:0" - label_add_row_before: "crwdns787282:0crwdne787282:0" - label_add_selected_columns: "crwdns787284:0crwdne787284:0" - label_added_by: "crwdns787286:0crwdne787286:0" - label_added_time_by: "crwdns854509:0%{authorLink}crwdnd854509:0%{author}crwdnd854509:0%{age}crwdne854509:0" - label_ago: "crwdns787290:0crwdne787290:0" - label_all: "crwdns787292:0crwdne787292:0" - label_all_work_packages: "crwdns787294:0crwdne787294:0" - label_and: "crwdns787296:0crwdne787296:0" - label_ascending: "crwdns787298:0crwdne787298:0" - label_author: "crwdns787300:0%{user}crwdne787300:0" - label_avatar: "crwdns787302:0crwdne787302:0" - label_between: "crwdns787304:0crwdne787304:0" - label_board: "crwdns787306:0crwdne787306:0" - label_board_locked: "crwdns787308:0crwdne787308:0" - label_board_plural: "crwdns787310:0crwdne787310:0" - label_board_sticky: "crwdns787312:0crwdne787312:0" - label_change: "crwdns787314:0crwdne787314:0" - label_create: "crwdns787316:0crwdne787316:0" - label_create_work_package: "crwdns787318:0crwdne787318:0" - label_created_by: "crwdns787320:0crwdne787320:0" - label_date: "crwdns787322:0crwdne787322:0" - label_date_with_format: "crwdns787324:0%{date_attribute}crwdnd787324:0%{format}crwdne787324:0" - label_deactivate: "crwdns787326:0crwdne787326:0" - label_descending: "crwdns787328:0crwdne787328:0" - label_description: "crwdns787330:0crwdne787330:0" - label_details: "crwdns787332:0crwdne787332:0" - label_display: "crwdns787334:0crwdne787334:0" - label_cancel_comment: "crwdns787336:0crwdne787336:0" - label_closed_work_packages: "crwdns787338:0crwdne787338:0" - label_collapse: "crwdns787340:0crwdne787340:0" - label_collapsed: "crwdns787342:0crwdne787342:0" - label_collapse_all: "crwdns787344:0crwdne787344:0" - label_comment: "crwdns787346:0crwdne787346:0" - label_committed_at: "crwdns787348:0%{committed_revision_link}crwdnd787348:0%{date}crwdne787348:0" - label_committed_link: "crwdns787350:0%{revision_identifier}crwdne787350:0" - label_contains: "crwdns787352:0crwdne787352:0" - label_created_on: "crwdns787354:0crwdne787354:0" - label_edit_comment: "crwdns787356:0crwdne787356:0" - label_edit_status: "crwdns787358:0crwdne787358:0" - label_email: "crwdns787360:0crwdne787360:0" - label_equals: "crwdns787362:0crwdne787362:0" - label_expand: "crwdns787364:0crwdne787364:0" - label_expanded: "crwdns787366:0crwdne787366:0" - label_expand_all: "crwdns787368:0crwdne787368:0" - label_expand_project_menu: "crwdns787370:0crwdne787370:0" - label_export: "crwdns787372:0crwdne787372:0" - label_export_preparing: "crwdns787374:0crwdne787374:0" - label_filename: "crwdns787376:0crwdne787376:0" - label_filesize: "crwdns787378:0crwdne787378:0" - label_general: "crwdns787380:0crwdne787380:0" - label_global_roles: "crwdns787382:0crwdne787382:0" - label_greater_or_equal: "crwdns787384:0crwdne787384:0" - label_group: 'crwdns787386:0crwdne787386:0' - label_group_by: "crwdns787388:0crwdne787388:0" - label_group_plural: "crwdns787390:0crwdne787390:0" - label_hide_attributes: "crwdns787392:0crwdne787392:0" - label_hide_column: "crwdns787394:0crwdne787394:0" - label_hide_project_menu: "crwdns787396:0crwdne787396:0" - label_in: "crwdns787398:0crwdne787398:0" - label_in_less_than: "crwdns787400:0crwdne787400:0" - label_in_more_than: "crwdns787402:0crwdne787402:0" - label_incoming_emails: "crwdns787404:0crwdne787404:0" - label_information_plural: "crwdns787406:0crwdne787406:0" - label_invalid: "crwdns825432:0crwdne825432:0" - label_import: "crwdns787408:0crwdne787408:0" - label_latest_activity: "crwdns787410:0crwdne787410:0" - label_last_updated_on: "crwdns787412:0crwdne787412:0" - label_learn_more_link: "crwdns787414:0crwdne787414:0" - label_less_or_equal: "crwdns787416:0crwdne787416:0" - label_less_than_ago: "crwdns787418:0crwdne787418:0" - label_loading: "crwdns787420:0crwdne787420:0" - label_mail_notification: "crwdns787422:0crwdne787422:0" - label_me: "crwdns787424:0crwdne787424:0" - label_meeting_agenda: "crwdns787426:0crwdne787426:0" - label_meeting_minutes: "crwdns787428:0crwdne787428:0" - label_menu_collapse: "crwdns787430:0crwdne787430:0" - label_menu_expand: "crwdns787432:0crwdne787432:0" - label_more_than_ago: "crwdns787434:0crwdne787434:0" - label_next: "crwdns787436:0crwdne787436:0" - label_no_color: "crwdns787438:0crwdne787438:0" - label_no_data: "crwdns787440:0crwdne787440:0" - label_no_due_date: "crwdns787442:0crwdne787442:0" - label_no_start_date: "crwdns787444:0crwdne787444:0" - label_no_date: "crwdns838891:0crwdne838891:0" - label_no_value: "crwdns787446:0crwdne787446:0" - label_none: "crwdns787448:0crwdne787448:0" - label_not_contains: "crwdns787450:0crwdne787450:0" - label_not_equals: "crwdns787452:0crwdne787452:0" - label_on: "crwdns787454:0crwdne787454:0" - label_open_menu: "crwdns787456:0crwdne787456:0" - label_open_context_menu: "crwdns787458:0crwdne787458:0" - label_open_work_packages: "crwdns787460:0crwdne787460:0" - label_password: "crwdns787462:0crwdne787462:0" - label_previous: "crwdns787464:0crwdne787464:0" - label_per_page: "crwdns787466:0crwdne787466:0" - label_please_wait: "crwdns787468:0crwdne787468:0" - label_project: "crwdns820646:0crwdne820646:0" - label_project_list: "crwdns820648:0crwdne820648:0" - label_project_plural: "crwdns787470:0crwdne787470:0" - label_visibility_settings: "crwdns787472:0crwdne787472:0" - label_quote_comment: "crwdns787474:0crwdne787474:0" - label_recent: "crwdns787476:0crwdne787476:0" - label_reset: "crwdns787478:0crwdne787478:0" - label_remove: "crwdns787480:0crwdne787480:0" - label_remove_column: "crwdns787482:0crwdne787482:0" - label_remove_columns: "crwdns787484:0crwdne787484:0" - label_remove_row: "crwdns787486:0crwdne787486:0" - label_report: "crwdns787488:0crwdne787488:0" - label_repository_plural: "crwdns787490:0crwdne787490:0" - label_save_as: "crwdns787492:0crwdne787492:0" - label_select_project: "crwdns820650:0crwdne820650:0" - label_select_watcher: "crwdns787494:0crwdne787494:0" - label_selected_filter_list: "crwdns787496:0crwdne787496:0" - label_show_attributes: "crwdns787498:0crwdne787498:0" - label_show_in_menu: "crwdns787500:0crwdne787500:0" - label_sort_by: "crwdns787502:0crwdne787502:0" - label_sorted_by: "crwdns787504:0crwdne787504:0" - label_sort_higher: "crwdns787506:0crwdne787506:0" - label_sort_lower: "crwdns787508:0crwdne787508:0" - label_sorting: "crwdns787510:0crwdne787510:0" - label_spent_time: "crwdns787512:0crwdne787512:0" - label_star_query: "crwdns787514:0crwdne787514:0" - label_press_enter_to_save: "crwdns787516:0crwdne787516:0" - label_public_query: "crwdns787518:0crwdne787518:0" - label_sum: "crwdns787520:0crwdne787520:0" - label_sum_for: "crwdns787522:0crwdne787522:0" - label_total_sum: "crwdns787524:0crwdne787524:0" - label_subject: "crwdns787526:0crwdne787526:0" - label_this_week: "crwdns787528:0crwdne787528:0" - label_today: "crwdns787530:0crwdne787530:0" - label_time_entry_plural: "crwdns787532:0crwdne787532:0" - label_up: "crwdns787534:0crwdne787534:0" - label_user_plural: "crwdns787536:0crwdne787536:0" - label_activity_show_only_comments: "crwdns787538:0crwdne787538:0" - label_activity_show_all: "crwdns787540:0crwdne787540:0" - label_total_progress: "crwdns787542:0%{percent}crwdne787542:0" - label_total_amount: "crwdns787544:0%{amount}crwdne787544:0" - label_updated_on: "crwdns787546:0crwdne787546:0" - label_value_derived_from_children: "crwdns787548:0crwdne787548:0" - label_children_derived_duration: "crwdns787550:0crwdne787550:0" - label_warning: "crwdns787552:0crwdne787552:0" - label_work_package: "crwdns787554:0crwdne787554:0" - label_work_package_parent: "crwdns787556:0crwdne787556:0" - label_work_package_plural: "crwdns787558:0crwdne787558:0" - label_watch: "crwdns787560:0crwdne787560:0" - label_watch_work_package: "crwdns787562:0crwdne787562:0" - label_watcher_added_successfully: "crwdns787564:0crwdne787564:0" - label_watcher_deleted_successfully: "crwdns787566:0crwdne787566:0" - label_work_package_details_you_are_here: "crwdns847263:0%{tab}crwdnd847263:0%{type}crwdnd847263:0%{subject}crwdne847263:0" - label_unwatch: "crwdns787570:0crwdne787570:0" - label_unwatch_work_package: "crwdns787572:0crwdne787572:0" - label_uploaded_by: "crwdns787574:0crwdne787574:0" - label_default_queries: "crwdns822872:0crwdne822872:0" - label_starred_queries: "crwdns822874:0crwdne822874:0" - label_global_queries: "crwdns822876:0crwdne822876:0" - label_custom_queries: "crwdns822878:0crwdne822878:0" - label_columns: "crwdns787584:0crwdne787584:0" - label_attachments: crwdns807696:0crwdne807696:0 - label_drop_files: "crwdns843197:0crwdne843197:0" - label_drop_or_click_files: "crwdns843199:0crwdne843199:0" - label_drop_folders_hint: crwdns787592:0crwdne787592:0 - label_add_attachments: "crwdns843869:0crwdne843869:0" - label_formattable_attachment_hint: "crwdns787596:0crwdne787596:0" - label_remove_file: "crwdns787598:0%{fileName}crwdne787598:0" - label_remove_watcher: "crwdns787600:0%{name}crwdne787600:0" - label_remove_all_files: crwdns787602:0crwdne787602:0 - label_add_description: "crwdns787604:0%{file}crwdne787604:0" - label_upload_notification: "crwdns787606:0crwdne787606:0" - label_work_package_upload_notification: "crwdns787608:0%{id}crwdnd787608:0%{subject}crwdne787608:0" - label_wp_id_added_by: "crwdns787610:0%{id}crwdnd787610:0%{author}crwdne787610:0" - label_files_to_upload: "crwdns787612:0crwdne787612:0" - label_rejected_files: "crwdns787614:0crwdne787614:0" - label_rejected_files_reason: "crwdns787616:0%{maximumFilesize}crwdne787616:0" - label_wait: "crwdns787618:0crwdne787618:0" - label_upload_counter: "crwdns787620:0%{done}crwdnd787620:0%{count}crwdne787620:0" - label_validation_error: "crwdns787622:0crwdne787622:0" - label_version_plural: "crwdns787624:0crwdne787624:0" - label_view_has_changed: "crwdns787626:0crwdne787626:0" - help_texts: - show_modal: 'crwdns787628:0crwdne787628:0' - onboarding: - buttons: - skip: 'crwdns787630:0crwdne787630:0' - next: 'crwdns787632:0crwdne787632:0' - got_it: 'crwdns787634:0crwdne787634:0' - steps: - help_menu: 'crwdns830268:0crwdne830268:0' - members: 'crwdns787638:0crwdne787638:0' - project_selection: 'crwdns787640:0crwdne787640:0' - quick_add_button: 'crwdns787642:0crwdne787642:0' - sidebar_arrow: "crwdns787644:0crwdne787644:0" - welcome: 'crwdns787646:0crwdne787646:0' - wiki: 'crwdns787648:0crwdne787648:0' - backlogs: - overview: "crwdns787650:0crwdne787650:0" - sprints: "crwdns787652:0crwdne787652:0" - task_board_arrow: 'crwdns787654:0crwdne787654:0' - task_board_select: 'crwdns787656:0crwdne787656:0' - task_board: "crwdns787658:0crwdne787658:0" - boards: - overview: 'crwdns787660:0crwdne787660:0' - lists_kanban: 'crwdns807698:0crwdne807698:0' - lists_basic: 'crwdns807700:0crwdne807700:0' - add: 'crwdns787664:0crwdne787664:0' - drag: 'crwdns787666:0crwdne787666:0' - wp: - toggler: "crwdns787668:0crwdne787668:0" - list: 'crwdns787670:0crwdne787670:0' - full_view: 'crwdns787672:0crwdne787672:0' - back_button: 'crwdns787674:0crwdne787674:0' - create_button: 'crwdns787676:0crwdne787676:0' - timeline_button: 'crwdns787678:0crwdne787678:0' - timeline: 'crwdns787680:0crwdne787680:0' - team_planner: - overview: 'crwdns807492:0crwdne807492:0' - calendar: 'crwdns807494:0crwdne807494:0' - add_assignee: 'crwdns807496:0crwdne807496:0' - add_existing: 'crwdns807498:0crwdne807498:0' - card: 'crwdns807500:0crwdne807500:0' - notifications: - title: "crwdns787682:0crwdne787682:0" - no_unread: "crwdns787684:0crwdne787684:0" - reasons: - mentioned: 'crwdns787686:0crwdne787686:0' - watched: 'crwdns836616:0crwdne836616:0' - assigned: 'crwdns836618:0crwdne836618:0' - responsible: 'crwdns787692:0crwdne787692:0' - created: 'crwdns832420:0crwdne832420:0' - scheduled: 'crwdns832422:0crwdne832422:0' - commented: 'crwdns832424:0crwdne832424:0' - processed: 'crwdns832426:0crwdne832426:0' - prioritized: 'crwdns832428:0crwdne832428:0' - dateAlert: 'crwdns836979:0crwdne836979:0' - date_alerts: - milestone_date: 'crwdns836981:0crwdne836981:0' - overdue: 'crwdns836983:0crwdne836983:0' - overdue_since: 'crwdns836985:0%{difference_in_days}crwdne836985:0' - property_today: 'crwdns836987:0crwdne836987:0' - property_is: 'crwdns836989:0%{difference_in_days}crwdne836989:0' - property_was: 'crwdns836991:0%{difference_in_days}crwdne836991:0' - property_is_deleted: 'crwdns836993:0crwdne836993:0' - upsale: - title: 'crwdns838385:0crwdne838385:0' - description: 'crwdns838387:0crwdne838387:0' - facets: - unread: 'crwdns787694:0crwdne787694:0' - unread_title: 'crwdns833310:0crwdne833310:0' - all: 'crwdns787696:0crwdne787696:0' - all_title: 'crwdns833312:0crwdne833312:0' - center: - label_actor_and: 'crwdns835484:0crwdne835484:0' - and_more_users: - one: 'crwdns787698:1crwdne787698:1' - other: 'crwdns787698:5%{count}crwdne787698:5' - no_results: - at_all: 'crwdns842635:0crwdne842635:0' - with_current_filter: 'crwdns787702:0crwdne787702:0' - mark_all_read: 'crwdns787704:0crwdne787704:0' - mark_as_read: 'crwdns787706:0crwdne787706:0' - text_update_date: "crwdns787708:0%{date}crwdne787708:0" - total_count_warning: "crwdns787710:0%{newest_count}crwdnd787710:0%{more_count}crwdne787710:0" - empty_state: - no_notification: "crwdns847265:0crwdne847265:0" - no_notification_with_current_project_filter: "crwdns847267:0crwdne847267:0" - no_notification_with_current_filter: "crwdns847269:0%{filter}crwdne847269:0" - no_selection: "crwdns787716:0crwdne787716:0" - new_notifications: - message: 'crwdns787718:0crwdne787718:0' - link_text: 'crwdns787720:0crwdne787720:0' - menu: - accountable: 'crwdns787722:0crwdne787722:0' - by_project: 'crwdns787726:0crwdne787726:0' - by_reason: 'crwdns836775:0crwdne836775:0' - inbox: 'crwdns787730:0crwdne787730:0' - mentioned: 'crwdns836454:0crwdne836454:0' - watched: 'crwdns836620:0crwdne836620:0' - date_alert: 'crwdns836777:0crwdne836777:0' - settings: - change_notification_settings: 'crwdns842805:0%{url}crwdne842805:0' - title: "crwdns787738:0crwdne787738:0" - notify_me: "crwdns787740:0crwdne787740:0" - reminders: - no_notification: crwdns836935:0crwdne836935:0 - timeframes: - normal: - PT0S: crwdns836937:0crwdne836937:0 - P1D: crwdns836939:0crwdne836939:0 - P3D: crwdns836941:0crwdne836941:0 - P7D: crwdns836943:0crwdne836943:0 - overdue: - P1D: crwdns838617:0crwdne838617:0 - P3D: crwdns836947:0crwdne836947:0 - P7D: crwdns836949:0crwdne836949:0 - reasons: - mentioned: - title: 'crwdns836456:0crwdne836456:0' - description: 'crwdns787744:0crwdne787744:0' - assignee: 'crwdns834614:0crwdne834614:0' - responsible: 'crwdns834616:0crwdne834616:0' - watched: 'crwdns836458:0crwdne836458:0' - work_package_commented: 'crwdns787752:0crwdne787752:0' - work_package_created: 'crwdns787754:0crwdne787754:0' - work_package_processed: 'crwdns787756:0crwdne787756:0' - work_package_prioritized: 'crwdns787758:0crwdne787758:0' - work_package_scheduled: 'crwdns787760:0crwdne787760:0' - global: - immediately: - title: 'crwdns836460:0crwdne836460:0' - description: 'crwdns839331:0crwdne839331:0' - delayed: - title: 'crwdns836464:0crwdne836464:0' - description: 'crwdns839333:0crwdne839333:0' - date_alerts: - title: 'crwdns836468:0crwdne836468:0' - description: 'crwdns839335:0crwdne839335:0' - teaser_text: 'crwdns836995:0crwdne836995:0' - overdue: crwdns839341:0crwdne839341:0 - project_specific: - title: 'crwdns787770:0crwdne787770:0' - description: 'crwdns839343:0crwdne839343:0' - add: 'crwdns787774:0crwdne787774:0' - already_selected: 'crwdns787776:0crwdne787776:0' - remove: 'crwdns787778:0crwdne787778:0' - password_confirmation: - field_description: 'crwdns787780:0crwdne787780:0' - title: 'crwdns787782:0crwdne787782:0' - pagination: - no_other_page: "crwdns787784:0crwdne787784:0" - pages: - next: "crwdns787786:0crwdne787786:0" - previous: "crwdns787788:0crwdne787788:0" - placeholders: - default: 'crwdns787790:0crwdne787790:0' - subject: 'crwdns787792:0crwdne787792:0' - selection: 'crwdns787794:0crwdne787794:0' - description: 'crwdns830274:0crwdne830274:0' - relation_description: 'crwdns787796:0crwdne787796:0' - project: - required_outside_context: > - crwdns787798:0crwdne787798:0 - details_activity: 'crwdns844367:0crwdne844367:0' - context: 'crwdns787800:0crwdne787800:0' - click_to_switch_to_project: 'crwdns854867:0%{projectname}crwdne854867:0' - confirm_template_load: 'crwdns787806:0crwdne787806:0' - use_template: "crwdns787808:0crwdne787808:0" - no_template_selected: "crwdns787810:0crwdne787810:0" - copy: - copy_options: "crwdns787812:0crwdne787812:0" - autocompleter: - label: 'crwdns787814:0crwdne787814:0' - reminders: - settings: - daily: - add_time: 'crwdns787816:0crwdne787816:0' - enable: 'crwdns787818:0crwdne787818:0' - explanation: 'crwdns787820:0%{no_time_zone}crwdne787820:0' - no_time_zone: 'crwdns787822:0crwdne787822:0' - time_label: 'crwdns787824:0%{counter}crwdne787824:0' - title: 'crwdns787826:0crwdne787826:0' - workdays: - title: 'crwdns787828:0crwdne787828:0' - immediate: - title: 'crwdns787830:0crwdne787830:0' - mentioned: 'crwdns787832:0crwdne787832:0' - alerts: - title: 'crwdns787834:0crwdne787834:0' - explanation: > - crwdns787836:0crwdne787836:0 - news_added: 'crwdns787838:0crwdne787838:0' - news_commented: 'crwdns787840:0crwdne787840:0' - document_added: 'crwdns787842:0crwdne787842:0' - forum_messages: 'crwdns787844:0crwdne787844:0' - wiki_page_added: 'crwdns787846:0crwdne787846:0' - wiki_page_updated: 'crwdns787848:0crwdne787848:0' - membership_added: 'crwdns787850:0crwdne787850:0' - membership_updated: 'crwdns787852:0crwdne787852:0' - title: 'crwdns787854:0crwdne787854:0' - pause: - label: 'crwdns787856:0crwdne787856:0' - first_day: 'crwdns787858:0crwdne787858:0' - last_day: 'crwdns787860:0crwdne787860:0' - text_are_you_sure: "crwdns787862:0crwdne787862:0" - text_data_lost: "crwdns787864:0crwdne787864:0" - types: - attribute_groups: - error_duplicate_group_name: "crwdns787866:0%{group}crwdne787866:0" - error_no_table_configured: "crwdns787868:0%{group}crwdne787868:0" - reset_title: "crwdns787870:0crwdne787870:0" - confirm_reset: > - crwdns787872:0crwdne787872:0 - upgrade_to_ee: "crwdns839471:0crwdne839471:0" - upgrade_to_ee_text: "crwdns839575:0crwdne839575:0" - more_information: "crwdns787878:0crwdne787878:0" - nevermind: "crwdns787880:0crwdne787880:0" - edit: - form_configuration: "crwdns787882:0crwdne787882:0" - projects: "crwdns787884:0crwdne787884:0" - settings: "crwdns787886:0crwdne787886:0" - time_entry: - work_package_required: 'crwdns787892:0crwdne787892:0' - title: 'crwdns787904:0crwdne787904:0' - tracking: 'crwdns858103:0crwdne858103:0' - stop: 'crwdns858105:0crwdne858105:0' - timer: - start_new_timer: 'crwdns858107:0crwdne858107:0' - timer_already_running: 'crwdns858109:0crwdne858109:0' - timer_already_stopped: 'crwdns858111:0crwdne858111:0' - tracking_time: 'crwdns858113:0crwdne858113:0' - button_stop: 'crwdns858115:0crwdne858115:0' - two_factor_authentication: - label_two_factor_authentication: 'crwdns787906:0crwdne787906:0' - watchers: - label_loading: crwdns787908:0crwdne787908:0 - label_error_loading: crwdns787910:0crwdne787910:0 - label_search_watchers: crwdns787912:0crwdne787912:0 - label_add: crwdns787914:0crwdne787914:0 - label_discard: crwdns787916:0crwdne787916:0 - typeahead_placeholder: crwdns787918:0crwdne787918:0 - relation_labels: - parent: "crwdns787920:0crwdne787920:0" - children: "crwdns787922:0crwdne787922:0" - relates: "crwdns787924:0crwdne787924:0" - duplicates: "crwdns787926:0crwdne787926:0" - duplicated: "crwdns787928:0crwdne787928:0" - blocks: "crwdns787930:0crwdne787930:0" - blocked: "crwdns787932:0crwdne787932:0" - precedes: "crwdns787934:0crwdne787934:0" - follows: "crwdns787936:0crwdne787936:0" - includes: "crwdns787938:0crwdne787938:0" - partof: "crwdns787940:0crwdne787940:0" - requires: "crwdns787942:0crwdne787942:0" - required: "crwdns787944:0crwdne787944:0" - relation_type: "crwdns787946:0crwdne787946:0" - relations_hierarchy: - parent_headline: "crwdns787948:0crwdne787948:0" - hierarchy_headline: "crwdns787950:0crwdne787950:0" - children_headline: "crwdns787952:0crwdne787952:0" - relation_buttons: - set_parent: "crwdns787954:0crwdne787954:0" - change_parent: "crwdns787956:0crwdne787956:0" - remove_parent: "crwdns787958:0crwdne787958:0" - hierarchy_indent: "crwdns787960:0crwdne787960:0" - hierarchy_outdent: "crwdns787962:0crwdne787962:0" - group_by_wp_type: "crwdns787964:0crwdne787964:0" - group_by_relation_type: "crwdns787966:0crwdne787966:0" - add_parent: "crwdns787968:0crwdne787968:0" - add_new_child: "crwdns787970:0crwdne787970:0" - create_new: "crwdns787972:0crwdne787972:0" - add_existing: "crwdns787974:0crwdne787974:0" - add_existing_child: "crwdns787976:0crwdne787976:0" - remove_child: "crwdns787978:0crwdne787978:0" - add_new_relation: "crwdns787980:0crwdne787980:0" - add_existing_relation: "crwdns787982:0crwdne787982:0" - update_description: "crwdns787984:0crwdne787984:0" - toggle_description: "crwdns787986:0crwdne787986:0" - update_relation: "crwdns787988:0crwdne787988:0" - add_follower: "crwdns787990:0crwdne787990:0" - add_predecessor: "crwdns787992:0crwdne787992:0" - remove: "crwdns787994:0crwdne787994:0" - save: "crwdns787996:0crwdne787996:0" - abort: "crwdns787998:0crwdne787998:0" - relations_autocomplete: - placeholder: "crwdns788000:0crwdne788000:0" - parent_placeholder: "crwdns788002:0crwdne788002:0" - autocompleter: - placeholder: "crwdns788004:0crwdne788004:0" - notFoundText: "crwdns788006:0crwdne788006:0" - typeToSearchText: "crwdns788008:0crwdne788008:0" - repositories: - select_tag: 'crwdns788010:0crwdne788010:0' - select_branch: 'crwdns788012:0crwdne788012:0' - field_value_enter_prompt: "crwdns788014:0%{field}crwdne788014:0" - project_menu_details: "crwdns788016:0crwdne788016:0" - scheduling: - manual: 'crwdns834246:0crwdne834246:0' - sort: - sorted_asc: 'crwdns788022:0crwdne788022:0' - sorted_dsc: 'crwdns788024:0crwdne788024:0' - sorted_no: 'crwdns788026:0crwdne788026:0' - sorting_disabled: 'crwdns788028:0crwdne788028:0' - activate_asc: 'crwdns788030:0crwdne788030:0' - activate_dsc: 'crwdns788032:0crwdne788032:0' - activate_no: 'crwdns788034:0crwdne788034:0' - text_work_packages_destroy_confirmation: "crwdns788036:0crwdne788036:0" - text_query_destroy_confirmation: "crwdns788038:0crwdne788038:0" - timelines: - quarter_label: 'crwdns788042:0%{quarter_number}crwdne788042:0' - gantt_chart: 'crwdns788044:0crwdne788044:0' - labels: - title: 'crwdns788046:0crwdne788046:0' - bar: 'crwdns788048:0crwdne788048:0' - left: 'crwdns788050:0crwdne788050:0' - right: 'crwdns788052:0crwdne788052:0' - farRight: 'crwdns788054:0crwdne788054:0' - showNone: 'crwdns788056:0crwdne788056:0' - description: > - crwdns830270:0crwdne830270:0 - button_activate: 'crwdns788060:0crwdne788060:0' - button_deactivate: 'crwdns788062:0crwdne788062:0' - cancel: crwdns788064:0crwdne788064:0 - change: "crwdns788066:0crwdne788066:0" - due_date: "crwdns788068:0crwdne788068:0" - empty: "crwdns788070:0crwdne788070:0" - error: "crwdns788072:0crwdne788072:0" - errors: - not_implemented: "crwdns788074:0crwdne788074:0" - report_comparison: "crwdns788076:0crwdne788076:0" - report_epicfail: "crwdns788078:0crwdne788078:0" - report_timeout: "crwdns788080:0crwdne788080:0" - filter: - grouping_other: "crwdns788082:0crwdne788082:0" - noneSelection: "crwdns788084:0crwdne788084:0" - name: "crwdns788086:0crwdne788086:0" - outline: "crwdns788088:0crwdne788088:0" - outlines: - aggregation: "crwdns788090:0crwdne788090:0" - level1: "crwdns788092:0crwdne788092:0" - level2: "crwdns788094:0crwdne788094:0" - level3: "crwdns788096:0crwdne788096:0" - level4: "crwdns788098:0crwdne788098:0" - level5: "crwdns788100:0crwdne788100:0" - all: "crwdns788102:0crwdne788102:0" - project_status: "crwdns788104:0crwdne788104:0" - really_close_dialog: "crwdns788106:0crwdne788106:0" - responsible: "crwdns788108:0crwdne788108:0" - save: crwdns788110:0crwdne788110:0 - start_date: "crwdns788112:0crwdne788112:0" - tooManyProjects: "crwdns788114:0%{count}crwdne788114:0" - selection_mode: - notification: 'crwdns788116:0crwdne788116:0' - zoom: - in: "crwdns788118:0crwdne788118:0" - out: "crwdns788120:0crwdne788120:0" - auto: "crwdns788122:0crwdne788122:0" - days: "crwdns788124:0crwdne788124:0" - weeks: "crwdns788126:0crwdne788126:0" - months: "crwdns788128:0crwdne788128:0" - quarters: "crwdns788130:0crwdne788130:0" - years: "crwdns788132:0crwdne788132:0" - slider: "crwdns788134:0crwdne788134:0" - description: > - crwdns788136:0crwdne788136:0 - tl_toolbar: - zooms: "crwdns788138:0crwdne788138:0" - outlines: "crwdns788140:0crwdne788140:0" - upsale: - ee_only: 'crwdns839507:0crwdne839507:0' - wiki_formatting: - strong: "crwdns788144:0crwdne788144:0" - italic: "crwdns788146:0crwdne788146:0" - underline: "crwdns788148:0crwdne788148:0" - deleted: "crwdns788150:0crwdne788150:0" - code: "crwdns788152:0crwdne788152:0" - heading1: "crwdns788154:0crwdne788154:0" - heading2: "crwdns788156:0crwdne788156:0" - heading3: "crwdns788158:0crwdne788158:0" - unordered_list: "crwdns788160:0crwdne788160:0" - ordered_list: "crwdns788162:0crwdne788162:0" - quote: "crwdns788164:0crwdne788164:0" - unquote: "crwdns788166:0crwdne788166:0" - preformatted_text: "crwdns788168:0crwdne788168:0" - wiki_link: "crwdns788170:0crwdne788170:0" - image: "crwdns788172:0crwdne788172:0" - work_packages: - bulk_actions: - move: 'crwdns788174:0crwdne788174:0' - edit: 'crwdns788176:0crwdne788176:0' - copy: 'crwdns788178:0crwdne788178:0' - delete: 'crwdns788180:0crwdne788180:0' - button_clear: "crwdns788182:0crwdne788182:0" - comment_added: "crwdns788184:0crwdne788184:0" - comment_send_failed: "crwdns788186:0crwdne788186:0" - comment_updated: "crwdns788188:0crwdne788188:0" - confirm_edit_cancel: "crwdns788190:0crwdne788190:0" - datepicker_modal: - automatically_scheduled_parent: "crwdns818670:0crwdne818670:0" - manually_scheduled: "crwdns818672:0crwdne818672:0" - start_date_limited_by_relations: "crwdns818662:0crwdne818662:0" - changing_dates_affects_follow_relations: "crwdns818674:0crwdne818674:0" - click_on_show_relations_to_open_gantt: 'crwdns818666:0%{button_name}crwdne818666:0' - show_relations: 'crwdns818668:0crwdne818668:0' - ignore_non_working_days: - title: 'crwdns834248:0crwdne834248:0' - description_filter: "crwdns788192:0crwdne788192:0" - description_enter_text: "crwdns788194:0crwdne788194:0" - description_options_hide: "crwdns788196:0crwdne788196:0" - description_options_show: "crwdns788198:0crwdne788198:0" - edit_attribute: "crwdns788200:0%{attribute}crwdne788200:0" - key_value: "crwdns788202:0%{key}crwdnd788202:0%{value}crwdne788202:0" - label_enable_multi_select: "crwdns788204:0crwdne788204:0" - label_disable_multi_select: "crwdns788206:0crwdne788206:0" - label_filter_add: "crwdns788208:0crwdne788208:0" - label_filter_by_text: "crwdns788210:0crwdne788210:0" - label_options: "crwdns788212:0crwdne788212:0" - label_column_multiselect: "crwdns788214:0crwdne788214:0" - message_error_during_bulk_delete: crwdns788216:0crwdne788216:0 - message_successful_bulk_delete: crwdns788218:0crwdne788218:0 - message_successful_show_in_fullscreen: "crwdns788220:0crwdne788220:0" - message_view_spent_time: "crwdns788222:0crwdne788222:0" - message_work_package_read_only: "crwdns788224:0crwdne788224:0" - message_work_package_status_blocked: "crwdns788226:0crwdne788226:0" - placeholder_filter_by_text: "crwdns788228:0crwdne788228:0" - baseline: - addition_label: 'crwdns852071:0crwdne852071:0' - removal_label: 'crwdns852073:0crwdne852073:0' - modification_label: 'crwdns852075:0crwdne852075:0' - column_incompatible: 'crwdns854449:0crwdne854449:0' - filters: - title: 'crwdns833314:0crwdne833314:0' - baseline_incompatible: 'crwdns854385:0crwdne854385:0' - baseline_warning: 'crwdns854387:0crwdne854387:0' - inline_create: - title: 'crwdns788230:0crwdne788230:0' - create: - title: 'crwdns788232:0crwdne788232:0' - header: 'crwdns788234:0%{type}crwdne788234:0' - header_no_type: 'crwdns788236:0crwdne788236:0' - header_with_parent: 'crwdns788238:0%{type}crwdnd788238:0%{parent_type}crwdnd788238:0%{id}crwdne788238:0' - button: 'crwdns788240:0crwdne788240:0' - copy: - title: 'crwdns788242:0crwdne788242:0' - hierarchy: - show: "crwdns788244:0crwdne788244:0" - hide: "crwdns788246:0crwdne788246:0" - toggle_button: 'crwdns788248:0crwdne788248:0' - leaf: 'crwdns788250:0%{level}crwdne788250:0' - children_collapsed: 'crwdns788252:0%{level}crwdne788252:0' - children_expanded: 'crwdns788254:0%{level}crwdne788254:0' - faulty_query: - title: crwdns788256:0crwdne788256:0 - description: crwdns788258:0crwdne788258:0 - no_results: - title: crwdns788260:0crwdne788260:0 - description: crwdns788262:0crwdne788262:0 - limited_results: crwdns788264:0%{count}crwdne788264:0 - property_groups: - details: "crwdns788266:0crwdne788266:0" - people: "crwdns788268:0crwdne788268:0" - estimatesAndTime: "crwdns788270:0crwdne788270:0" - other: "crwdns788272:0crwdne788272:0" - properties: - assignee: "crwdns788274:0crwdne788274:0" - author: "crwdns788276:0crwdne788276:0" - createdAt: "crwdns788278:0crwdne788278:0" - description: "crwdns788280:0crwdne788280:0" - date: "crwdns788282:0crwdne788282:0" - dueDate: "crwdns788284:0crwdne788284:0" - duration: "crwdns831858:0crwdne831858:0" - estimatedTime: "crwdns788286:0crwdne788286:0" - spentTime: "crwdns788288:0crwdne788288:0" - category: "crwdns788290:0crwdne788290:0" - percentageDone: "crwdns788292:0crwdne788292:0" - priority: "crwdns788294:0crwdne788294:0" - projectName: "crwdns788296:0crwdne788296:0" - responsible: "crwdns788298:0crwdne788298:0" - startDate: "crwdns788300:0crwdne788300:0" - status: "crwdns788302:0crwdne788302:0" - subject: "crwdns788304:0crwdne788304:0" - subproject: "crwdns788306:0crwdne788306:0" - title: "crwdns788308:0crwdne788308:0" - type: "crwdns788310:0crwdne788310:0" - updatedAt: "crwdns788312:0crwdne788312:0" - versionName: "crwdns788314:0crwdne788314:0" - version: "crwdns788316:0crwdne788316:0" - default_queries: - latest_activity: "crwdns788318:0crwdne788318:0" - created_by_me: "crwdns788320:0crwdne788320:0" - assigned_to_me: "crwdns788322:0crwdne788322:0" - recently_created: "crwdns788324:0crwdne788324:0" - all_open: "crwdns788326:0crwdne788326:0" - summary: "crwdns788328:0crwdne788328:0" - jump_marks: - pagination: "crwdns788330:0crwdne788330:0" - label_pagination: "crwdns788332:0crwdne788332:0" - content: "crwdns788334:0crwdne788334:0" - label_content: "crwdns788336:0crwdne788336:0" - placeholders: - default: "crwdns788338:0crwdne788338:0" - date: "crwdns788340:0crwdne788340:0" - query: - column_names: "crwdns788344:0crwdne788344:0" - group_by: "crwdns788346:0crwdne788346:0" - group: "crwdns788348:0crwdne788348:0" - group_by_disabled_by_hierarchy: "crwdns788350:0crwdne788350:0" - hierarchy_disabled_by_group_by: "crwdns788352:0%{column}crwdne788352:0" - sort_ascending: "crwdns788354:0crwdne788354:0" - sort_descending: "crwdns788356:0crwdne788356:0" - move_column_left: "crwdns788358:0crwdne788358:0" - move_column_right: "crwdns788360:0crwdne788360:0" - hide_column: "crwdns788362:0crwdne788362:0" - insert_columns: "crwdns847271:0crwdne847271:0" - filters: "crwdns788366:0crwdne788366:0" - display_sums: "crwdns788368:0crwdne788368:0" - confirm_edit_cancel: "crwdns788370:0crwdne788370:0" - click_to_edit_query_name: "crwdns788372:0crwdne788372:0" - rename_query_placeholder: "crwdns788374:0crwdne788374:0" - star_text: "crwdns788376:0crwdne788376:0" - public_text: > - crwdns788378:0crwdne788378:0 - errors: - unretrievable_query: "crwdns788380:0crwdne788380:0" - not_found: "crwdns788382:0crwdne788382:0" - duplicate_query_title: "crwdns788384:0crwdne788384:0" - text_no_results: "crwdns788386:0crwdne788386:0" - scheduling: - is_parent: "crwdns788388:0crwdne788388:0" - is_switched_from_manual_to_automatic: "crwdns788390:0crwdne788390:0" - table: - configure_button: 'crwdns788392:0crwdne788392:0' - summary: "crwdns788394:0crwdne788394:0" - text_inline_edit: "crwdns788396:0crwdne788396:0" - text_sort_hint: "crwdns788398:0crwdne788398:0" - text_select_hint: "crwdns788400:0crwdne788400:0" - table_configuration: - button: 'crwdns788402:0crwdne788402:0' - choose_display_mode: 'crwdns788404:0crwdne788404:0' - modal_title: 'crwdns788406:0crwdne788406:0' - embedded_tab_disabled: "crwdns847273:0crwdne847273:0" - default: "crwdns788410:0crwdne788410:0" - display_settings: 'crwdns788412:0crwdne788412:0' - default_mode: "crwdns788414:0crwdne788414:0" - hierarchy_mode: "crwdns788416:0crwdne788416:0" - hierarchy_hint: "crwdns788418:0crwdne788418:0" - display_sums_hint: "crwdns788420:0crwdne788420:0" - show_timeline_hint: "crwdns788422:0crwdne788422:0" - highlighting: 'crwdns788424:0crwdne788424:0' - highlighting_mode: - description: "crwdns788426:0crwdne788426:0" - none: "crwdns788428:0crwdne788428:0" - inline: 'crwdns788430:0crwdne788430:0' - inline_all: 'crwdns788432:0crwdne788432:0' - entire_row_by: 'crwdns788434:0crwdne788434:0' - status: 'crwdns788436:0crwdne788436:0' - priority: 'crwdns788438:0crwdne788438:0' - type: 'crwdns788440:0crwdne788440:0' - sorting_mode: - description: 'crwdns788442:0crwdne788442:0' - automatic: 'crwdns788444:0crwdne788444:0' - manually: 'crwdns788446:0crwdne788446:0' - warning: 'crwdns788448:0crwdne788448:0' - columns_help_text: "crwdns788450:0crwdne788450:0" - upsale: - attribute_highlighting: 'crwdns788452:0crwdne788452:0' - relation_columns: 'crwdns788454:0crwdne788454:0' - check_out_link: 'crwdns839477:0crwdne839477:0' - relation_filters: - filter_work_packages_by_relation_type: 'crwdns788458:0crwdne788458:0' - tabs: - overview: crwdns788460:0crwdne788460:0 - activity: crwdns788462:0crwdne788462:0 - relations: crwdns788464:0crwdne788464:0 - watchers: crwdns788466:0crwdne788466:0 - files: crwdns807702:0crwdne807702:0 - time_relative: - days: "crwdns788470:0crwdne788470:0" - weeks: "crwdns788472:0crwdne788472:0" - months: "crwdns788474:0crwdne788474:0" - toolbar: - settings: - configure_view: "crwdns847275:0crwdne847275:0" - columns: "crwdns847277:0crwdne847277:0" - sort_by: "crwdns847279:0crwdne847279:0" - group_by: "crwdns847281:0crwdne847281:0" - display_sums: "crwdns788484:0crwdne788484:0" - display_hierarchy: "crwdns788486:0crwdne788486:0" - hide_hierarchy: "crwdns788488:0crwdne788488:0" - hide_sums: "crwdns788490:0crwdne788490:0" - save: "crwdns788492:0crwdne788492:0" - save_as: "crwdns847283:0crwdne847283:0" - export: "crwdns847285:0crwdne847285:0" - visibility_settings: "crwdns847287:0crwdne847287:0" - share_calendar: "crwdns854491:0crwdne854491:0" - page_settings: "crwdns847289:0crwdne847289:0" - delete: "crwdns788502:0crwdne788502:0" - filter: "crwdns788504:0crwdne788504:0" - unselected_title: "crwdns788506:0crwdne788506:0" - search_query_label: "crwdns788508:0crwdne788508:0" - modals: - label_name: "crwdns788516:0crwdne788516:0" - label_delete_page: "crwdns788518:0crwdne788518:0" - button_apply: "crwdns788520:0crwdne788520:0" - button_save: "crwdns788522:0crwdne788522:0" - button_submit: "crwdns788524:0crwdne788524:0" - button_cancel: "crwdns788526:0crwdne788526:0" - button_delete: "crwdns834144:0crwdne834144:0" - form_submit: - title: 'crwdns788528:0crwdne788528:0' - text: 'crwdns788530:0crwdne788530:0' - destroy_work_package: - title: "crwdns788532:0%{label}crwdne788532:0" - single_text: "crwdns834146:0crwdne834146:0" - bulk_text: "crwdns834148:0%{label}crwdne834148:0" - has_children: "crwdns788536:0%{childUnits}crwdne788536:0" - confirm_deletion_children: "crwdns788538:0crwdne788538:0" - deletes_children: "crwdns788540:0crwdne788540:0" - destroy_time_entry: - title: "crwdns788542:0crwdne788542:0" - text: "crwdns788544:0crwdne788544:0" - notice_no_results_to_display: "crwdns788546:0crwdne788546:0" - notice_successful_create: "crwdns788548:0crwdne788548:0" - notice_successful_delete: "crwdns788550:0crwdne788550:0" - notice_successful_update: "crwdns788552:0crwdne788552:0" - notice_job_started: "crwdns788554:0crwdne788554:0" - notice_bad_request: "crwdns788556:0crwdne788556:0" - relations: - empty: crwdns788558:0crwdne788558:0 - remove: crwdns788560:0crwdne788560:0 - inplace: - button_edit: "crwdns788562:0%{attribute}crwdne788562:0" - button_save: "crwdns788564:0%{attribute}crwdne788564:0" - button_cancel: "crwdns788566:0%{attribute}crwdne788566:0" - button_save_all: "crwdns788568:0crwdne788568:0" - button_cancel_all: "crwdns788570:0crwdne788570:0" - link_formatting_help: "crwdns788572:0crwdne788572:0" - btn_preview_enable: "crwdns788574:0crwdne788574:0" - btn_preview_disable: "crwdns788576:0crwdne788576:0" - null_value_label: "crwdns788578:0crwdne788578:0" - clear_value_label: "crwdns788580:0crwdne788580:0" - errors: - required: 'crwdns788582:0%{field}crwdne788582:0' - number: 'crwdns788584:0%{field}crwdne788584:0' - maxlength: 'crwdns788586:0%{field}crwdnd788586:0%{maxLength}crwdne788586:0' - minlength: 'crwdns788588:0%{field}crwdnd788588:0%{minLength}crwdne788588:0' - messages_on_field: 'crwdns788590:0%{messages}crwdne788590:0' - error_could_not_resolve_version_name: "crwdns788592:0crwdne788592:0" - error_could_not_resolve_user_name: "crwdns788594:0crwdne788594:0" - error_attachment_upload: "crwdns788596:0%{error}crwdne788596:0" - error_attachment_upload_permission: "crwdns788598:0crwdne788598:0" - units: - workPackage: - one: "crwdns788600:1crwdne788600:1" - other: "crwdns788600:5crwdne788600:5" - child_work_packages: - one: "crwdns788602:1crwdne788602:1" - other: "crwdns788602:5%{count}crwdne788602:5" - hour: - one: "crwdns788604:0crwdne788604:0" - other: "crwdns788606:0%{count}crwdne788606:0" - zero: "crwdns788608:0crwdne788608:0" - day: - one: "crwdns824154:0crwdne824154:0" - other: "crwdns824156:0%{count}crwdne824156:0" - zero: "crwdns824158:0crwdne824158:0" - zen_mode: - button_activate: 'crwdns788610:0crwdne788610:0' - button_deactivate: 'crwdns788612:0crwdne788612:0' - global_search: - all_projects: "crwdns788614:0crwdne788614:0" - close_search: "crwdns788618:0crwdne788618:0" - current_project_and_all_descendants: "crwdns788622:0crwdne788622:0" - current_project: "crwdns788620:0crwdne788620:0" - recently_viewed: "crwdns856599:0crwdne856599:0" - search: "crwdns788616:0crwdne788616:0" - title: - all_projects: "crwdns788624:0crwdne788624:0" - project_and_subprojects: "crwdns788626:0crwdne788626:0" - search_for: "crwdns788628:0crwdne788628:0" - views: - card: 'crwdns788630:0crwdne788630:0' - list: 'crwdns788632:0crwdne788632:0' - timeline: 'crwdns788634:0crwdne788634:0' - invite_user_modal: - back: 'crwdns788636:0crwdne788636:0' - invite: 'crwdns788638:0crwdne788638:0' - title: - invite: 'crwdns788640:0crwdne788640:0' - invite_to_project: 'crwdns788642:0%{type}crwdnd788642:0%{project}crwdne788642:0' - User: 'crwdns788644:0crwdne788644:0' - Group: 'crwdns788646:0crwdne788646:0' - PlaceholderUser: 'crwdns788648:0crwdne788648:0' - invite_principal_to_project: 'crwdns788650:0%{principal}crwdnd788650:0%{project}crwdne788650:0' - project: - label: 'crwdns788652:0crwdne788652:0' - required: 'crwdns788654:0crwdne788654:0' - lacking_permission: 'crwdns788656:0crwdne788656:0' - lacking_permission_info: 'crwdns788658:0crwdne788658:0' - next_button: 'crwdns788660:0crwdne788660:0' - no_results: 'crwdns788662:0crwdne788662:0' - no_invite_rights: 'crwdns788664:0crwdne788664:0' - type: - required: 'crwdns788666:0crwdne788666:0' - user: - title: 'crwdns788668:0crwdne788668:0' - description: 'crwdns788670:0crwdne788670:0' - group: - title: 'crwdns788672:0crwdne788672:0' - description: 'crwdns788674:0crwdne788674:0' - placeholder: - title: 'crwdns788676:0crwdne788676:0' - title_no_ee: 'crwdns839577:0crwdne839577:0' - description: 'crwdns788680:0crwdne788680:0' - description_no_ee: 'crwdns839481:0%{eeHref}crwdne839481:0' - principal: - label: - name_or_email: 'crwdns788684:0crwdne788684:0' - name: 'crwdns788686:0crwdne788686:0' - already_member_message: 'crwdns788688:0%{project}crwdne788688:0' - no_results_user: 'crwdns788690:0crwdne788690:0' - invite_user: 'crwdns788692:0crwdne788692:0' - no_results_placeholder: 'crwdns788694:0crwdne788694:0' - create_new_placeholder: 'crwdns788696:0crwdne788696:0' - no_results_group: 'crwdns788698:0crwdne788698:0' - next_button: 'crwdns788700:0crwdne788700:0' - required: - user: 'crwdns788702:0crwdne788702:0' - placeholder: 'crwdns788704:0crwdne788704:0' - group: 'crwdns788706:0crwdne788706:0' - role: - label: 'crwdns788708:0%{project}crwdne788708:0' - no_roles_found: 'crwdns788710:0crwdne788710:0' - description: 'crwdns834150:0crwdne834150:0' - required: 'crwdns788714:0crwdne788714:0' - next_button: 'crwdns788716:0crwdne788716:0' - message: - label: 'crwdns788718:0crwdne788718:0' - description: 'crwdns834250:0crwdne834250:0' - next_button: 'crwdns834154:0crwdne834154:0' - summary: - next_button: 'crwdns788724:0crwdne788724:0' - success: - title: 'crwdns788726:0%{principal}crwdne788726:0' - description: - user: 'crwdns788728:0%{project}crwdne788728:0' - placeholder: 'crwdns788730:0%{project}crwdne788730:0' - group: 'crwdns788732:0%{project}crwdne788732:0' - next_button: 'crwdns788734:0crwdne788734:0' - include_projects: - toggle_title: 'crwdns808124:0crwdne808124:0' - title: 'crwdns788738:0crwdne788738:0' - clear_selection: 'crwdns788740:0crwdne788740:0' - apply: 'crwdns788742:0crwdne788742:0' - selected_filter: - all: 'crwdns788744:0crwdne788744:0' - selected: 'crwdns788746:0crwdne788746:0' - search_placeholder: 'crwdns788748:0crwdne788748:0' - include_subprojects: 'crwdns809356:0crwdne809356:0' - tooltip: - include_all_selected: 'crwdns832842:0crwdne832842:0' - current_project: 'crwdns809360:0crwdne809360:0' - does_not_match_search: 'crwdns822880:0crwdne822880:0' - no_results: 'crwdns825434:0crwdne825434:0' - baseline: - toggle_title: 'crwdns852025:0crwdne852025:0' - clear: 'crwdns852027:0crwdne852027:0' - apply: 'crwdns852029:0crwdne852029:0' - header_description: 'crwdns854493:0crwdne854493:0' - enterprise_header_description: 'crwdns854495:0crwdne854495:0' - show_changes_since: 'crwdns852033:0crwdne852033:0' - baseline_comparison: 'crwdns854497:0crwdne854497:0' - help_description: 'crwdns853965:0crwdne853965:0' - time_description: 'crwdns853967:0%{datetime}crwdne853967:0' - time: 'crwdns852039:0crwdne852039:0' - from: 'crwdns853969:0crwdne853969:0' - to: 'crwdns853971:0crwdne853971:0' - drop_down: - none: 'crwdns852041:0crwdne852041:0' - yesterday: 'crwdns852043:0crwdne852043:0' - last_working_day: 'crwdns852045:0crwdne852045:0' - last_week: 'crwdns852047:0crwdne852047:0' - last_month: 'crwdns852049:0crwdne852049:0' - a_specific_date: 'crwdns852051:0crwdne852051:0' - between_two_specific_dates: 'crwdns852053:0crwdne852053:0' - legends: - changes_since: 'crwdns852619:0crwdne852619:0' - now_meets_filter_criteria: 'crwdns852621:0crwdne852621:0' - no_longer_meets_filter_criteria: 'crwdns852623:0crwdne852623:0' - maintained_with_changes: 'crwdns852625:0crwdne852625:0' - in_your_timezone: 'crwdns853973:0crwdne853973:0' - icon_tooltip: - added: 'crwdns854389:0crwdne854389:0' - removed: 'crwdns854391:0crwdne854391:0' - changed: 'crwdns854393:0crwdne854393:0' - forms: - submit_success_message: 'crwdns788750:0crwdne788750:0' - load_error_message: 'crwdns788752:0crwdne788752:0' - validation_error_message: 'crwdns788754:0crwdne788754:0' - advanced_settings: 'crwdns788756:0crwdne788756:0' - spot: - filter_chip: - remove: 'crwdns788758:0crwdne788758:0' - drop_modal: - focus_grab: 'crwdns845471:0crwdne845471:0' - Close: 'crwdns788760:0crwdne788760:0' diff --git a/config/locales/crowdin/lol.seeders.yml b/config/locales/crowdin/lol.seeders.yml deleted file mode 100644 index 5d995cd90acb..000000000000 --- a/config/locales/crowdin/lol.seeders.yml +++ /dev/null @@ -1,329 +0,0 @@ -#This file has been generated by script/i18n/generate_seeders_i18n_source_file. -#Please do not edit directly. -#This file is part of the sources sent to crowdin for translation. ---- -lol: - seeds: - common: - colors: - item_0: - name: crwdns854601:0crwdne854601:0 - item_1: - name: crwdns854603:0crwdne854603:0 - item_2: - name: crwdns854605:0crwdne854605:0 - item_3: - name: crwdns854607:0crwdne854607:0 - item_4: - name: crwdns854609:0crwdne854609:0 - item_5: - name: crwdns854611:0crwdne854611:0 - item_6: - name: crwdns854613:0crwdne854613:0 - item_7: - name: crwdns854615:0crwdne854615:0 - item_8: - name: crwdns854617:0crwdne854617:0 - item_9: - name: crwdns854619:0crwdne854619:0 - item_10: - name: crwdns854621:0crwdne854621:0 - item_11: - name: crwdns854623:0crwdne854623:0 - item_12: - name: crwdns854625:0crwdne854625:0 - item_13: - name: crwdns854627:0crwdne854627:0 - document_categories: - item_0: - name: crwdns854629:0crwdne854629:0 - item_1: - name: crwdns854631:0crwdne854631:0 - item_2: - name: crwdns854633:0crwdne854633:0 - roles: - item_0: - name: crwdns854635:0crwdne854635:0 - item_1: - name: crwdns854637:0crwdne854637:0 - item_2: - name: crwdns854639:0crwdne854639:0 - item_3: - name: crwdns854641:0crwdne854641:0 - item_4: - name: crwdns854643:0crwdne854643:0 - item_5: - name: crwdns854645:0crwdne854645:0 - standard: - priorities: - item_0: - name: crwdns854647:0crwdne854647:0 - item_1: - name: crwdns854649:0crwdne854649:0 - item_2: - name: crwdns854651:0crwdne854651:0 - item_3: - name: crwdns854653:0crwdne854653:0 - statuses: - item_0: - name: crwdns854655:0crwdne854655:0 - item_1: - name: crwdns854657:0crwdne854657:0 - item_2: - name: crwdns854659:0crwdne854659:0 - item_3: - name: crwdns854661:0crwdne854661:0 - item_4: - name: crwdns854663:0crwdne854663:0 - item_5: - name: crwdns854665:0crwdne854665:0 - item_6: - name: crwdns854667:0crwdne854667:0 - item_7: - name: crwdns854669:0crwdne854669:0 - item_8: - name: crwdns854671:0crwdne854671:0 - item_9: - name: crwdns854673:0crwdne854673:0 - item_10: - name: crwdns854675:0crwdne854675:0 - item_11: - name: crwdns854677:0crwdne854677:0 - item_12: - name: crwdns854679:0crwdne854679:0 - item_13: - name: crwdns854681:0crwdne854681:0 - time_entry_activities: - item_0: - name: crwdns854683:0crwdne854683:0 - item_1: - name: crwdns854685:0crwdne854685:0 - item_2: - name: crwdns854687:0crwdne854687:0 - item_3: - name: crwdns854689:0crwdne854689:0 - item_4: - name: crwdns854691:0crwdne854691:0 - item_5: - name: crwdns854693:0crwdne854693:0 - types: - item_0: - name: crwdns854695:0crwdne854695:0 - item_1: - name: crwdns854697:0crwdne854697:0 - item_2: - name: crwdns854699:0crwdne854699:0 - item_3: - name: crwdns854701:0crwdne854701:0 - item_4: - name: crwdns854703:0crwdne854703:0 - item_5: - name: crwdns854705:0crwdne854705:0 - item_6: - name: crwdns854707:0crwdne854707:0 - welcome: - title: crwdns852627:0crwdne852627:0 - text: | - crwdns852629:0{{opSetting:base_url}}crwdnd852629:0{{opSetting:base_url}}crwdnd852629:0{{opSetting:base_url}}crwdnd852629:0[here]crwdnd852629:0{{opSetting:base_url}}crwdne852629:0 - projects: - demo-project: - name: crwdns852631:0crwdne852631:0 - status_explanation: crwdns853259:0crwdne853259:0 - description: crwdns852635:0crwdne852635:0 - news: - item_0: - title: crwdns852807:0crwdne852807:0 - summary: | - crwdns852809:0crwdne852809:0 - description: crwdns852811:0crwdne852811:0 - categories: - item_0: crwdns852813:0crwdne852813:0 - queries: - item_0: - name: crwdns852815:0crwdne852815:0 - item_1: - name: crwdns852817:0crwdne852817:0 - item_2: - name: crwdns852819:0crwdne852819:0 - item_3: - name: crwdns852821:0crwdne852821:0 - boards: - kanban: - name: crwdns852653:0crwdne852653:0 - basic: - name: crwdns852655:0crwdne852655:0 - lists: - item_0: - name: crwdns852823:0crwdne852823:0 - item_1: - name: crwdns852825:0crwdne852825:0 - item_2: - name: crwdns852827:0crwdne852827:0 - item_3: - name: crwdns852829:0crwdne852829:0 - parent_child: - name: crwdns852665:0crwdne852665:0 - project-overview: - widgets: - item_0: - options: - name: crwdns852831:0crwdne852831:0 - item_1: - options: - name: crwdns852833:0crwdne852833:0 - text: | - crwdns852835:0{{opSetting:base_url}}crwdnd852835:0[Members]crwdnd852835:0{{opSetting:base_url}}crwdnd852835:0{{opSetting:base_url}}crwdnd852835:0{{opSetting:base_url}}crwdnd852835:0{{opSetting:base_url}}crwdnd852835:0{{opSetting:base_url}}crwdnd852835:0{{opSetting:base_url}}crwdnd852835:0[at]crwdne852835:0 - item_5: - options: - name: crwdns852837:0crwdne852837:0 - item_6: - options: - name: crwdns852839:0crwdne852839:0 - work_packages: - item_0: - subject: crwdns852841:0crwdne852841:0 - item_1: - subject: crwdns852843:0crwdne852843:0 - children: - item_0: - subject: crwdns852845:0crwdne852845:0 - children: - item_0: - subject: crwdns852847:0crwdne852847:0 - item_1: - subject: crwdns852849:0crwdne852849:0 - item_2: - subject: crwdns852851:0crwdne852851:0 - item_1: - subject: crwdns852853:0crwdne852853:0 - item_2: - subject: crwdns852855:0crwdne852855:0 - item_2: - subject: crwdns852857:0crwdne852857:0 - item_3: - subject: crwdns852859:0crwdne852859:0 - children: - item_0: - subject: crwdns852861:0crwdne852861:0 - item_1: - subject: crwdns852863:0crwdne852863:0 - description: |- - crwdns852865:0crwdne852865:0 - item_4: - subject: crwdns852867:0crwdne852867:0 - scrum-project: - name: crwdns852705:0crwdne852705:0 - status_explanation: crwdns853261:0crwdne853261:0 - description: crwdns852709:0crwdne852709:0 - news: - item_0: - title: crwdns852869:0crwdne852869:0 - summary: | - crwdns852871:0crwdne852871:0 - versions: - item_0: - name: crwdns852873:0crwdne852873:0 - item_1: - name: crwdns852875:0crwdne852875:0 - item_2: - name: crwdns852877:0crwdne852877:0 - wiki: - title: crwdns852879:0crwdne852879:0 - content: | - crwdns852881:0{{opSetting:base_url}}crwdnd852881:0{{opSetting:base_url}}crwdne852881:0 - item_3: - name: crwdns852883:0crwdne852883:0 - categories: - item_0: crwdns852885:0crwdne852885:0 - queries: - item_0: - name: crwdns852887:0crwdne852887:0 - item_1: - name: crwdns852889:0crwdne852889:0 - item_2: - name: crwdns852891:0crwdne852891:0 - item_3: - name: crwdns852893:0crwdne852893:0 - boards: - kanban: - name: crwdns852737:0crwdne852737:0 - basic: - name: crwdns852739:0crwdne852739:0 - lists: - item_0: - name: crwdns852895:0crwdne852895:0 - item_1: - name: crwdns852897:0crwdne852897:0 - item_2: - name: crwdns852899:0crwdne852899:0 - item_3: - name: crwdns852901:0crwdne852901:0 - project-overview: - widgets: - item_0: - options: - name: crwdns852903:0crwdne852903:0 - item_1: - options: - name: crwdns852905:0crwdne852905:0 - text: | - crwdns852907:0{{opSetting:base_url}}crwdnd852907:0[Members]crwdnd852907:0{{opSetting:base_url}}crwdnd852907:0[Backlogs]crwdnd852907:0{{opSetting:base_url}}crwdnd852907:0[Backlogs]crwdnd852907:0{{opSetting:base_url}}crwdnd852907:0{{opSetting:base_url}}crwdnd852907:0[Backlogs]crwdnd852907:0{{opSetting:base_url}}crwdnd852907:0{{opSetting:base_url}}crwdnd852907:0{{opSetting:base_url}}crwdnd852907:0[at]crwdne852907:0 - item_5: - options: - name: crwdns852909:0crwdne852909:0 - item_6: - options: - name: crwdns852911:0crwdne852911:0 - work_packages: - item_0: - subject: crwdns852913:0crwdne852913:0 - item_1: - subject: crwdns852915:0crwdne852915:0 - item_2: - subject: crwdns852917:0crwdne852917:0 - children: - item_0: - subject: crwdns852919:0crwdne852919:0 - item_1: - subject: crwdns852921:0crwdne852921:0 - item_2: - subject: crwdns852923:0crwdne852923:0 - children: - item_0: - subject: crwdns852925:0crwdne852925:0 - item_3: - subject: crwdns852927:0crwdne852927:0 - item_4: - subject: crwdns852929:0crwdne852929:0 - children: - item_0: - subject: crwdns852931:0crwdne852931:0 - item_5: - subject: crwdns852933:0crwdne852933:0 - item_6: - subject: crwdns852935:0crwdne852935:0 - item_7: - subject: crwdns852937:0crwdne852937:0 - item_8: - subject: crwdns852939:0crwdne852939:0 - item_9: - subject: crwdns852941:0crwdne852941:0 - children: - item_0: - subject: crwdns852943:0crwdne852943:0 - item_10: - subject: crwdns852945:0crwdne852945:0 - item_11: - subject: crwdns852947:0crwdne852947:0 - item_12: - subject: crwdns852949:0crwdne852949:0 - item_13: - subject: crwdns852951:0crwdne852951:0 - item_14: - subject: crwdns852953:0crwdne852953:0 - item_15: - subject: crwdns852955:0crwdne852955:0 - item_16: - subject: crwdns852957:0crwdne852957:0 - wiki: | - crwdns852805:0{{opSetting:base_url}}crwdnd852805:0{{opSetting:base_url}}crwdne852805:0 diff --git a/config/locales/crowdin/lol.yml b/config/locales/crowdin/lol.yml deleted file mode 100644 index fcb75206cdfd..000000000000 --- a/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,3195 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - no_results_title_text: crwdns494699:0crwdne494699:0 - activities: - index: - no_results_title_text: crwdns494701:0crwdne494701:0 - admin: - plugins: - no_results_title_text: crwdns494703:0crwdne494703:0 - custom_styles: - color_theme: "crwdns494705:0crwdne494705:0" - color_theme_custom: "crwdns494707:0crwdne494707:0" - colors: - alternative-color: "crwdns494709:0crwdne494709:0" - content-link-color: "crwdns494711:0crwdne494711:0" - primary-color: "crwdns494713:0crwdne494713:0" - primary-color-dark: "crwdns494715:0crwdne494715:0" - header-bg-color: "crwdns494717:0crwdne494717:0" - header-item-bg-hover-color: "crwdns494719:0crwdne494719:0" - header-item-font-color: "crwdns494721:0crwdne494721:0" - header-item-font-hover-color: "crwdns494723:0crwdne494723:0" - header-border-bottom-color: "crwdns494725:0crwdne494725:0" - main-menu-bg-color: "crwdns494727:0crwdne494727:0" - main-menu-bg-selected-background: "crwdns494729:0crwdne494729:0" - main-menu-bg-hover-background: "crwdns494731:0crwdne494731:0" - main-menu-font-color: "crwdns494733:0crwdne494733:0" - main-menu-selected-font-color: "crwdns494735:0crwdne494735:0" - main-menu-hover-font-color: "crwdns494737:0crwdne494737:0" - main-menu-border-color: "crwdns494739:0crwdne494739:0" - custom_colors: "crwdns494741:0crwdne494741:0" - customize: "crwdns822232:0crwdne822232:0" - enterprise_notice: "crwdns839551:0crwdne839551:0" - enterprise_more_info: "crwdns822234:0crwdne822234:0" - manage_colors: "crwdns494747:0crwdne494747:0" - instructions: - alternative-color: "crwdns494749:0crwdne494749:0" - content-link-color: "crwdns494751:0crwdne494751:0" - primary-color: "crwdns494753:0crwdne494753:0" - primary-color-dark: "crwdns494755:0crwdne494755:0" - header-item-bg-hover-color: "crwdns494757:0crwdne494757:0" - header-item-font-color: "crwdns494759:0crwdne494759:0" - header-item-font-hover-color: "crwdns494761:0crwdne494761:0" - header-border-bottom-color: "crwdns494763:0crwdne494763:0" - main-menu-bg-color: "crwdns494765:0crwdne494765:0" - theme_warning: crwdns494767:0crwdne494767:0 - enterprise: - upgrade_to_ee: "crwdns839425:0crwdne839425:0" - add_token: "crwdns839427:0crwdne839427:0" - delete_token_modal: - text: "crwdns839429:0crwdne839429:0" - title: "crwdns834140:0crwdne834140:0" - replace_token: "crwdns494773:0crwdne494773:0" - order: "crwdns839431:0crwdne839431:0" - paste: "crwdns839433:0crwdne839433:0" - required_for_feature: "crwdns839553:0crwdne839553:0" - enterprise_link: "crwdns494781:0crwdne494781:0" - start_trial: 'crwdns494783:0crwdne494783:0' - book_now: 'crwdns494785:0crwdne494785:0' - get_quote: 'crwdns494787:0crwdne494787:0' - buttons: - upgrade: "crwdns655649:0crwdne655649:0" - contact: "crwdns655651:0crwdne655651:0" - enterprise_info_html: "crwdns852067:0crwdne852067:0" - upgrade_info: "crwdns655655:0crwdne655655:0" - journal_aggregation: - explanation: - text: "crwdns808254:0%{webhook_link}crwdne808254:0" - link: "crwdns808256:0crwdne808256:0" - announcements: - show_until: crwdns494789:0crwdne494789:0 - is_active: crwdns494791:0crwdne494791:0 - is_inactive: crwdns494793:0crwdne494793:0 - attribute_help_texts: - note_public: 'crwdns494795:0crwdne494795:0' - text_overview: 'crwdns494797:0crwdne494797:0' - label_plural: 'crwdns494799:0crwdne494799:0' - show_preview: 'crwdns494801:0crwdne494801:0' - add_new: 'crwdns494803:0crwdne494803:0' - edit: "crwdns494805:0%{attribute_caption}crwdne494805:0" - enterprise: - description: 'crwdns825464:0crwdne825464:0' - auth_sources: - index: - no_results_content_title: crwdns494807:0crwdne494807:0 - no_results_content_text: crwdns494809:0crwdne494809:0 - background_jobs: - status: - error_requeue: "crwdns494811:0%{message}crwdne494811:0" - cancelled_due_to: "crwdns494813:0%{message}crwdne494813:0" - ldap_auth_sources: - technical_warning_html: | - crwdns494815:0crwdne494815:0 - attribute_texts: - name: crwdns494817:0crwdne494817:0 - host: crwdns494819:0crwdne494819:0 - login_map: crwdns494821:0crwdne494821:0 - generic_map: crwdns494823:0%{attribute}crwdne494823:0 - admin_map_html: "crwdns494825:0crwdne494825:0" - system_user_dn_html: | - crwdns494827:0crwdne494827:0 - system_user_password: crwdns494829:0crwdne494829:0 - base_dn: | - crwdns494831:0crwdne494831:0 - filter_string: | - crwdns494833:0crwdne494833:0 - filter_string_concat: | - crwdns494835:0crwdne494835:0 - onthefly_register: | - crwdns494837:0crwdne494837:0 - connection_encryption: 'crwdns494839:0crwdne494839:0' - encryption_details: 'crwdns838863:0crwdne838863:0' - system_account: 'crwdns494841:0crwdne494841:0' - system_account_legend: | - crwdns494843:0crwdne494843:0 - ldap_details: 'crwdns494845:0crwdne494845:0' - user_settings: 'crwdns494847:0crwdne494847:0' - user_settings_legend: | - crwdns494849:0crwdne494849:0 - tls_mode: - plain: 'crwdns494851:0crwdne494851:0' - simple_tls: 'crwdns838865:0crwdne838865:0' - start_tls: 'crwdns838867:0crwdne838867:0' - plain_description: "crwdns838869:0crwdne838869:0" - simple_tls_description: "crwdns838871:0crwdne838871:0" - start_tls_description: "crwdns838873:0crwdne838873:0" - section_more_info_link_html: > - crwdns494863:0%{link}crwdne494863:0 - tls_options: - verify_peer: "crwdns838875:0crwdne838875:0" - verify_peer_description_html: > - crwdns838877:0crwdne838877:0 - tls_certificate_description: "crwdns838879:0crwdne838879:0" - forums: - show: - no_results_title_text: crwdns494865:0crwdne494865:0 - colors: - index: - no_results_title_text: crwdns494867:0crwdne494867:0 - no_results_content_text: crwdns494869:0crwdne494869:0 - label_no_color: 'crwdns494871:0crwdne494871:0' - custom_actions: - actions: - name: 'crwdns494873:0crwdne494873:0' - add: 'crwdns494875:0crwdne494875:0' - assigned_to: - executing_user_value: 'crwdns494877:0crwdne494877:0' - conditions: 'crwdns494879:0crwdne494879:0' - plural: 'crwdns494881:0crwdne494881:0' - new: 'crwdns494883:0crwdne494883:0' - edit: 'crwdns494885:0%{name}crwdne494885:0' - execute: 'crwdns494887:0%{name}crwdne494887:0' - upsale: - title: 'crwdns655657:0crwdne655657:0' - description: 'crwdns822238:0crwdne822238:0' - custom_fields: - text_add_new_custom_field: > - crwdns494893:0crwdne494893:0 - is_enabled_globally: 'crwdns494895:0crwdne494895:0' - enabled_in_project: 'crwdns494897:0crwdne494897:0' - contained_in_type: 'crwdns494899:0crwdne494899:0' - confirm_destroy_option: "crwdns494901:0crwdne494901:0" - reorder_alphabetical: "crwdns494903:0crwdne494903:0" - reorder_confirmation: "crwdns494905:0crwdne494905:0" - tab: - no_results_title_text: crwdns494907:0crwdne494907:0 - no_results_content_text: crwdns494909:0crwdne494909:0 - concatenation: - single: 'crwdns494911:0crwdne494911:0' - global_search: - overwritten_tabs: - wiki_pages: "crwdns494915:0crwdne494915:0" - messages: "crwdns494917:0crwdne494917:0" - groups: - index: - no_results_title_text: crwdns494919:0crwdne494919:0 - no_results_content_text: crwdns494921:0crwdne494921:0 - users: - no_results_title_text: crwdns494923:0crwdne494923:0 - memberships: - no_results_title_text: crwdns494925:0crwdne494925:0 - incoming_mails: - ignore_filenames: > - crwdns494927:0crwdne494927:0 - projects: - copy: - #Contains custom strings for options when copying a project that cannot be found elsewhere. - members: 'crwdns835410:0crwdne835410:0' - overviews: 'crwdns835412:0crwdne835412:0' - queries: 'crwdns835414:0crwdne835414:0' - wiki_page_attachments: 'crwdns835416:0crwdne835416:0' - work_package_attachments: 'crwdns835418:0crwdne835418:0' - work_package_categories: 'crwdns835420:0crwdne835420:0' - work_package_file_links: 'crwdns835422:0crwdne835422:0' - delete: - scheduled: "crwdns494929:0crwdne494929:0" - schedule_failed: "crwdns494931:0%{errors}crwdne494931:0" - failed: "crwdns494933:0%{name}crwdne494933:0" - failed_text: "crwdns494935:0%{name}crwdne494935:0" - completed: "crwdns494937:0%{name}crwdne494937:0" - completed_text: "crwdns494939:0%{name}crwdne494939:0" - completed_text_children: "crwdns850293:0crwdne850293:0" - index: - open_as_gantt: 'crwdns494941:0crwdne494941:0' - open_as_gantt_title: "crwdns494943:0crwdne494943:0" - open_as_gantt_title_admin: "crwdns494945:0crwdne494945:0" - no_results_title_text: crwdns494947:0crwdne494947:0 - no_results_content_text: crwdns494949:0crwdne494949:0 - settings: - change_identifier: crwdns494951:0crwdne494951:0 - activities: - no_results_title_text: crwdns494953:0crwdne494953:0 - forums: - no_results_title_text: crwdns494955:0crwdne494955:0 - no_results_content_text: crwdns494957:0crwdne494957:0 - categories: - no_results_title_text: crwdns494959:0crwdne494959:0 - no_results_content_text: crwdns494961:0crwdne494961:0 - custom_fields: - no_results_title_text: crwdns494963:0crwdne494963:0 - types: - no_results_title_text: crwdns494965:0crwdne494965:0 - versions: - no_results_title_text: crwdns494967:0crwdne494967:0 - no_results_content_text: crwdns494969:0crwdne494969:0 - storage: - no_results_title_text: crwdns494971:0crwdne494971:0 - members: - index: - no_results_title_text: crwdns494973:0crwdne494973:0 - no_results_content_text: crwdns494975:0crwdne494975:0 - invite_by_mail: "crwdns494977:0%{mail}crwdne494977:0" - my: - access_token: - failed_to_reset_token: "crwdns494979:0%{error}crwdne494979:0" - notice_reset_token: "crwdns494981:0%{type}crwdne494981:0" - token_value_warning: "crwdns494983:0crwdne494983:0" - no_results_title_text: crwdns494985:0crwdne494985:0 - notice_ical_tokens_reverted: "crwdns854451:0%{token_name}crwdnd854451:0%{calendar_name}crwdnd854451:0%{project_name}crwdne854451:0" - news: - index: - no_results_title_text: crwdns494987:0crwdne494987:0 - no_results_content_text: crwdns494989:0crwdne494989:0 - users: - sessions: - session_name: "crwdns855787:0%{browser_name}crwdnd855787:0%{browser_version}crwdnd855787:0%{os_name}crwdne855787:0" - browser: 'crwdns855929:0crwdne855929:0' - device: 'crwdns855935:0crwdne855935:0' - unknown_browser: 'crwdns855789:0crwdne855789:0' - unknown_os: 'crwdns855791:0crwdne855791:0' - current: 'crwdns855793:0crwdne855793:0' - title: 'crwdns855795:0crwdne855795:0' - instructions: 'crwdns855797:0crwdne855797:0' - may_not_delete_current: 'crwdns855799:0crwdne855799:0' - groups: - member_in_these_groups: 'crwdns494991:0crwdne494991:0' - no_results_title_text: crwdns494993:0crwdne494993:0 - memberships: - no_results_title_text: crwdns494995:0crwdne494995:0 - placeholder_users: - right_to_manage_members_missing: > - crwdns494997:0crwdne494997:0 - delete_tooltip: "crwdns494999:0crwdne494999:0" - deletion_info: - heading: "crwdns495001:0%{name}crwdne495001:0" - data_consequences: > - crwdns495003:0crwdne495003:0 - irreversible: "crwdns495005:0crwdne495005:0" - confirmation: "crwdns495007:0%{name}crwdne495007:0" - upsale: - title: crwdns655659:0crwdne655659:0 - description: > - crwdns830260:0crwdne830260:0 - prioritiies: - edit: - priority_color_text: | - crwdns495013:0crwdne495013:0 - reportings: - index: - no_results_title_text: crwdns495015:0crwdne495015:0 - no_results_content_text: crwdns495017:0crwdne495017:0 - statuses: - edit: - status_readonly_html: | - crwdns495019:0crwdne495019:0 - status_color_text: | - crwdns495021:0crwdne495021:0 - index: - no_results_title_text: crwdns495023:0crwdne495023:0 - no_results_content_text: crwdns495025:0crwdne495025:0 - types: - index: - no_results_title_text: crwdns495027:0crwdne495027:0 - no_results_content_text: crwdns495029:0crwdne495029:0 - edit: - settings: "crwdns495031:0crwdne495031:0" - form_configuration: "crwdns495033:0crwdne495033:0" - more_info_text_html: > - crwdns839557:0%{list_styling_class}crwdne839557:0 - projects: "crwdns495035:0crwdne495035:0" - enabled_projects: "crwdns495037:0crwdne495037:0" - edit_query: "crwdns495039:0crwdne495039:0" - query_group_placeholder: "crwdns495041:0crwdne495041:0" - reset: "crwdns495043:0crwdne495043:0" - type_color_text: | - crwdns495045:0crwdne495045:0 - versions: - overview: - no_results_title_text: crwdns495047:0crwdne495047:0 - wiki: - page_not_editable_index: crwdns495049:0crwdne495049:0 - no_results_title_text: crwdns495051:0crwdne495051:0 - print_hint: crwdns843657:0crwdne843657:0 - index: - no_results_content_text: crwdns495053:0crwdne495053:0 - work_flows: - index: - no_results_title_text: crwdns495055:0crwdne495055:0 - work_packages: - x_descendants: - one: 'crwdns495057:1crwdne495057:1' - other: 'crwdns495057:5%{count}crwdne495057:5' - bulk: - copy_failed: "crwdns846205:0crwdne846205:0" - move_failed: "crwdns846207:0crwdne846207:0" - could_not_be_saved: "crwdns495059:0crwdne495059:0" - none_could_be_saved: "crwdns537767:0%{total}crwdne537767:0" - x_out_of_y_could_be_saved: "crwdns537769:0%{failing}crwdnd537769:0%{total}crwdnd537769:0%{success}crwdne537769:0" - selected_because_descendants: "crwdns537771:0%{selected}crwdnd537771:0%{total}crwdne537771:0" - descendant: "crwdns537773:0crwdne537773:0" - move: - no_common_statuses_exists: "crwdns495061:0crwdne495061:0" - unsupported_for_multiple_projects: 'crwdns495063:0crwdne495063:0' - summary: - reports: - category: - no_results_title_text: crwdns495065:0crwdne495065:0 - assigned_to: - no_results_title_text: crwdns495067:0crwdne495067:0 - responsible: - no_results_title_text: crwdns495069:0crwdne495069:0 - author: - no_results_title_text: crwdns495071:0crwdne495071:0 - priority: - no_results_title_text: crwdns495073:0crwdne495073:0 - type: - no_results_title_text: crwdns495075:0crwdne495075:0 - version: - no_results_title_text: crwdns495077:0crwdne495077:0 - label_invitation: crwdns495079:0crwdne495079:0 - account: - delete: "crwdns495081:0crwdne495081:0" - delete_confirmation: "crwdns495083:0crwdne495083:0" - deletion_pending: "crwdns843659:0crwdne843659:0" - deletion_info: - data_consequences: - other: "crwdns495087:0crwdne495087:0" - self: "crwdns495089:0crwdne495089:0" - heading: "crwdns495091:0%{name}crwdne495091:0" - info: - other: "crwdns495093:0crwdne495093:0" - self: "crwdns495095:0crwdne495095:0" - login_consequences: - other: "crwdns495097:0crwdne495097:0" - self: "crwdns495099:0crwdne495099:0" - login_verification: - other: "crwdns495101:0%{name}crwdne495101:0" - self: "crwdns495103:0%{name}crwdne495103:0" - error_inactive_activation_by_mail: > - crwdns495105:0crwdne495105:0 - error_inactive_manual_activation: > - crwdns495107:0crwdne495107:0 - error_self_registration_disabled: > - crwdns495109:0crwdne495109:0 - login_with_auth_provider: "crwdns495111:0crwdne495111:0" - signup_with_auth_provider: "crwdns495113:0crwdne495113:0" - auth_source_login: crwdns495115:0%{login}crwdne495115:0 - omniauth_login: crwdns495117:0crwdne495117:0 - actionview_instancetag_blank_option: "crwdns495119:0crwdne495119:0" - activerecord: - attributes: - announcements: - show_until: "crwdns495121:0crwdne495121:0" - attachment: - attachment_content: "crwdns495123:0crwdne495123:0" - attachment_file_name: "crwdns495125:0crwdne495125:0" - downloads: "crwdns495127:0crwdne495127:0" - file: "crwdns495129:0crwdne495129:0" - filename: "crwdns495131:0crwdne495131:0" - filesize: "crwdns495133:0crwdne495133:0" - attribute_help_text: - attribute_name: 'crwdns495135:0crwdne495135:0' - help_text: 'crwdns495137:0crwdne495137:0' - auth_source: - account: "crwdns495139:0crwdne495139:0" - attr_firstname: "crwdns495141:0crwdne495141:0" - attr_lastname: "crwdns495143:0crwdne495143:0" - attr_login: "crwdns495145:0crwdne495145:0" - attr_mail: "crwdns495147:0crwdne495147:0" - base_dn: "crwdns495149:0crwdne495149:0" - host: "crwdns495151:0crwdne495151:0" - onthefly: "crwdns495153:0crwdne495153:0" - port: "crwdns495155:0crwdne495155:0" - tls_certificate_string: "crwdns838881:0crwdne838881:0" - changeset: - repository: "crwdns495157:0crwdne495157:0" - comment: - commented: "crwdns495159:0crwdne495159:0" #an object that this comment belongs to - custom_action: - actions: "crwdns495161:0crwdne495161:0" - custom_field: - default_value: "crwdns495163:0crwdne495163:0" - editable: "crwdns495165:0crwdne495165:0" - field_format: "crwdns495167:0crwdne495167:0" - is_filter: "crwdns495169:0crwdne495169:0" - is_required: "crwdns495171:0crwdne495171:0" - max_length: "crwdns495173:0crwdne495173:0" - min_length: "crwdns495175:0crwdne495175:0" - multi_value: "crwdns495177:0crwdne495177:0" - possible_values: "crwdns495179:0crwdne495179:0" - regexp: "crwdns495181:0crwdne495181:0" - searchable: "crwdns495183:0crwdne495183:0" - visible: "crwdns495185:0crwdne495185:0" - custom_value: - value: "crwdns495187:0crwdne495187:0" - enterprise_token: - starts_at: "crwdns495189:0crwdne495189:0" - expires_at: "crwdns495191:0crwdne495191:0" - subscriber: "crwdns495193:0crwdne495193:0" - encoded_token: "crwdns495195:0crwdne495195:0" - active_user_count_restriction: "crwdns495197:0crwdne495197:0" - grids/grid: - page: "crwdns495199:0crwdne495199:0" - row_count: "crwdns495201:0crwdne495201:0" - column_count: "crwdns495203:0crwdne495203:0" - widgets: "crwdns495205:0crwdne495205:0" - relation: - delay: "crwdns495207:0crwdne495207:0" - from: "crwdns495209:0crwdne495209:0" - to: "crwdns495211:0crwdne495211:0" - status: - is_closed: "crwdns495213:0crwdne495213:0" - is_readonly: "crwdns495215:0crwdne495215:0" - journal: - notes: "crwdns495217:0crwdne495217:0" - member: - roles: "crwdns495219:0crwdne495219:0" - project: - active_value: - true: "crwdns845435:0crwdne845435:0" - false: "crwdns845437:0crwdne845437:0" - identifier: "crwdns495221:0crwdne495221:0" - latest_activity_at: "crwdns495223:0crwdne495223:0" - parent: "crwdns495225:0crwdne495225:0" - public_value: - title: "crwdns845439:0crwdne845439:0" - true: "crwdns845441:0crwdne845441:0" - false: "crwdns845443:0crwdne845443:0" - queries: "crwdns495227:0crwdne495227:0" - status_code: 'crwdns853641:0crwdne853641:0' - status_explanation: 'crwdns853643:0crwdne853643:0' - status_codes: - not_started: 'crwdns853235:0crwdne853235:0' - on_track: 'crwdns853237:0crwdne853237:0' - at_risk: 'crwdns853239:0crwdne853239:0' - off_track: 'crwdns853241:0crwdne853241:0' - finished: 'crwdns853243:0crwdne853243:0' - discontinued: 'crwdns853245:0crwdne853245:0' - templated: "crwdns495235:0crwdne495235:0" - templated_value: - true: "crwdns845445:0crwdne845445:0" - false: "crwdns845447:0crwdne845447:0" - types: "crwdns495229:0crwdne495229:0" - versions: "crwdns495231:0crwdne495231:0" - work_packages: "crwdns495233:0crwdne495233:0" - query: - column_names: "crwdns495247:0crwdne495247:0" - relations_to_type_column: "crwdns495249:0%{type}crwdne495249:0" - relations_of_type_column: "crwdns495251:0%{type}crwdne495251:0" - group_by: "crwdns495253:0crwdne495253:0" - filters: "crwdns495255:0crwdne495255:0" - timeline_labels: "crwdns495257:0crwdne495257:0" - repository: - url: "crwdns495259:0crwdne495259:0" - role: - permissions: "crwdns495263:0crwdne495263:0" - time_entry: - activity: "crwdns495265:0crwdne495265:0" - hours: "crwdns495267:0crwdne495267:0" - spent_on: "crwdns495269:0crwdne495269:0" - type: "crwdns495271:0crwdne495271:0" - ongoing: "crwdns858099:0crwdne858099:0" - type: - description: "crwdns495273:0crwdne495273:0" - attribute_groups: 'crwdns495275:0crwdne495275:0' - is_in_roadmap: "crwdns495277:0crwdne495277:0" - is_default: "crwdns495279:0crwdne495279:0" - is_milestone: "crwdns495281:0crwdne495281:0" - color: "crwdns495283:0crwdne495283:0" - user: - admin: "crwdns495285:0crwdne495285:0" - auth_source: "crwdns495287:0crwdne495287:0" - current_password: "crwdns495289:0crwdne495289:0" - force_password_change: "crwdns495291:0crwdne495291:0" - language: "crwdns495293:0crwdne495293:0" - last_login_on: "crwdns495295:0crwdne495295:0" - new_password: "crwdns495297:0crwdne495297:0" - password_confirmation: "crwdns495299:0crwdne495299:0" - consented_at: "crwdns495301:0crwdne495301:0" - user_preference: - comments_sorting: "crwdns495303:0crwdne495303:0" - hide_mail: "crwdns495305:0crwdne495305:0" - impaired: "crwdns495307:0crwdne495307:0" - time_zone: "crwdns495309:0crwdne495309:0" - auto_hide_popups: "crwdns495311:0crwdne495311:0" - warn_on_leaving_unsaved: "crwdns495313:0crwdne495313:0" - version: - effective_date: "crwdns495315:0crwdne495315:0" - sharing: "crwdns495317:0crwdne495317:0" - wiki_content: - text: "crwdns495319:0crwdne495319:0" - wiki_page: - parent_title: "crwdns495321:0crwdne495321:0" - redirect_existing_links: "crwdns495323:0crwdne495323:0" - planning_element_type_color: - hexcode: crwdns495325:0crwdne495325:0 - work_package: - begin_insertion: "crwdns495327:0crwdne495327:0" - begin_deletion: "crwdns495329:0crwdne495329:0" - children: "crwdns495331:0crwdne495331:0" - done_ratio: "crwdns495333:0crwdne495333:0" - duration: "crwdns816732:0crwdne816732:0" - end_insertion: "crwdns495335:0crwdne495335:0" - end_deletion: "crwdns495337:0crwdne495337:0" - ignore_non_working_days: "crwdns819002:0crwdne819002:0" - include_non_working_days: - title: 'crwdns833120:0crwdne833120:0' - false: 'crwdns833122:0crwdne833122:0' - true: 'crwdns833124:0crwdne833124:0' - parent: "crwdns495341:0crwdne495341:0" - parent_issue: "crwdns495343:0crwdne495343:0" - parent_work_package: "crwdns495345:0crwdne495345:0" - priority: "crwdns495347:0crwdne495347:0" - progress: "crwdns495349:0crwdne495349:0" - readonly: "crwdns819004:0crwdne819004:0" - schedule_manually: "crwdns495351:0crwdne495351:0" - spent_hours: "crwdns495353:0crwdne495353:0" - spent_time: "crwdns495355:0crwdne495355:0" - subproject: "crwdns495357:0crwdne495357:0" - time_entries: "crwdns495359:0crwdne495359:0" - type: "crwdns495361:0crwdne495361:0" - version: "crwdns495339:0crwdne495339:0" - watcher: "crwdns495363:0crwdne495363:0" - 'doorkeeper/application': - uid: "crwdns495365:0crwdne495365:0" - secret: "crwdns495367:0crwdne495367:0" - owner: "crwdns495369:0crwdne495369:0" - redirect_uri: "crwdns495371:0crwdne495371:0" - client_credentials_user_id: "crwdns495373:0crwdne495373:0" - scopes: "crwdns495375:0crwdne495375:0" - confidential: "crwdns495377:0crwdne495377:0" - errors: - messages: - accepted: "crwdns495379:0crwdne495379:0" - after: "crwdns495381:0%{date}crwdne495381:0" - after_or_equal_to: "crwdns495383:0%{date}crwdne495383:0" - before: "crwdns495385:0%{date}crwdne495385:0" - before_or_equal_to: "crwdns495387:0%{date}crwdne495387:0" - blank: "crwdns495389:0crwdne495389:0" - blank_nested: "crwdns495391:0%{property}crwdne495391:0" - cant_link_a_work_package_with_a_descendant: "crwdns495393:0crwdne495393:0" - circular_dependency: "crwdns495395:0crwdne495395:0" - confirmation: "crwdns495397:0%{attribute}crwdne495397:0" - could_not_be_copied: "crwdns495399:0%{dependency}crwdne495399:0" - does_not_exist: "crwdns495401:0crwdne495401:0" - error_enterprise_only: "crwdns839439:0%{action}crwdne839439:0" - error_unauthorized: "crwdns495405:0crwdne495405:0" - error_readonly: "crwdns495407:0crwdne495407:0" - email: "crwdns495409:0crwdne495409:0" - empty: "crwdns495411:0crwdne495411:0" - even: "crwdns495413:0crwdne495413:0" - exclusion: "crwdns495415:0crwdne495415:0" - file_too_large: "crwdns495417:0%{count}crwdne495417:0" - filter_does_not_exist: "crwdns809354:0crwdne809354:0" - format: "crwdns495419:0%{expected}crwdne495419:0" - format_nested: "crwdns495421:0%{expected}crwdnd495421:0%{path}crwdne495421:0" - greater_than: "crwdns495423:0%{count}crwdne495423:0" - greater_than_or_equal_to: "crwdns495425:0%{count}crwdne495425:0" - greater_than_or_equal_to_start_date: "crwdns495427:0crwdne495427:0" - greater_than_start_date: "crwdns495429:0crwdne495429:0" - inclusion: "crwdns495431:0crwdne495431:0" - inclusion_nested: "crwdns495433:0%{path}crwdne495433:0" - invalid: "crwdns495435:0crwdne495435:0" - invalid_url: 'crwdns495437:0crwdne495437:0' - invalid_url_scheme: 'crwdns495439:0%{allowed_schemes}crwdne495439:0' - less_than_or_equal_to: "crwdns495441:0%{count}crwdne495441:0" - not_available: "crwdns495443:0crwdne495443:0" - not_deletable: "crwdns495445:0crwdne495445:0" - not_current_user: "crwdns495447:0crwdne495447:0" - not_a_date: "crwdns495449:0crwdne495449:0" - not_a_datetime: "crwdns495451:0crwdne495451:0" - not_a_number: "crwdns495453:0crwdne495453:0" - not_allowed: "crwdns495455:0crwdne495455:0" - not_an_integer: "crwdns495457:0crwdne495457:0" - not_an_iso_date: "crwdns495459:0crwdne495459:0" - not_same_project: "crwdns495461:0crwdne495461:0" - odd: "crwdns495463:0crwdne495463:0" - regex_invalid: "crwdns495465:0crwdne495465:0" - smaller_than_or_equal_to_max_length: "crwdns495467:0crwdne495467:0" - taken: "crwdns495469:0crwdne495469:0" - too_long: "crwdns495471:0%{count}crwdne495471:0" - too_short: "crwdns495473:0%{count}crwdne495473:0" - type_mismatch: "crwdns495475:0%{type}crwdne495475:0" - type_mismatch_nested: "crwdns495477:0%{type}crwdnd495477:0%{path}crwdne495477:0" - unchangeable: "crwdns495479:0crwdne495479:0" - unknown_property: "crwdns495481:0crwdne495481:0" - unknown_property_nested: "crwdns495483:0%{path}crwdne495483:0" - unremovable: "crwdns495485:0crwdne495485:0" - url_not_secure_context: > - crwdns825422:0crwdne825422:0 - wrong_length: "crwdns495487:0%{count}crwdne495487:0" - models: - auth_source: - attributes: - tls_certificate_string: - invalid_certificate: "crwdns842291:0%{additional_message}crwdne842291:0" - format: "crwdns838885:0%{message}crwdne838885:0" - attachment: - attributes: - content_type: - blank: "crwdns495489:0crwdne495489:0" - not_whitelisted: "crwdns495491:0%{value}crwdne495491:0" - format: "crwdns495493:0%{message}crwdne495493:0" - capability: - context: - global: 'crwdns495495:0crwdne495495:0' - query: - filters: - minimum: "crwdns495497:0crwdne495497:0" - custom_field: - at_least_one_custom_option: "crwdns495499:0crwdne495499:0" - custom_actions: - only_one_allowed: "crwdns495501:0%{name}crwdne495501:0" - empty: "crwdns495503:0%{name}crwdne495503:0" - inclusion: "crwdns495505:0%{name}crwdne495505:0" - not_logged_in: "crwdns495507:0%{name}crwdne495507:0" - not_an_integer: "crwdns495509:0%{name}crwdne495509:0" - smaller_than_or_equal_to: "crwdns495511:0%{name}crwdnd495511:0%{count}crwdne495511:0" - greater_than_or_equal_to: "crwdns495513:0%{name}crwdnd495513:0%{count}crwdne495513:0" - format: "crwdns495515:0%{message}crwdne495515:0" - doorkeeper/application: - attributes: - redirect_uri: - fragment_present: 'crwdns495517:0crwdne495517:0' - invalid_uri: 'crwdns495519:0crwdne495519:0' - relative_uri: 'crwdns495521:0crwdne495521:0' - secured_uri: 'crwdns825424:0crwdne825424:0' - forbidden_uri: 'crwdns495525:0crwdne495525:0' - scopes: - not_match_configured: "crwdns495527:0crwdne495527:0" - enterprise_token: - unreadable: "crwdns495529:0crwdne495529:0" - grids/grid: - overlaps: 'crwdns495531:0crwdne495531:0' - outside: 'crwdns495533:0crwdne495533:0' - end_before_start: 'crwdns495535:0crwdne495535:0' - ical_token_query_assignment: - attributes: - name: - blank: "crwdns854453:0crwdne854453:0" - not_unique: "crwdns854455:0crwdne854455:0" - notifications: - at_least_one_channel: 'crwdns495537:0crwdne495537:0' - attributes: - read_ian: - read_on_creation: 'crwdns495539:0crwdne495539:0' - mail_reminder_sent: - set_on_creation: 'crwdns495541:0crwdne495541:0' - reason: - no_notification_reason: 'crwdns495543:0crwdne495543:0' - reason_mail_digest: - no_notification_reason: 'crwdns495545:0crwdne495545:0' - non_working_day: - attributes: - date: - taken: "crwdns843717:0%{value}crwdne843717:0" - format: "crwdns843719:0%{message}crwdne843719:0" - parse_schema_filter_params_service: - attributes: - base: - unsupported_operator: "crwdns495553:0crwdne495553:0" - invalid_values: "crwdns495555:0crwdne495555:0" - id_filter_required: "crwdns495557:0crwdne495557:0" - project: - archived_ancestor: 'crwdns495559:0crwdne495559:0' - foreign_wps_reference_version: 'crwdns495561:0crwdne495561:0' - attributes: - base: - archive_permission_missing_on_subprojects: "crwdns843929:0crwdne843929:0" - types: - in_use_by_work_packages: "crwdns495563:0%{types}crwdne495563:0" - enabled_modules: - dependency_missing: "crwdns495565:0%{dependency}crwdnd495565:0%{module}crwdne495565:0" - format: "crwdns495567:0%{message}crwdne495567:0" - query: - attributes: - project: - error_not_found: "crwdns495569:0crwdne495569:0" - public: - error_unauthorized: "crwdns495571:0crwdne495571:0" - group_by: - invalid: "crwdns495573:0%{value}crwdne495573:0" - format: "crwdns495575:0%{message}crwdne495575:0" - column_names: - invalid: "crwdns495577:0%{value}crwdne495577:0" - format: "crwdns495579:0%{message}crwdne495579:0" - sort_criteria: - invalid: "crwdns495581:0%{value}crwdne495581:0" - format: "crwdns495583:0%{message}crwdne495583:0" - timestamps: - invalid: "crwdns851627:0%{values}crwdne851627:0" - forbidden: "crwdns853333:0%{values}crwdne853333:0" - format: "crwdns851629:0%{message}crwdne851629:0" - group_by_hierarchies_exclusive: "crwdns495585:0%{group_by}crwdne495585:0" - filters: - custom_fields: - inexistent: "crwdns495587:0crwdne495587:0" - queries/filters/base: - attributes: - values: - inclusion: "crwdns495589:0crwdne495589:0" - format: "crwdns495591:0%{message}crwdne495591:0" - relation: - typed_dag: - circular_dependency: "crwdns495593:0crwdne495593:0" - attributes: - to: - error_not_found: "crwdns495595:0crwdne495595:0" - error_readonly: "crwdns495597:0crwdne495597:0" - from: - error_not_found: "crwdns495599:0crwdne495599:0" - error_readonly: "crwdns495601:0crwdne495601:0" - repository: - not_available: "crwdns495603:0crwdne495603:0" - not_whitelisted: "crwdns495605:0crwdne495605:0" - invalid_url: "crwdns495607:0crwdne495607:0" - must_not_be_ssh: "crwdns495609:0crwdne495609:0" - no_directory: "crwdns495611:0crwdne495611:0" - role: - attributes: - permissions: - dependency_missing: "crwdns495613:0%{dependency}crwdnd495613:0%{permission}crwdne495613:0" - setting: - attributes: - base: - working_days_are_missing: 'crwdns834282:0crwdne834282:0' - previous_working_day_changes_unprocessed: 'crwdns834170:0crwdne834170:0' - time_entry: - attributes: - hours: - day_limit: "crwdns495615:0crwdne495615:0" - user_preference: - attributes: - pause_reminders: - invalid_range: "crwdns495617:0crwdne495617:0" - daily_reminders: - full_hour: "crwdns495619:0crwdne495619:0" - notification_settings: - only_one_global_setting: 'crwdns836110:0crwdne836110:0' - email_alerts_global: 'crwdns836112:0crwdne836112:0' - format: "crwdns836114:0%{message}crwdne836114:0" - wrong_date: 'crwdns836116:0crwdne836116:0' - watcher: - attributes: - user_id: - not_allowed_to_view: "crwdns836931:0crwdne836931:0" - locked: "crwdns836933:0crwdne836933:0" - wiki_page: - attributes: - slug: - undeducible: "crwdns495621:0%{title}crwdne495621:0" - work_package: - is_not_a_valid_target_for_time_entries: "crwdns495623:0%{id}crwdne495623:0" - attributes: - assigned_to: - format: "crwdns830344:0%{message}crwdne830344:0" - due_date: - not_start_date: "crwdns495625:0crwdne495625:0" - cannot_be_null: "crwdns830400:0crwdne830400:0" - duration: - larger_than_dates: "crwdns816734:0crwdne816734:0" - smaller_than_dates: "crwdns816736:0crwdne816736:0" - not_available_for_milestones: "crwdns820640:0crwdne820640:0" - cannot_be_null: "crwdns830402:0crwdne830402:0" - parent: - cannot_be_milestone: "crwdns495627:0crwdne495627:0" - cannot_be_self_assigned: "crwdns495629:0crwdne495629:0" - cannot_be_in_another_project: "crwdns495631:0crwdne495631:0" - not_a_valid_parent: "crwdns495633:0crwdne495633:0" - start_date: - violates_relationships: "crwdns495635:0%{soonest_start}crwdne495635:0" - cannot_be_null: "crwdns830404:0crwdne830404:0" - status_id: - status_transition_invalid: "crwdns495637:0crwdne495637:0" - status_invalid_in_type: "crwdns495639:0crwdne495639:0" - type: - cannot_be_milestone_due_to_children: "crwdns495641:0crwdne495641:0" - priority_id: - only_active_priorities_allowed: "crwdns495643:0crwdne495643:0" - category: - only_same_project_categories_allowed: "crwdns495645:0crwdne495645:0" - does_not_exist: "crwdns495647:0crwdne495647:0" - estimated_hours: - only_values_greater_or_equal_zeroes_allowed: "crwdns495649:0crwdne495649:0" - readonly_status: 'crwdns537775:0crwdne537775:0' - type: - attributes: - attribute_groups: - attribute_unknown: "crwdns495651:0crwdne495651:0" - attribute_unknown_name: "crwdns495653:0%{attribute}crwdne495653:0" - duplicate_group: "crwdns495655:0%{group}crwdne495655:0" - query_invalid: "crwdns495657:0%{group}crwdnd495657:0%{details}crwdne495657:0" - group_without_name: "crwdns495659:0crwdne495659:0" - user: - attributes: - base: - user_limit_reached: "crwdns586679:0crwdne586679:0" - password_confirmation: - confirmation: "crwdns495661:0crwdne495661:0" - format: "crwdns495663:0%{message}crwdne495663:0" - password: - weak: "crwdns495665:0%{min_count}crwdnd495665:0%{all_count}crwdnd495665:0%{rules}crwdne495665:0" - lowercase: "crwdns495667:0crwdne495667:0" - uppercase: "crwdns495669:0crwdne495669:0" - numeric: "crwdns495671:0crwdne495671:0" - special: "crwdns495673:0crwdne495673:0" - reused: - one: "crwdns495675:1crwdne495675:1" - other: "crwdns495675:5%{count}crwdne495675:5" - match: - confirm: "crwdns495677:0crwdne495677:0" - description: "crwdns495679:0crwdne495679:0" - status: - invalid_on_create: "crwdns495681:0crwdne495681:0" - auth_source: - error_not_found: "crwdns495683:0crwdne495683:0" - member: - principal_blank: "crwdns495685:0crwdne495685:0" - role_blank: "crwdns495687:0crwdne495687:0" - attributes: - roles: - ungrantable: "crwdns495689:0crwdne495689:0" - principal: - unassignable: "crwdns495691:0crwdne495691:0" - version: - undeletable_work_packages_attached: "crwdns495693:0crwdne495693:0" - status: - readonly_default_exlusive: "crwdns495695:0crwdne495695:0" - template: - body: "crwdns495697:0crwdne495697:0" - header: - one: "crwdns495699:1%{model}crwdne495699:1" - other: "crwdns495699:5%{count}crwdnd495699:5%{model}crwdne495699:5" - models: - attachment: "crwdns495701:0crwdne495701:0" - attribute_help_text: "crwdns495703:0crwdne495703:0" - forum: "crwdns495705:0crwdne495705:0" - comment: "crwdns495707:0crwdne495707:0" - custom_action: "crwdns495709:0crwdne495709:0" - custom_field: "crwdns495711:0crwdne495711:0" - group: "crwdns495713:0crwdne495713:0" - category: "crwdns495715:0crwdne495715:0" - status: "crwdns495717:0crwdne495717:0" - member: "crwdns495719:0crwdne495719:0" - news: "crwdns495721:0crwdne495721:0" - notification: - one: "crwdns495723:1crwdne495723:1" - other: "crwdns495723:5crwdne495723:5" - placeholder_user: "crwdns495725:0crwdne495725:0" - project: "crwdns495727:0crwdne495727:0" - query: "crwdns495729:0crwdne495729:0" - role: - one: "crwdns495731:1crwdne495731:1" - other: "crwdns495731:5crwdne495731:5" - type: "crwdns495733:0crwdne495733:0" - user: "crwdns495735:0crwdne495735:0" - version: "crwdns495737:0crwdne495737:0" - wiki: "crwdns495739:0crwdne495739:0" - wiki_page: "crwdns495741:0crwdne495741:0" - workflow: "crwdns495743:0crwdne495743:0" - work_package: "crwdns495745:0crwdne495745:0" - 'doorkeeper/application': "crwdns495747:0crwdne495747:0" - errors: - header_invalid_fields: "crwdns495749:0crwdne495749:0" - field_erroneous_label: "crwdns495751:0%{full_errors}crwdne495751:0" - activity: - item: - created_by_on: "crwdns845923:0%{user}crwdnd845923:0%{datetime}crwdne845923:0" - created_by_on_time_entry: "crwdns853247:0%{user}crwdnd853247:0%{datetime}crwdne853247:0" - created_on: "crwdns845925:0%{datetime}crwdne845925:0" - updated_by_on: "crwdns845927:0%{user}crwdnd845927:0%{datetime}crwdne845927:0" - updated_by_on_time_entry: "crwdns853249:0%{user}crwdnd853249:0%{datetime}crwdne853249:0" - updated_on: "crwdns845929:0%{datetime}crwdne845929:0" - parent_without_of: "crwdns846055:0crwdne846055:0" - parent_no_longer: "crwdns846057:0crwdne846057:0" - time_entry: - hour: - one: "crwdns853251:1%{count}crwdne853251:1" - other: "crwdns853251:5%{count}crwdne853251:5" - hour_html: - one: "crwdns853253:1%{count}crwdne853253:1" - other: "crwdns853253:5%{count}crwdne853253:5" - updated: "crwdns853255:0%{old_value}crwdnd853255:0%{value}crwdne853255:0" - logged_for: "crwdns853257:0crwdne853257:0" - filter: - changeset: "crwdns845777:0crwdne845777:0" - message: "crwdns845811:0crwdne845811:0" - news: "crwdns845781:0crwdne845781:0" - project_attribute: "crwdns845783:0crwdne845783:0" - subproject: "crwdns845785:0crwdne845785:0" - time_entry: "crwdns845787:0crwdne845787:0" - wiki_edit: "crwdns845789:0crwdne845789:0" - work_package: "crwdns845791:0crwdne845791:0" - #common attributes of all models - attributes: - active: "crwdns495757:0crwdne495757:0" - assigned_to: "crwdns495759:0crwdne495759:0" - assignee: "crwdns495761:0crwdne495761:0" - attachments: "crwdns495763:0crwdne495763:0" - author: "crwdns495765:0crwdne495765:0" - base: "crwdns495767:0crwdne495767:0" - blocks_ids: "crwdns495769:0crwdne495769:0" - category: "crwdns495771:0crwdne495771:0" - comment: "crwdns495773:0crwdne495773:0" - comments: "crwdns495775:0crwdne495775:0" - content: "crwdns495777:0crwdne495777:0" - color: "crwdns495779:0crwdne495779:0" - created_at: "crwdns495781:0crwdne495781:0" - custom_options: "crwdns495783:0crwdne495783:0" - custom_values: "crwdns495785:0crwdne495785:0" - date: "crwdns495787:0crwdne495787:0" - default_columns: "crwdns495789:0crwdne495789:0" - description: "crwdns495791:0crwdne495791:0" - derived_due_date: "crwdns495793:0crwdne495793:0" - derived_estimated_hours: "crwdns495795:0crwdne495795:0" - derived_start_date: "crwdns495797:0crwdne495797:0" - display_sums: "crwdns495799:0crwdne495799:0" - due_date: "crwdns495801:0crwdne495801:0" - estimated_hours: "crwdns495803:0crwdne495803:0" - estimated_time: "crwdns495805:0crwdne495805:0" - firstname: "crwdns495807:0crwdne495807:0" - group: "crwdns495809:0crwdne495809:0" - groups: "crwdns495811:0crwdne495811:0" - id: "crwdns495813:0crwdne495813:0" - is_default: "crwdns495815:0crwdne495815:0" - is_for_all: "crwdns495817:0crwdne495817:0" - public: "crwdns495819:0crwdne495819:0" - #kept for backwards compatibility - issue: "crwdns495821:0crwdne495821:0" - lastname: "crwdns495823:0crwdne495823:0" - login: "crwdns495825:0crwdne495825:0" - mail: "crwdns495827:0crwdne495827:0" - name: "crwdns495829:0crwdne495829:0" - password: "crwdns495831:0crwdne495831:0" - priority: "crwdns495833:0crwdne495833:0" - project: "crwdns495835:0crwdne495835:0" - responsible: "crwdns495837:0crwdne495837:0" - role: "crwdns495839:0crwdne495839:0" - roles: "crwdns495841:0crwdne495841:0" - start_date: "crwdns495843:0crwdne495843:0" - status: "crwdns495845:0crwdne495845:0" - subject: "crwdns495847:0crwdne495847:0" - summary: "crwdns495849:0crwdne495849:0" - title: "crwdns495851:0crwdne495851:0" - type: "crwdns495853:0crwdne495853:0" - updated_at: "crwdns495855:0crwdne495855:0" - updated_on: "crwdns495857:0crwdne495857:0" - uploader: "crwdns495859:0crwdne495859:0" - user: "crwdns495861:0crwdne495861:0" - value: "crwdns809346:0crwdne809346:0" - version: "crwdns495863:0crwdne495863:0" - work_package: "crwdns495865:0crwdne495865:0" - backup: - failed: "crwdns771128:0crwdne771128:0" - label_backup_token: "crwdns495867:0crwdne495867:0" - label_create_token: "crwdns495869:0crwdne495869:0" - label_delete_token: "crwdns495871:0crwdne495871:0" - label_reset_token: "crwdns495873:0crwdne495873:0" - label_token_users: "crwdns495875:0crwdne495875:0" - reset_token: - action_create: crwdns495877:0crwdne495877:0 - action_reset: crwdns495879:0crwdne495879:0 - heading_reset: "crwdns495881:0crwdne495881:0" - heading_create: "crwdns495883:0crwdne495883:0" - implications: > - crwdns495885:0crwdne495885:0 - info: > - crwdns495887:0crwdne495887:0 - verification: > - crwdns495889:0%{word}crwdnd495889:0%{action}crwdne495889:0 - verification_word_reset: crwdns495891:0crwdne495891:0 - verification_word_create: crwdns495893:0crwdne495893:0 - warning: > - crwdns495895:0crwdne495895:0 - text_token_deleted: crwdns495897:0crwdne495897:0 - error: - invalid_token: crwdns495899:0crwdne495899:0 - token_cooldown: crwdns495901:0%{hours}crwdne495901:0 - backup_pending: crwdns495903:0crwdne495903:0 - limit_reached: crwdns495905:0%{limit}crwdne495905:0 - button_add: "crwdns495907:0crwdne495907:0" - button_add_comment: "crwdns495909:0crwdne495909:0" - button_add_member: crwdns495911:0crwdne495911:0 - button_add_watcher: "crwdns495913:0crwdne495913:0" - button_annotate: "crwdns495915:0crwdne495915:0" - button_apply: "crwdns495917:0crwdne495917:0" - button_archive: "crwdns495919:0crwdne495919:0" - button_back: "crwdns495921:0crwdne495921:0" - button_cancel: "crwdns495923:0crwdne495923:0" - button_change: "crwdns495925:0crwdne495925:0" - button_change_parent_page: "crwdns495927:0crwdne495927:0" - button_change_password: "crwdns495929:0crwdne495929:0" - button_check_all: "crwdns495931:0crwdne495931:0" - button_clear: "crwdns495933:0crwdne495933:0" - button_click_to_reveal: "crwdns495935:0crwdne495935:0" - button_close: 'crwdns495937:0crwdne495937:0' - button_collapse_all: "crwdns495939:0crwdne495939:0" - button_configure: "crwdns495941:0crwdne495941:0" - button_continue: "crwdns495943:0crwdne495943:0" - button_copy: "crwdns495945:0crwdne495945:0" - button_copy_to_clipboard: "crwdns855839:0crwdne855839:0" - button_copy_link_to_clipboard: "crwdns858837:0crwdne858837:0" - button_copy_and_follow: "crwdns495947:0crwdne495947:0" - button_create: "crwdns495949:0crwdne495949:0" - button_create_and_continue: "crwdns495951:0crwdne495951:0" - button_delete: "crwdns495953:0crwdne495953:0" - button_decline: "crwdns495955:0crwdne495955:0" - button_delete_watcher: "crwdns495957:0%{name}crwdne495957:0" - button_download: "crwdns495959:0crwdne495959:0" - button_duplicate: "crwdns495961:0crwdne495961:0" - button_edit: "crwdns495963:0crwdne495963:0" - button_edit_associated_wikipage: "crwdns495965:0%{page_title}crwdne495965:0" - button_expand_all: "crwdns495967:0crwdne495967:0" - button_filter: "crwdns495969:0crwdne495969:0" - button_generate: "crwdns495971:0crwdne495971:0" - button_list: "crwdns495973:0crwdne495973:0" - button_lock: "crwdns495975:0crwdne495975:0" - button_login: "crwdns495977:0crwdne495977:0" - button_move: "crwdns495979:0crwdne495979:0" - button_move_and_follow: "crwdns495981:0crwdne495981:0" - button_print: "crwdns495983:0crwdne495983:0" - button_quote: "crwdns495985:0crwdne495985:0" - button_remove: crwdns495987:0crwdne495987:0 - button_rename: "crwdns495989:0crwdne495989:0" - button_replace: "crwdns495991:0crwdne495991:0" - button_revoke: "crwdns495993:0crwdne495993:0" - button_reply: "crwdns495995:0crwdne495995:0" - button_reset: "crwdns495997:0crwdne495997:0" - button_rollback: "crwdns495999:0crwdne495999:0" - button_save: "crwdns496001:0crwdne496001:0" - button_apply_changes: "crwdns845739:0crwdne845739:0" - button_save_back: "crwdns496003:0crwdne496003:0" - button_show: "crwdns496005:0crwdne496005:0" - button_sort: "crwdns496007:0crwdne496007:0" - button_submit: "crwdns496009:0crwdne496009:0" - button_test: "crwdns496011:0crwdne496011:0" - button_unarchive: "crwdns496013:0crwdne496013:0" - button_uncheck_all: "crwdns496015:0crwdne496015:0" - button_unlock: "crwdns496017:0crwdne496017:0" - button_unwatch: "crwdns496019:0crwdne496019:0" - button_update: "crwdns496021:0crwdne496021:0" - button_upgrade: "crwdns496023:0crwdne496023:0" - button_upload: "crwdns496025:0crwdne496025:0" - button_view: "crwdns496027:0crwdne496027:0" - button_watch: "crwdns496029:0crwdne496029:0" - button_manage_menu_entry: "crwdns496031:0crwdne496031:0" - button_add_menu_entry: "crwdns496033:0crwdne496033:0" - button_configure_menu_entry: "crwdns496035:0crwdne496035:0" - button_delete_menu_entry: "crwdns496037:0crwdne496037:0" - consent: - checkbox_label: crwdns496039:0crwdne496039:0 - failure_message: crwdns496041:0crwdne496041:0 - title: crwdns496043:0crwdne496043:0 - decline_warning_message: crwdns496045:0crwdne496045:0 - user_has_consented: crwdns496047:0crwdne496047:0 - not_yet_consented: crwdns496049:0crwdne496049:0 - contact_mail_instructions: crwdns496053:0crwdne496053:0 - contact_your_administrator: crwdns496059:0crwdne496059:0 - contact_this_mail_address: crwdns496063:0%{mail_address}crwdne496063:0 - text_update_consent_time: crwdns496067:0crwdne496067:0 - update_consent_last_time: "crwdns496071:0%{update_time}crwdne496071:0" - copy_project: - title: 'crwdns496073:0%{source_project_name}crwdne496073:0' - started: "crwdns496075:0%{source_project_name}crwdnd496075:0%{target_project_name}crwdnd496075:0%{target_project_name}crwdne496075:0" - failed: "crwdns496081:0%{source_project_name}crwdne496081:0" - failed_internal: "crwdns496083:0crwdne496083:0" - succeeded: "crwdns496085:0%{target_project_name}crwdne496085:0" - errors: "crwdns496087:0crwdne496087:0" - project_custom_fields: 'crwdns496089:0crwdne496089:0' - x_objects_of_this_type: - zero: 'crwdns496093:0crwdne496093:0' - one: 'crwdns496097:0crwdne496097:0' - other: 'crwdns496103:0%{count}crwdne496103:0' - text: - failed: "crwdns496107:0%{source_project_name}crwdnd496107:0%{target_project_name}crwdne496107:0" - succeeded: "crwdns496111:0%{source_project_name}crwdnd496111:0%{target_project_name}crwdne496111:0" - create_new_page: "crwdns496117:0crwdne496117:0" - date: - abbr_day_names: - - "crwdns496123:0crwdne496123:0" - - "crwdns496129:0crwdne496129:0" - - "crwdns496135:0crwdne496135:0" - - "crwdns496141:0crwdne496141:0" - - "crwdns496143:0crwdne496143:0" - - "crwdns496149:0crwdne496149:0" - - "crwdns496155:0crwdne496155:0" - abbr_month_names: - - null - - "crwdns496159:0crwdne496159:0" - - "crwdns496163:0crwdne496163:0" - - "crwdns496167:0crwdne496167:0" - - "crwdns496173:0crwdne496173:0" - - "crwdns496177:0crwdne496177:0" - - "crwdns496181:0crwdne496181:0" - - "crwdns496185:0crwdne496185:0" - - "crwdns496191:0crwdne496191:0" - - "crwdns496197:0crwdne496197:0" - - "crwdns496205:0crwdne496205:0" - - "crwdns496211:0crwdne496211:0" - - "crwdns496213:0crwdne496213:0" - abbr_week: 'crwdns496215:0crwdne496215:0' - day_names: - - "crwdns496217:0crwdne496217:0" - - "crwdns496225:0crwdne496225:0" - - "crwdns496231:0crwdne496231:0" - - "crwdns496237:0crwdne496237:0" - - "crwdns496243:0crwdne496243:0" - - "crwdns496247:0crwdne496247:0" - - "crwdns496253:0crwdne496253:0" - formats: - #Use the strftime parameters for formats. - #When no format has been given, it uses default. - #You can provide other formats here if you like! - default: "crwdns496259:0%mcrwdnd496259:0%dcrwdnd496259:0%Ycrwdne496259:0" - long: "crwdns496263:0%Bcrwdnd496263:0%dcrwdnd496263:0%Ycrwdne496263:0" - short: "crwdns496269:0%bcrwdnd496269:0%dcrwdne496269:0" - #Don't forget the nil at the beginning; there's no such thing as a 0th month - month_names: - - null - - "crwdns496271:0crwdne496271:0" - - "crwdns496273:0crwdne496273:0" - - "crwdns496275:0crwdne496275:0" - - "crwdns496277:0crwdne496277:0" - - "crwdns496279:0crwdne496279:0" - - "crwdns496289:0crwdne496289:0" - - "crwdns496295:0crwdne496295:0" - - "crwdns496301:0crwdne496301:0" - - "crwdns496307:0crwdne496307:0" - - "crwdns496313:0crwdne496313:0" - - "crwdns496319:0crwdne496319:0" - - "crwdns496323:0crwdne496323:0" - #Used in date_select and datetime_select. - order: - - crwdns496329:0crwdne496329:0 - - crwdns496335:0crwdne496335:0 - - crwdns496341:0crwdne496341:0 - datetime: - distance_in_words: - about_x_hours: - one: "crwdns496351:1crwdne496351:1" - other: "crwdns496351:5%{count}crwdne496351:5" - about_x_months: - one: "crwdns496357:1crwdne496357:1" - other: "crwdns496357:5%{count}crwdne496357:5" - about_x_years: - one: "crwdns496361:1crwdne496361:1" - other: "crwdns496361:5%{count}crwdne496361:5" - almost_x_years: - one: "crwdns496373:1crwdne496373:1" - other: "crwdns496373:5%{count}crwdne496373:5" - half_a_minute: "crwdns496377:0crwdne496377:0" - less_than_x_minutes: - one: "crwdns496383:1crwdne496383:1" - other: "crwdns496383:5%{count}crwdne496383:5" - less_than_x_seconds: - one: "crwdns496385:1crwdne496385:1" - other: "crwdns496385:5%{count}crwdne496385:5" - over_x_years: - one: "crwdns496389:1crwdne496389:1" - other: "crwdns496389:5%{count}crwdne496389:5" - x_days: - one: "crwdns496391:1crwdne496391:1" - other: "crwdns496391:5%{count}crwdne496391:5" - x_minutes: - one: "crwdns496397:1crwdne496397:1" - other: "crwdns496397:5%{count}crwdne496397:5" - x_months: - one: "crwdns496399:1crwdne496399:1" - other: "crwdns496399:5%{count}crwdne496399:5" - x_seconds: - one: "crwdns496401:1crwdne496401:1" - other: "crwdns496401:5%{count}crwdne496401:5" - units: - hour: - one: "crwdns496403:1crwdne496403:1" - other: "crwdns496403:5crwdne496403:5" - description_active: "crwdns496515:0crwdne496515:0" - description_attachment_toggle: "crwdns496517:0crwdne496517:0" - description_autocomplete: > - crwdns496519:0crwdne496519:0 - description_available_columns: "crwdns496521:0crwdne496521:0" - description_choose_project: "crwdns496523:0crwdne496523:0" - description_compare_from: "crwdns496525:0crwdne496525:0" - description_compare_to: "crwdns496527:0crwdne496527:0" - description_current_position: "crwdns496529:0crwdne496529:0" - description_date_from: "crwdns496531:0crwdne496531:0" - description_date_to: "crwdns496533:0crwdne496533:0" - description_enter_number: "crwdns496535:0crwdne496535:0" - description_enter_text: "crwdns496537:0crwdne496537:0" - description_filter: "crwdns496539:0crwdne496539:0" - description_filter_toggle: "crwdns496541:0crwdne496541:0" - description_category_reassign: "crwdns496543:0crwdne496543:0" - description_message_content: "crwdns496545:0crwdne496545:0" - description_my_project: "crwdns496547:0crwdne496547:0" - description_notes: "crwdns496549:0crwdne496549:0" - description_parent_work_package: "crwdns496551:0crwdne496551:0" - description_project_scope: "crwdns496553:0crwdne496553:0" - description_query_sort_criteria_attribute: "crwdns496555:0crwdne496555:0" - description_query_sort_criteria_direction: "crwdns496557:0crwdne496557:0" - description_search: "crwdns496559:0crwdne496559:0" - description_select_work_package: "crwdns496561:0crwdne496561:0" - description_selected_columns: "crwdns496563:0crwdne496563:0" - description_sub_work_package: "crwdns496565:0crwdne496565:0" - description_toc_toggle: "crwdns496567:0crwdne496567:0" - description_wiki_subpages_reassign: "crwdns496569:0crwdne496569:0" - #Text direction: Left-to-Right (ltr) or Right-to-Left (rtl) - direction: crwdns496571:0crwdne496571:0 - ee: - upsale: - form_configuration: - description: "crwdns839559:0crwdne839559:0" - add_groups: "crwdns496575:0crwdne496575:0" - rename_groups: "crwdns496577:0crwdne496577:0" - project_filters: - description_html: "crwdns839561:0crwdne839561:0" - enumeration_activities: "crwdns496581:0crwdne496581:0" - enumeration_work_package_priorities: "crwdns496583:0crwdne496583:0" - enumeration_reported_project_statuses: "crwdns496585:0crwdne496585:0" - error_auth_source_sso_failed: "crwdns496587:0%{value}crwdne496587:0" - error_can_not_archive_project: "crwdns496589:0%{errors}crwdne496589:0" - error_can_not_delete_entry: "crwdns496591:0crwdne496591:0" - error_can_not_delete_custom_field: "crwdns496593:0crwdne496593:0" - error_can_not_delete_type: - explanation: 'crwdns496595:0%{url}crwdne496595:0' - archived_projects: 'crwdns496597:0%{archived_projects}crwdne496597:0' - error_can_not_delete_standard_type: "crwdns496599:0crwdne496599:0" - error_can_not_invite_user: "crwdns496601:0crwdne496601:0" - error_can_not_remove_role: "crwdns496603:0crwdne496603:0" - error_can_not_reopen_work_package_on_closed_version: "crwdns496605:0crwdne496605:0" - error_can_not_find_all_resources: "crwdns496607:0crwdne496607:0" - error_can_not_unarchive_project: "crwdns496609:0%{errors}crwdne496609:0" - error_check_user_and_role: "crwdns496611:0crwdne496611:0" - error_code: "crwdns496613:0%{code}crwdne496613:0" - error_cookie_missing: 'crwdns496615:0crwdne496615:0' - error_custom_option_not_found: "crwdns496617:0crwdne496617:0" - error_enterprise_activation_user_limit: "crwdns496619:0crwdne496619:0" - error_enterprise_token_invalid_domain: "crwdns839441:0%{actual}crwdnd839441:0%{expected}crwdne839441:0" - error_failed_to_delete_entry: 'crwdns496623:0crwdne496623:0' - error_in_dependent: "crwdns496625:0%{dependent_class}crwdnd496625:0%{related_id}crwdnd496625:0%{related_subject}crwdnd496625:0%{error}crwdne496625:0" - error_in_new_dependent: "crwdns807892:0%{dependent_class}crwdnd807892:0%{related_subject}crwdnd807892:0%{error}crwdne807892:0" - error_invalid_selected_value: "crwdns496627:0crwdne496627:0" - error_journal_attribute_not_present: "crwdns496629:0%{attribute}crwdne496629:0" - error_pdf_export_too_many_columns: "crwdns496631:0crwdne496631:0" - error_pdf_failed_to_export: "crwdns496633:0%{error}crwdne496633:0" - error_token_authenticity: 'crwdns496635:0crwdne496635:0' - error_work_package_done_ratios_not_updated: "crwdns496637:0crwdne496637:0" - error_work_package_not_found_in_project: "crwdns496639:0crwdne496639:0" - error_must_be_project_member: "crwdns496641:0crwdne496641:0" - error_migrations_are_pending: "crwdns496643:0crwdne496643:0" - error_migrations_visit_upgrade_guides: "crwdns496645:0crwdne496645:0" - error_no_default_work_package_status: "crwdns496647:0crwdne496647:0" - error_no_type_in_project: "crwdns496649:0crwdne496649:0" - error_omniauth_registration_timed_out: "crwdns496651:0crwdne496651:0" - error_omniauth_invalid_auth: "crwdns496653:0crwdne496653:0" - error_password_change_failed: 'crwdns496655:0crwdne496655:0' - error_scm_command_failed: "crwdns496657:0%{value}crwdne496657:0" - error_scm_not_found: "crwdns496659:0crwdne496659:0" - error_unable_delete_status: "crwdns496661:0crwdne496661:0" - error_unable_delete_default_status: "crwdns496663:0crwdne496663:0" - error_unable_to_connect: "crwdns496665:0%{value}crwdne496665:0" - error_unable_delete_wiki: "crwdns496667:0crwdne496667:0" - error_unable_update_wiki: "crwdns496669:0crwdne496669:0" - error_workflow_copy_source: "crwdns496671:0crwdne496671:0" - error_workflow_copy_target: "crwdns496673:0crwdne496673:0" - error_menu_item_not_created: crwdns496675:0crwdne496675:0 - error_menu_item_not_saved: crwdns496677:0crwdne496677:0 - error_wiki_root_menu_item_conflict: > - crwdns496679:0%{old_name}crwdnd496679:0%{new_name}crwdnd496679:0%{existing_caption}crwdnd496679:0%{existing_identifier}crwdne496679:0 - error_external_authentication_failed: "crwdns496681:0crwdne496681:0" - error_attribute_not_highlightable: "crwdns496683:0%{attributes}crwdne496683:0" - events: - changeset: 'crwdns496687:0crwdne496687:0' - message: crwdns496689:0crwdne496689:0 - news: crwdns496691:0crwdne496691:0 - project_attributes: 'crwdns842627:0crwdne842627:0' - projects: 'crwdns842629:0crwdne842629:0' - reply: crwdns496693:0crwdne496693:0 - time_entry: 'crwdns496695:0crwdne496695:0' - wiki_page: 'crwdns496697:0crwdne496697:0' - work_package_closed: 'crwdns496699:0crwdne496699:0' - work_package_edit: 'crwdns496701:0crwdne496701:0' - work_package_note: 'crwdns496703:0crwdne496703:0' - title: - project: "crwdns842631:0%{name}crwdne842631:0" - subproject: "crwdns846087:0%{name}crwdne846087:0" - export: - your_work_packages_export: "crwdns496705:0crwdne496705:0" - succeeded: "crwdns496707:0crwdne496707:0" - failed: "crwdns496709:0%{message}crwdne496709:0" - format: - atom: "crwdns496711:0crwdne496711:0" - csv: "crwdns496713:0crwdne496713:0" - pdf: "crwdns496715:0crwdne496715:0" - pdf_overview_table: "crwdns854709:0crwdne854709:0" - pdf_report_with_images: "crwdns854711:0crwdne854711:0" - pdf_report: "crwdns854713:0crwdne854713:0" - image: - omitted: "crwdns496723:0crwdne496723:0" - units: - hours: crwdns855361:0crwdne855361:0 - days: crwdns855363:0crwdne855363:0 - extraction: - available: - pdftotext: "crwdns496725:0crwdne496725:0" - unrtf: "crwdns496727:0crwdne496727:0" - catdoc: "crwdns496729:0crwdne496729:0" - xls2csv: "crwdns496731:0crwdne496731:0" - catppt: "crwdns496733:0crwdne496733:0" - tesseract: "crwdns496735:0crwdne496735:0" - general_csv_decimal_separator: "crwdns496737:0crwdne496737:0" - general_csv_encoding: "crwdns496739:0crwdne496739:0" - general_csv_separator: "crwdns496741:0crwdne496741:0" - general_first_day_of_week: "crwdns496743:0crwdne496743:0" - general_pdf_encoding: "crwdns496747:0crwdne496747:0" - general_text_no: "crwdns496749:0crwdne496749:0" - general_text_yes: "crwdns496751:0crwdne496751:0" - general_text_No: "crwdns496753:0crwdne496753:0" - general_text_Yes: "crwdns496755:0crwdne496755:0" - general_text_true: "crwdns496757:0crwdne496757:0" - general_text_false: "crwdns496759:0crwdne496759:0" - gui_validation_error: "crwdns496761:0crwdne496761:0" - gui_validation_error_plural: "crwdns496763:0%{count}crwdne496763:0" - homescreen: - additional: - projects: "crwdns496765:0crwdne496765:0" - no_visible_projects: "crwdns496767:0crwdne496767:0" - users: "crwdns496769:0crwdne496769:0" - blocks: - community: "crwdns496771:0crwdne496771:0" - upsale: - title: "crwdns839443:0crwdne839443:0" - more_info: "crwdns496775:0crwdne496775:0" - links: - upgrade_enterprise_edition: "crwdns839445:0crwdne839445:0" - postgres_migration: "crwdns496779:0crwdne496779:0" - user_guides: "crwdns496781:0crwdne496781:0" - faq: "crwdns496783:0crwdne496783:0" - glossary: "crwdns496785:0crwdne496785:0" - shortcuts: "crwdns496787:0crwdne496787:0" - blog: "crwdns496789:0crwdne496789:0" - forums: "crwdns496791:0crwdne496791:0" - newsletter: "crwdns496793:0crwdne496793:0" - image_conversion: - imagemagick: 'crwdns496795:0crwdne496795:0' - journals: - changes_retracted: "crwdns496797:0crwdne496797:0" - caused_changes: - dates_changed: "crwdns858057:0crwdne858057:0" - cause_descriptions: - work_package_predecessor_changed_times: crwdns858059:0%{link}crwdne858059:0 - work_package_parent_changed_times: crwdns858061:0%{link}crwdne858061:0 - work_package_children_changed_times: crwdns858063:0%{link}crwdne858063:0 - work_package_related_changed_times: crwdns858065:0%{link}crwdne858065:0 - unaccessable_work_package_changed: crwdns858067:0crwdne858067:0 - working_days_changed: - changed: "crwdns858069:0%{changes}crwdne858069:0" - days: - working: "crwdns858071:0%{day}crwdne858071:0" - non_working: "crwdns858073:0%{day}crwdne858073:0" - dates: - working: "crwdns858075:0%{date}crwdne858075:0" - non_working: "crwdns858077:0%{date}crwdne858077:0" - links: - configuration_guide: 'crwdns496799:0crwdne496799:0' - get_in_touch: "crwdns496801:0crwdne496801:0" - instructions_after_registration: "crwdns496803:0%{signin}crwdne496803:0" - instructions_after_logout: "crwdns496805:0%{signin}crwdne496805:0" - instructions_after_error: "crwdns496807:0%{signin}crwdne496807:0" - menus: - admin: - mail_notification: "crwdns496809:0crwdne496809:0" - mails_and_notifications: "crwdns808258:0crwdne808258:0" - aggregation: 'crwdns825700:0crwdne825700:0' - api_and_webhooks: "crwdns808262:0crwdne808262:0" - quick_add: - label: "crwdns496813:0crwdne496813:0" - my_account: - access_tokens: - no_results: - title: "crwdns496815:0crwdne496815:0" - description: "crwdns496817:0crwdne496817:0" - access_tokens: "crwdns823130:0crwdne823130:0" - headers: - action: "crwdns496821:0crwdne496821:0" - expiration: "crwdns496823:0crwdne496823:0" - indefinite_expiration: "crwdns496825:0crwdne496825:0" - notifications: - send_notifications: "crwdns496827:0crwdne496827:0" - work_packages: - subject: - created: "crwdns496829:0crwdne496829:0" - assigned: "crwdns496831:0%{work_package}crwdne496831:0" - subscribed: "crwdns496833:0%{work_package}crwdne496833:0" - mentioned: "crwdns496835:0%{work_package}crwdne496835:0" - responsible: "crwdns496837:0%{work_package}crwdne496837:0" - watched: "crwdns496839:0%{work_package}crwdne496839:0" - update_info_mail: - body: > - crwdns496841:0crwdne496841:0 - body_header: 'crwdns496843:0crwdne496843:0' - body_subheader: 'crwdns496845:0crwdne496845:0' - subject: 'crwdns496847:0crwdne496847:0' - label_accessibility: "crwdns496849:0crwdne496849:0" - label_account: "crwdns496851:0crwdne496851:0" - label_active: "crwdns496853:0crwdne496853:0" - label_activate_user: 'crwdns496855:0crwdne496855:0' - label_active_in_new_projects: "crwdns496857:0crwdne496857:0" - label_activity: "crwdns496859:0crwdne496859:0" - label_add_edit_translations: "crwdns496861:0crwdne496861:0" - label_add_another_file: "crwdns496863:0crwdne496863:0" - label_add_columns: "crwdns496865:0crwdne496865:0" - label_add_note: "crwdns496867:0crwdne496867:0" - label_add_related_work_packages: "crwdns496869:0crwdne496869:0" - label_add_subtask: "crwdns496871:0crwdne496871:0" - label_added: "crwdns496873:0crwdne496873:0" - label_added_time_by: "crwdns496875:0%{author}crwdnd496875:0%{age}crwdne496875:0" - label_additional_workflow_transitions_for_assignee: "crwdns496877:0crwdne496877:0" - label_additional_workflow_transitions_for_author: "crwdns496879:0crwdne496879:0" - label_administration: "crwdns496881:0crwdne496881:0" - label_advanced_settings: "crwdns496883:0crwdne496883:0" - label_age: "crwdns496885:0crwdne496885:0" - label_ago: "crwdns496887:0crwdne496887:0" - label_all: "crwdns496889:0crwdne496889:0" - label_all_projects: "crwdns858839:0crwdne858839:0" - label_all_time: "crwdns496891:0crwdne496891:0" - label_all_words: "crwdns496893:0crwdne496893:0" - label_all_open_wps: "crwdns496895:0crwdne496895:0" - label_always_visible: "crwdns496897:0crwdne496897:0" - label_announcement: "crwdns496899:0crwdne496899:0" - label_api_access_key: "crwdns496901:0crwdne496901:0" - label_api_access_key_created_on: "crwdns496903:0%{value}crwdne496903:0" - label_api_access_key_type: "crwdns496905:0crwdne496905:0" - label_ical_access_key_type: "crwdns854457:0crwdne854457:0" - label_ical_access_key_description: "crwdns854459:0%{token_name}crwdnd854459:0%{calendar_name}crwdnd854459:0%{project_name}crwdne854459:0" - label_ical_access_key_not_present: "crwdns854461:0crwdne854461:0" - label_ical_access_key_generation_hint: "crwdns854463:0crwdne854463:0" - label_ical_access_key_latest: "crwdns854465:0crwdne854465:0" - label_ical_access_key_revoke: "crwdns854467:0crwdne854467:0" - label_applied_status: "crwdns496907:0crwdne496907:0" - label_archive_project: "crwdns496909:0crwdne496909:0" - label_archived_projects: "crwdns858841:0crwdne858841:0" - label_ascending: "crwdns496911:0crwdne496911:0" - label_assigned_to_me_work_packages: "crwdns496913:0crwdne496913:0" - label_associated_revisions: "crwdns496915:0crwdne496915:0" - label_attachment_delete: "crwdns496917:0crwdne496917:0" - label_attachment_new: "crwdns496919:0crwdne496919:0" - label_attachment_plural: "crwdns496921:0crwdne496921:0" - label_attribute: "crwdns496923:0crwdne496923:0" - label_attribute_plural: "crwdns496925:0crwdne496925:0" - label_auth_source: "crwdns496927:0crwdne496927:0" - label_auth_source_new: "crwdns496929:0crwdne496929:0" - label_auth_source_plural: "crwdns496931:0crwdne496931:0" - label_authentication: "crwdns496933:0crwdne496933:0" - label_available_project_work_package_categories: 'crwdns496935:0crwdne496935:0' - label_available_project_work_package_types: 'crwdns496937:0crwdne496937:0' - label_available_project_forums: 'crwdns496939:0crwdne496939:0' - label_available_project_versions: 'crwdns496941:0crwdne496941:0' - label_available_project_repositories: 'crwdns496943:0crwdne496943:0' - label_api_documentation: "crwdns496945:0crwdne496945:0" - label_backup: "crwdns496947:0crwdne496947:0" - label_between: "crwdns496949:0crwdne496949:0" - label_blocked_by: "crwdns496951:0crwdne496951:0" - label_blocks: "crwdns496953:0crwdne496953:0" - label_blog: "crwdns496955:0crwdne496955:0" - label_forums_locked: "crwdns496957:0crwdne496957:0" - label_forum_new: "crwdns496959:0crwdne496959:0" - label_forum_plural: "crwdns496961:0crwdne496961:0" - label_forum_sticky: "crwdns496963:0crwdne496963:0" - label_boolean: "crwdns496965:0crwdne496965:0" - label_branch: "crwdns496967:0crwdne496967:0" - label_browse: "crwdns496969:0crwdne496969:0" - label_bulk_edit_selected_work_packages: "crwdns496971:0crwdne496971:0" - label_bundled: 'crwdns496973:0crwdne496973:0' - label_calendar: "crwdns496975:0crwdne496975:0" - label_calendars_and_dates: "crwdns855695:0crwdne855695:0" - label_calendar_show: "crwdns496977:0crwdne496977:0" - label_category: "crwdns496979:0crwdne496979:0" - label_consent_settings: "crwdns496981:0crwdne496981:0" - label_wiki_menu_item: crwdns496983:0crwdne496983:0 - label_select_main_menu_item: crwdns496985:0crwdne496985:0 - label_required_disk_storage: "crwdns496989:0crwdne496989:0" - label_send_invitation: crwdns496991:0crwdne496991:0 - label_change_plural: "crwdns496993:0crwdne496993:0" - label_change_properties: "crwdns496995:0crwdne496995:0" - label_change_status: "crwdns496997:0crwdne496997:0" - label_change_status_of_user: "crwdns496999:0#{username}crwdne496999:0" - label_change_view_all: "crwdns497001:0crwdne497001:0" - label_changes_details: "crwdns497003:0crwdne497003:0" - label_changeset: "crwdns497005:0crwdne497005:0" - label_changeset_id: "crwdns497007:0crwdne497007:0" - label_changeset_plural: "crwdns497009:0crwdne497009:0" - label_checked: "crwdns497011:0crwdne497011:0" - label_check_uncheck_all_in_column: "crwdns497013:0crwdne497013:0" - label_check_uncheck_all_in_row: "crwdns497015:0crwdne497015:0" - label_child_element: "crwdns497017:0crwdne497017:0" - label_chronological_order: "crwdns497019:0crwdne497019:0" - label_close_versions: "crwdns497021:0crwdne497021:0" - label_closed_work_packages: "crwdns497023:0crwdne497023:0" - label_collapse: "crwdns497025:0crwdne497025:0" - label_collapsed_click_to_show: "crwdns497027:0crwdne497027:0" - label_configuration: crwdns497029:0crwdne497029:0 - label_comment_add: "crwdns497031:0crwdne497031:0" - label_comment_added: "crwdns497033:0crwdne497033:0" - label_comment_delete: "crwdns497035:0crwdne497035:0" - label_comment_plural: "crwdns497037:0crwdne497037:0" - label_commits_per_author: "crwdns497039:0crwdne497039:0" - label_commits_per_month: "crwdns497041:0crwdne497041:0" - label_confirmation: "crwdns497043:0crwdne497043:0" - label_contains: "crwdns497045:0crwdne497045:0" - label_content: "crwdns497047:0crwdne497047:0" - label_copied: "crwdns497049:0crwdne497049:0" - label_copy_same_as_target: "crwdns497053:0crwdne497053:0" - label_copy_source: "crwdns497055:0crwdne497055:0" - label_copy_target: "crwdns497057:0crwdne497057:0" - label_copy_workflow_from: "crwdns497059:0crwdne497059:0" - label_copy_project: "crwdns497061:0crwdne497061:0" - label_core_version: "crwdns497063:0crwdne497063:0" - label_current_status: "crwdns497065:0crwdne497065:0" - label_current_version: "crwdns497067:0crwdne497067:0" - label_custom_field_add_no_type: "crwdns497069:0crwdne497069:0" - label_custom_field_new: "crwdns497071:0crwdne497071:0" - label_custom_field_plural: "crwdns497073:0crwdne497073:0" - label_custom_field_default_type: "crwdns497075:0crwdne497075:0" - label_custom_style: "crwdns497077:0crwdne497077:0" - label_database_version: "crwdns497079:0crwdne497079:0" - label_date: "crwdns497081:0crwdne497081:0" - label_date_and_time: "crwdns497083:0crwdne497083:0" - label_date_format: "crwdns855697:0crwdne855697:0" - label_date_from: "crwdns497085:0crwdne497085:0" - label_date_from_to: "crwdns497087:0%{start}crwdnd497087:0%{end}crwdne497087:0" - label_date_to: "crwdns497089:0crwdne497089:0" - label_day_plural: "crwdns497091:0crwdne497091:0" - label_default: "crwdns497093:0crwdne497093:0" - label_delete_user: "crwdns497095:0crwdne497095:0" - label_delete_project: "crwdns497097:0crwdne497097:0" - label_deleted: "crwdns497099:0crwdne497099:0" - label_deleted_custom_field: "crwdns497101:0crwdne497101:0" - label_deleted_custom_option: "crwdns497103:0crwdne497103:0" - label_missing_or_hidden_custom_option: "crwdns497105:0crwdne497105:0" - label_descending: "crwdns497107:0crwdne497107:0" - label_details: "crwdns497109:0crwdne497109:0" - label_development_roadmap: "crwdns497111:0crwdne497111:0" - label_diff: "crwdns497113:0crwdne497113:0" - label_diff_inline: "crwdns497115:0crwdne497115:0" - label_diff_side_by_side: "crwdns497117:0crwdne497117:0" - label_digital_accessibility: 'crwdns818690:0crwdne818690:0' - label_disabled: "crwdns497119:0crwdne497119:0" - label_display: "crwdns497121:0crwdne497121:0" - label_display_per_page: "crwdns497123:0%{value}crwdne497123:0" - label_display_used_statuses_only: "crwdns497125:0crwdne497125:0" - label_download: "crwdns497127:0%{count}crwdne497127:0" - label_download_plural: "crwdns497129:0%{count}crwdne497129:0" - label_downloads_abbr: "crwdns497131:0crwdne497131:0" - label_duplicated_by: "crwdns497133:0crwdne497133:0" - label_duplicate: "crwdns497135:0crwdne497135:0" - label_duplicates: "crwdns497137:0crwdne497137:0" - label_edit: "crwdns497139:0crwdne497139:0" - label_edit_x: "crwdns497141:0%{x}crwdne497141:0" - label_enable_multi_select: "crwdns497143:0crwdne497143:0" - label_enabled_project_custom_fields: 'crwdns497145:0crwdne497145:0' - label_enabled_project_modules: 'crwdns497147:0crwdne497147:0' - label_enabled_project_activities: 'crwdns497149:0crwdne497149:0' - label_end_to_end: "crwdns497151:0crwdne497151:0" - label_end_to_start: "crwdns497153:0crwdne497153:0" - label_enumeration_new: "crwdns497155:0crwdne497155:0" - label_enumeration_value: "crwdns497157:0crwdne497157:0" - label_enumerations: "crwdns497159:0crwdne497159:0" - label_enterprise: "crwdns497161:0crwdne497161:0" - label_enterprise_active_users: "crwdns497163:0%{current}crwdnd497163:0%{limit}crwdne497163:0" - label_enterprise_edition: "crwdns839447:0crwdne839447:0" - label_enterprise_support: "crwdns853647:0crwdne853647:0" - label_environment: "crwdns497167:0crwdne497167:0" - label_estimates_and_time: "crwdns497169:0crwdne497169:0" - label_equals: "crwdns497171:0crwdne497171:0" - label_everywhere: "crwdns497173:0crwdne497173:0" - label_example: "crwdns497175:0crwdne497175:0" - label_experimental: "crwdns856591:0crwdne856591:0" - label_i_am_member: "crwdns859089:0crwdne859089:0" - label_import: "crwdns497177:0crwdne497177:0" - label_export_to: "crwdns497179:0crwdne497179:0" - label_expanded_click_to_collapse: "crwdns497181:0crwdne497181:0" - label_f_hour: "crwdns497183:0%{value}crwdne497183:0" - label_f_hour_plural: "crwdns497185:0%{value}crwdne497185:0" - label_feed_plural: "crwdns497187:0crwdne497187:0" - label_feeds_access_key: "crwdns497189:0crwdne497189:0" - label_feeds_access_key_created_on: "crwdns497191:0%{value}crwdne497191:0" - label_feeds_access_key_type: "crwdns497193:0crwdne497193:0" - label_file_plural: "crwdns497195:0crwdne497195:0" - label_filter_add: "crwdns497197:0crwdne497197:0" - label_filter_plural: "crwdns497199:0crwdne497199:0" - label_filters_toggle: "crwdns497201:0crwdne497201:0" - label_float: "crwdns497203:0crwdne497203:0" - label_folder: "crwdns497205:0crwdne497205:0" - label_follows: "crwdns497207:0crwdne497207:0" - label_force_user_language_to_default: "crwdns497209:0crwdne497209:0" - label_form_configuration: "crwdns497211:0crwdne497211:0" - label_gantt: "crwdns497213:0crwdne497213:0" - label_gantt_chart: "crwdns497215:0crwdne497215:0" - label_general: "crwdns497217:0crwdne497217:0" - label_generate_key: "crwdns497219:0crwdne497219:0" - label_git_path: "crwdns497221:0crwdne497221:0" - label_greater_or_equal: "crwdns497223:0crwdne497223:0" - label_group_by: "crwdns497225:0crwdne497225:0" - label_group_new: "crwdns497227:0crwdne497227:0" - label_group: "crwdns497229:0crwdne497229:0" - label_group_named: "crwdns497231:0%{name}crwdne497231:0" - label_group_plural: "crwdns497233:0crwdne497233:0" - label_help: "crwdns497235:0crwdne497235:0" - label_here: crwdns497237:0crwdne497237:0 - label_hide: "crwdns497239:0crwdne497239:0" - label_history: "crwdns497241:0crwdne497241:0" - label_hierarchy_leaf: "crwdns497243:0crwdne497243:0" - label_home: "crwdns497245:0crwdne497245:0" - label_subject_or_id: "crwdns497247:0crwdne497247:0" - label_icalendar: "crwdns859073:0crwdne859073:0" - label_impressum: "crwdns497249:0crwdne497249:0" - label_in: "crwdns497251:0crwdne497251:0" - label_in_less_than: "crwdns497253:0crwdne497253:0" - label_in_more_than: "crwdns497255:0crwdne497255:0" - label_inactive: "crwdns497257:0crwdne497257:0" - label_incoming_emails: "crwdns497259:0crwdne497259:0" - label_includes: 'crwdns497261:0crwdne497261:0' - label_index_by_date: "crwdns497263:0crwdne497263:0" - label_index_by_title: "crwdns497265:0crwdne497265:0" - label_information: "crwdns497267:0crwdne497267:0" - label_information_plural: "crwdns497269:0crwdne497269:0" - label_installation_guides: 'crwdns830262:0crwdne830262:0' - label_integer: "crwdns497271:0crwdne497271:0" - label_internal: "crwdns497273:0crwdne497273:0" - label_introduction_video: "crwdns497275:0crwdne497275:0" - label_invite_user: "crwdns497277:0crwdne497277:0" - label_show_hide: "crwdns497279:0crwdne497279:0" - label_show_all_registered_users: "crwdns497281:0crwdne497281:0" - label_journal: "crwdns497283:0crwdne497283:0" - label_journal_diff: "crwdns497285:0crwdne497285:0" - label_language: "crwdns497287:0crwdne497287:0" - label_languages: "crwdns854501:0crwdne854501:0" - label_jump_to_a_project: "crwdns497289:0crwdne497289:0" - label_keyword_plural: 'crwdns497291:0crwdne497291:0' - label_language_based: "crwdns497293:0crwdne497293:0" - label_last_activity: "crwdns497295:0crwdne497295:0" - label_last_change_on: "crwdns497297:0crwdne497297:0" - label_last_changes: "crwdns497299:0%{count}crwdne497299:0" - label_last_login: "crwdns497301:0crwdne497301:0" - label_last_month: "crwdns497303:0crwdne497303:0" - label_last_n_days: "crwdns497305:0%{count}crwdne497305:0" - label_last_week: "crwdns497307:0crwdne497307:0" - label_latest_revision: "crwdns497309:0crwdne497309:0" - label_latest_revision_plural: "crwdns497311:0crwdne497311:0" - label_ldap_authentication: "crwdns497313:0crwdne497313:0" - label_less_or_equal: "crwdns497315:0crwdne497315:0" - label_less_than_ago: "crwdns497317:0crwdne497317:0" - label_list: "crwdns497319:0crwdne497319:0" - label_loading: "crwdns497321:0crwdne497321:0" - label_lock_user: 'crwdns497323:0crwdne497323:0' - label_logged_as: "crwdns497325:0crwdne497325:0" - label_login: "crwdns497327:0crwdne497327:0" - label_custom_logo: "crwdns497329:0crwdne497329:0" - label_custom_export_logo: "crwdns857281:0crwdne857281:0" - label_custom_favicon: "crwdns497331:0crwdne497331:0" - label_custom_touch_icon: "crwdns497333:0crwdne497333:0" - label_logout: "crwdns497335:0crwdne497335:0" - label_main_menu: "crwdns497337:0crwdne497337:0" - label_manage_groups: "crwdns497339:0crwdne497339:0" - label_managed_repositories_vendor: "crwdns497341:0%{vendor}crwdne497341:0" - label_max_size: "crwdns497343:0crwdne497343:0" - label_me: "crwdns497345:0crwdne497345:0" - label_member_new: "crwdns497347:0crwdne497347:0" - label_member_all_admin: "crwdns497349:0crwdne497349:0" - label_member_plural: "crwdns497351:0crwdne497351:0" - lable_membership_added: 'crwdns497353:0crwdne497353:0' - lable_membership_updated: 'crwdns497355:0crwdne497355:0' - label_menu_badge: - pre_alpha: 'crwdns497357:0crwdne497357:0' - alpha: 'crwdns497359:0crwdne497359:0' - beta: 'crwdns497361:0crwdne497361:0' - label_menu_item_name: "crwdns497363:0crwdne497363:0" - label_message: "crwdns497365:0crwdne497365:0" - label_message_last: "crwdns497367:0crwdne497367:0" - label_message_new: "crwdns497369:0crwdne497369:0" - label_message_plural: "crwdns497371:0crwdne497371:0" - label_message_posted: "crwdns497373:0crwdne497373:0" - label_min_max_length: "crwdns497375:0crwdne497375:0" - label_minute_plural: "crwdns497377:0crwdne497377:0" - label_missing_api_access_key: "crwdns497379:0crwdne497379:0" - label_missing_feeds_access_key: "crwdns497381:0crwdne497381:0" - label_modification: "crwdns497383:0%{count}crwdne497383:0" - label_modified: "crwdns497385:0crwdne497385:0" - label_module_plural: "crwdns497387:0crwdne497387:0" - label_modules: "crwdns497389:0crwdne497389:0" - label_months_from: "crwdns497391:0crwdne497391:0" - label_more: "crwdns497393:0crwdne497393:0" - label_more_than_ago: "crwdns497395:0crwdne497395:0" - label_move_work_package: "crwdns497397:0crwdne497397:0" - label_my_account: "crwdns497399:0crwdne497399:0" - label_my_activity: "crwdns855713:0crwdne855713:0" - label_my_account_data: "crwdns497401:0crwdne497401:0" - label_my_projects: "crwdns497403:0crwdne497403:0" - label_my_queries: "crwdns497405:0crwdne497405:0" - label_name: "crwdns497407:0crwdne497407:0" - label_never: "crwdns497409:0crwdne497409:0" - label_new: "crwdns497411:0crwdne497411:0" - label_new_features: "crwdns497413:0crwdne497413:0" - label_new_statuses_allowed: "crwdns497415:0crwdne497415:0" - label_news_singular: "crwdns497417:0crwdne497417:0" - label_news_added: "crwdns497419:0crwdne497419:0" - label_news_comment_added: "crwdns497421:0crwdne497421:0" - label_news_latest: "crwdns497423:0crwdne497423:0" - label_news_new: "crwdns497425:0crwdne497425:0" - label_news_edit: "crwdns497427:0crwdne497427:0" - label_news_plural: "crwdns497429:0crwdne497429:0" - label_news_view_all: "crwdns497431:0crwdne497431:0" - label_next: "crwdns497433:0crwdne497433:0" - label_next_week: "crwdns497435:0crwdne497435:0" - label_no_change_option: "crwdns497437:0crwdne497437:0" - label_no_data: "crwdns497439:0crwdne497439:0" - label_no_parent_page: "crwdns497441:0crwdne497441:0" - label_nothing_display: "crwdns497443:0crwdne497443:0" - label_nobody: "crwdns497445:0crwdne497445:0" - label_not_found: 'crwdns497447:0crwdne497447:0' - label_none: "crwdns497449:0crwdne497449:0" - label_none_parentheses: "crwdns497451:0crwdne497451:0" - label_not_contains: "crwdns497453:0crwdne497453:0" - label_not_equals: "crwdns497455:0crwdne497455:0" - label_on: "crwdns497457:0crwdne497457:0" - label_operator_all: "crwdns845727:0crwdne845727:0" - label_operator_none: "crwdns845729:0crwdne845729:0" - label_operator_equals_or: "crwdns845731:0crwdne845731:0" - label_operator_equals_all: "crwdns845733:0crwdne845733:0" - label_open_menu: "crwdns497459:0crwdne497459:0" - label_open_work_packages: "crwdns497461:0crwdne497461:0" - label_open_work_packages_plural: "crwdns497463:0crwdne497463:0" - label_openproject_website: "crwdns497465:0crwdne497465:0" - label_optional_description: "crwdns497467:0crwdne497467:0" - label_options: "crwdns497469:0crwdne497469:0" - label_other: "crwdns497471:0crwdne497471:0" - label_overall_activity: "crwdns497473:0crwdne497473:0" - label_overview: "crwdns497475:0crwdne497475:0" - label_page_title: "crwdns497477:0crwdne497477:0" - label_part_of: "crwdns497479:0crwdne497479:0" - label_password_lost: "crwdns497481:0crwdne497481:0" - label_password_rule_lowercase: "crwdns497483:0crwdne497483:0" - label_password_rule_numeric: "crwdns497485:0crwdne497485:0" - label_password_rule_special: "crwdns497487:0crwdne497487:0" - label_password_rule_uppercase: "crwdns497489:0crwdne497489:0" - label_path_encoding: "crwdns497491:0crwdne497491:0" - label_per_page: "crwdns497495:0crwdne497495:0" - label_people: "crwdns497497:0crwdne497497:0" - label_permissions: "crwdns497499:0crwdne497499:0" - label_permissions_report: "crwdns497501:0crwdne497501:0" - label_personalize_page: "crwdns497503:0crwdne497503:0" - label_placeholder_user: "crwdns497505:0crwdne497505:0" - label_placeholder_user_new: "crwdns497507:0crwdne497507:0" - label_placeholder_user_plural: "crwdns497509:0crwdne497509:0" - label_planning: "crwdns497511:0crwdne497511:0" - label_please_login: "crwdns497513:0crwdne497513:0" - label_plugins: "crwdns497515:0crwdne497515:0" - label_modules_and_plugins: "crwdns497517:0crwdne497517:0" - label_precedes: "crwdns497519:0crwdne497519:0" - label_preferences: "crwdns497521:0crwdne497521:0" - label_preview: "crwdns497523:0crwdne497523:0" - label_previous: "crwdns497525:0crwdne497525:0" - label_previous_week: "crwdns497527:0crwdne497527:0" - label_principal_invite_via_email: "crwdns497529:0crwdne497529:0" - label_principal_search: "crwdns497531:0crwdne497531:0" - label_privacy_policy: "crwdns497533:0crwdne497533:0" - label_product_version: "crwdns497535:0crwdne497535:0" - label_profile: "crwdns497539:0crwdne497539:0" - label_project_activity: "crwdns844365:0crwdne844365:0" - label_project_attribute_plural: "crwdns842633:0crwdne842633:0" - label_project_count: "crwdns497543:0crwdne497543:0" - label_project_copy_notifications: "crwdns497545:0crwdne497545:0" - label_project_latest: "crwdns497547:0crwdne497547:0" - label_project_default_type: "crwdns497549:0crwdne497549:0" - label_project_hierarchy: "crwdns497551:0crwdne497551:0" - label_project_new: "crwdns497553:0crwdne497553:0" - label_project_plural: "crwdns497555:0crwdne497555:0" - label_project_settings: "crwdns497557:0crwdne497557:0" - label_project_storage_plural: "crwdns830180:0crwdne830180:0" - label_projects_storage_information: "crwdns497559:0%{count}crwdnd497559:0%{storage}crwdne497559:0" - label_project_view_all: "crwdns497561:0crwdne497561:0" - label_project_show_details: "crwdns497563:0crwdne497563:0" - label_project_hide_details: "crwdns497565:0crwdne497565:0" - label_public_projects: "crwdns497567:0crwdne497567:0" - label_query_new: "crwdns497569:0crwdne497569:0" - label_query_plural: "crwdns497571:0crwdne497571:0" - label_read: "crwdns497573:0crwdne497573:0" - label_register: "crwdns497575:0crwdne497575:0" - label_register_with_developer: "crwdns497577:0crwdne497577:0" - label_registered_on: "crwdns497579:0crwdne497579:0" - label_registration_activation_by_email: "crwdns497581:0crwdne497581:0" - label_registration_automatic_activation: "crwdns497583:0crwdne497583:0" - label_registration_manual_activation: "crwdns497585:0crwdne497585:0" - label_related_work_packages: "crwdns497587:0crwdne497587:0" - label_relates: "crwdns497589:0crwdne497589:0" - label_relates_to: "crwdns497591:0crwdne497591:0" - label_relation_delete: "crwdns497593:0crwdne497593:0" - label_relation_new: "crwdns497595:0crwdne497595:0" - label_release_notes: "crwdns497597:0crwdne497597:0" - label_remove_columns: "crwdns497599:0crwdne497599:0" - label_renamed: "crwdns497601:0crwdne497601:0" - label_reply_plural: "crwdns497603:0crwdne497603:0" - label_report: "crwdns497605:0crwdne497605:0" - label_report_bug: "crwdns497607:0crwdne497607:0" - label_report_plural: "crwdns497609:0crwdne497609:0" - label_reported_work_packages: "crwdns497611:0crwdne497611:0" - label_reporting: "crwdns497613:0crwdne497613:0" - label_reporting_plural: "crwdns497615:0crwdne497615:0" - label_repository: "crwdns497617:0crwdne497617:0" - label_repository_root: "crwdns497619:0crwdne497619:0" - label_repository_plural: "crwdns497621:0crwdne497621:0" - label_required: 'crwdns497623:0crwdne497623:0' - label_requires: 'crwdns497625:0crwdne497625:0' - label_result_plural: "crwdns497627:0crwdne497627:0" - label_reverse_chronological_order: "crwdns497629:0crwdne497629:0" - label_revision: "crwdns497631:0crwdne497631:0" - label_revision_id: "crwdns497633:0%{value}crwdne497633:0" - label_revision_plural: "crwdns497635:0crwdne497635:0" - label_roadmap: "crwdns497637:0crwdne497637:0" - label_roadmap_edit: "crwdns497639:0%{name}crwdne497639:0" - label_roadmap_due_in: "crwdns497641:0%{value}crwdne497641:0" - label_roadmap_no_work_packages: "crwdns497643:0crwdne497643:0" - label_roadmap_overdue: "crwdns497645:0%{value}crwdne497645:0" - label_role_and_permissions: "crwdns497647:0crwdne497647:0" - label_role_new: "crwdns497649:0crwdne497649:0" - label_role_plural: "crwdns497651:0crwdne497651:0" - label_role_search: "crwdns497653:0crwdne497653:0" - label_scm: "crwdns497655:0crwdne497655:0" - label_search: "crwdns497657:0crwdne497657:0" - label_send_information: "crwdns853645:0crwdne853645:0" - label_send_test_email: "crwdns497661:0crwdne497661:0" - label_setting_plural: "crwdns497663:0crwdne497663:0" - label_system_settings: "crwdns497665:0crwdne497665:0" - label_show_completed_versions: "crwdns497667:0crwdne497667:0" - label_sort: "crwdns497669:0crwdne497669:0" - label_sort_by: "crwdns497671:0%{value}crwdne497671:0" - label_sorted_by: "crwdns497673:0%{value}crwdne497673:0" - label_sort_higher: "crwdns497675:0crwdne497675:0" - label_sort_highest: "crwdns497677:0crwdne497677:0" - label_sort_lower: "crwdns497679:0crwdne497679:0" - label_sort_lowest: "crwdns497681:0crwdne497681:0" - label_spent_time: "crwdns497683:0crwdne497683:0" - label_start_to_end: "crwdns497685:0crwdne497685:0" - label_start_to_start: "crwdns497687:0crwdne497687:0" - label_statistics: "crwdns497689:0crwdne497689:0" - label_status: "crwdns497691:0crwdne497691:0" - label_stay_logged_in: "crwdns497693:0crwdne497693:0" - label_storage_free_space: "crwdns497695:0crwdne497695:0" - label_storage_used_space: "crwdns497697:0crwdne497697:0" - label_storage_group: "crwdns497699:0%{identifier}crwdne497699:0" - label_storage_for: "crwdns497701:0crwdne497701:0" - label_string: "crwdns497703:0crwdne497703:0" - label_subproject: "crwdns497705:0crwdne497705:0" - label_subproject_new: "crwdns497707:0crwdne497707:0" - label_subproject_plural: "crwdns497709:0crwdne497709:0" - label_subtask_plural: "crwdns497711:0crwdne497711:0" - label_summary: "crwdns497713:0crwdne497713:0" - label_system: "crwdns497715:0crwdne497715:0" - label_system_storage: "crwdns497717:0crwdne497717:0" - label_table_of_contents: "crwdns497719:0crwdne497719:0" - label_tag: "crwdns497721:0crwdne497721:0" - label_text: "crwdns497723:0crwdne497723:0" - label_this_month: "crwdns497725:0crwdne497725:0" - label_this_week: "crwdns497727:0crwdne497727:0" - label_this_year: "crwdns497729:0crwdne497729:0" - label_time_entry_plural: "crwdns497731:0crwdne497731:0" - label_projects_menu: "crwdns497733:0crwdne497733:0" - label_today: "crwdns497735:0crwdne497735:0" - label_top_menu: "crwdns497737:0crwdne497737:0" - label_topic_plural: "crwdns497739:0crwdne497739:0" - label_total: "crwdns497741:0crwdne497741:0" - label_type_new: "crwdns497743:0crwdne497743:0" - label_type_plural: "crwdns497745:0crwdne497745:0" - label_ui: "crwdns497747:0crwdne497747:0" - label_update_work_package_done_ratios: "crwdns497749:0crwdne497749:0" - label_updated_time: "crwdns497751:0%{value}crwdne497751:0" - label_updated_time_at: "crwdns497753:0%{author}crwdnd497753:0%{age}crwdne497753:0" - label_updated_time_by: "crwdns497755:0%{author}crwdnd497755:0%{age}crwdne497755:0" - label_upgrade_guides: 'crwdns497757:0crwdne497757:0' - label_used_by: "crwdns497759:0crwdne497759:0" - label_used_by_types: "crwdns497761:0crwdne497761:0" - label_used_in_projects: "crwdns497763:0crwdne497763:0" - label_user: "crwdns497765:0crwdne497765:0" - label_user_and_permission: "crwdns808264:0crwdne808264:0" - label_user_named: "crwdns497769:0%{name}crwdne497769:0" - label_user_activity: "crwdns497771:0%{value}crwdne497771:0" - label_user_anonymous: "crwdns497773:0crwdne497773:0" - label_user_mail_option_all: "crwdns497775:0crwdne497775:0" - label_user_mail_option_none: "crwdns497777:0crwdne497777:0" - label_user_mail_option_only_assigned: "crwdns497779:0crwdne497779:0" - label_user_mail_option_only_my_events: "crwdns497781:0crwdne497781:0" - label_user_mail_option_only_owner: "crwdns497783:0crwdne497783:0" - label_user_mail_option_selected: "crwdns497785:0crwdne497785:0" - label_user_new: "crwdns497787:0crwdne497787:0" - label_user_plural: "crwdns497789:0crwdne497789:0" - label_user_search: "crwdns497791:0crwdne497791:0" - label_user_settings: "crwdns497793:0crwdne497793:0" - label_users_settings: "crwdns854503:0crwdne854503:0" - label_version_new: "crwdns497795:0crwdne497795:0" - label_version_plural: "crwdns497797:0crwdne497797:0" - label_version_sharing_descendants: "crwdns497799:0crwdne497799:0" - label_version_sharing_hierarchy: "crwdns497801:0crwdne497801:0" - label_version_sharing_none: "crwdns497803:0crwdne497803:0" - label_version_sharing_system: "crwdns497805:0crwdne497805:0" - label_version_sharing_tree: "crwdns497807:0crwdne497807:0" - label_videos: "crwdns497809:0crwdne497809:0" - label_view_all_revisions: "crwdns497811:0crwdne497811:0" - label_view_diff: "crwdns497813:0crwdne497813:0" - label_view_revisions: "crwdns497815:0crwdne497815:0" - label_watched_work_packages: "crwdns497817:0crwdne497817:0" - label_what_is_this: "crwdns497819:0crwdne497819:0" - label_week: "crwdns497821:0crwdne497821:0" - label_wiki_content_added: "crwdns497823:0crwdne497823:0" - label_wiki_content_updated: "crwdns497825:0crwdne497825:0" - label_wiki_toc: "crwdns497827:0crwdne497827:0" - label_wiki_toc_empty: "crwdns497829:0crwdne497829:0" - label_wiki_dont_show_menu_item: "crwdns497831:0crwdne497831:0" - label_wiki_edit: "crwdns497833:0crwdne497833:0" - label_wiki_edit_plural: "crwdns497835:0crwdne497835:0" - label_wiki_page_attachments: "crwdns497837:0crwdne497837:0" - label_wiki_page_id: "crwdns497839:0crwdne497839:0" - label_wiki_navigation: "crwdns497841:0crwdne497841:0" - label_wiki_page: "crwdns497843:0crwdne497843:0" - label_wiki_page_plural: "crwdns497845:0crwdne497845:0" - label_wiki_show_index_page_link: "crwdns497847:0crwdne497847:0" - label_wiki_show_menu_item: "crwdns497849:0crwdne497849:0" - label_wiki_show_new_page_link: "crwdns497851:0crwdne497851:0" - label_wiki_show_submenu_item: "crwdns497853:0crwdne497853:0" - label_wiki_start: "crwdns497855:0crwdne497855:0" - label_work_package: "crwdns497857:0crwdne497857:0" - label_work_package_attachments: "crwdns497859:0crwdne497859:0" - label_work_package_category_new: "crwdns497861:0crwdne497861:0" - label_work_package_category_plural: "crwdns497863:0crwdne497863:0" - label_work_package_hierarchy: "crwdns497865:0crwdne497865:0" - label_work_package_new: "crwdns497867:0crwdne497867:0" - label_work_package_edit: "crwdns497869:0%{name}crwdne497869:0" - label_work_package_plural: "crwdns497871:0crwdne497871:0" - label_work_package_status: "crwdns497873:0crwdne497873:0" - label_work_package_status_new: "crwdns497875:0crwdne497875:0" - label_work_package_status_plural: "crwdns497877:0crwdne497877:0" - label_work_package_types: "crwdns497879:0crwdne497879:0" - label_work_package_tracking: "crwdns497881:0crwdne497881:0" - label_work_package_view_all: "crwdns497883:0crwdne497883:0" - label_workflow: "crwdns497885:0crwdne497885:0" - label_workflow_plural: "crwdns497887:0crwdne497887:0" - label_workflow_summary: "crwdns497889:0crwdne497889:0" - label_working_days: "crwdns833296:0crwdne833296:0" - label_x_closed_work_packages_abbr: - one: "crwdns497893:0crwdne497893:0" - other: "crwdns497895:0%{count}crwdne497895:0" - zero: "crwdns497897:0crwdne497897:0" - label_x_comments: - one: "crwdns497903:0crwdne497903:0" - other: "crwdns497923:0%{count}crwdne497923:0" - zero: "crwdns497927:0crwdne497927:0" - label_x_open_work_packages_abbr: - one: "crwdns497931:0crwdne497931:0" - other: "crwdns497933:0%{count}crwdne497933:0" - zero: "crwdns497937:0crwdne497937:0" - label_x_projects: - one: "crwdns497941:0crwdne497941:0" - other: "crwdns497947:0%{count}crwdne497947:0" - zero: "crwdns497949:0crwdne497949:0" - label_yesterday: "crwdns497953:0crwdne497953:0" - label_role_type: "crwdns497955:0crwdne497955:0" - label_member_role: "crwdns497961:0crwdne497961:0" - label_global_role: "crwdns497965:0crwdne497965:0" - label_not_changeable: "crwdns497971:0crwdne497971:0" - label_global: "crwdns497973:0crwdne497973:0" - auth_source: - using_abstract_auth_source: "crwdns497975:0crwdne497975:0" - ldap_error: "crwdns497979:0%{error_message}crwdne497979:0" - ldap_auth_failed: "crwdns497983:0crwdne497983:0" - macro_execution_error: "crwdns497987:0%{macro_name}crwdne497987:0" - macro_unavailable: "crwdns497993:0%{macro_name}crwdne497993:0" - macros: - placeholder: 'crwdns497997:0[Placeholder]crwdnd497997:0%{macro_name}crwdne497997:0' - errors: - missing_or_invalid_parameter: 'crwdns498003:0crwdne498003:0' - legacy_warning: - timeline: 'crwdns498007:0crwdne498007:0' - include_wiki_page: - removed: 'crwdns498013:0crwdne498013:0' - wiki_child_pages: - errors: - page_not_found: "crwdns498017:0%{name}crwdne498017:0" - create_work_package_link: - errors: - no_project_context: 'crwdns498019:0crwdne498019:0' - invalid_type: "crwdns498021:0%{type}crwdnd498021:0%{project}crwdne498021:0" - link_name: 'crwdns498025:0crwdne498025:0' - link_name_type: 'crwdns498027:0%{type_name}crwdne498027:0' - mail: - actions: 'crwdns498029:0crwdne498029:0' - digests: - including_mention_singular: 'crwdns498033:0crwdne498033:0' - including_mention_plural: 'crwdns498035:0%{number_mentioned}crwdne498035:0' - unread_notification_singular: 'crwdns498037:0crwdne498037:0' - unread_notification_plural: 'crwdns498041:0%{number_unread}crwdne498041:0' - you_have: 'crwdns498043:0crwdne498043:0' - logo_alt_text: 'crwdns498047:0crwdne498047:0' - mention: - subject: "crwdns498049:0%{user_name}crwdnd498049:0%{id}crwdnd498049:0%{subject}crwdne498049:0" - notification: - center: 'crwdns498053:0crwdne498053:0' - see_in_center: 'crwdns498055:0crwdne498055:0' - settings: 'crwdns498057:0crwdne498057:0' - salutation: 'crwdns833368:0%{user}crwdne833368:0' - work_packages: - created_at: 'crwdns498063:0%{timestamp}crwdnd498063:0%{user}crwdne498063:0' - login_to_see_all: 'crwdns498067:0crwdne498067:0' - mentioned: 'crwdns498071:0crwdne498071:0' - mentioned_by: 'crwdns498075:0%{user}crwdne498075:0' - more_to_see: - one: 'crwdns498079:1crwdne498079:1' - other: 'crwdns498079:5%{count}crwdne498079:5' - open_in_browser: 'crwdns858079:0crwdne858079:0' - reason: - watched: 'crwdns498081:0crwdne498081:0' - assigned: 'crwdns498083:0crwdne498083:0' - responsible: 'crwdns498085:0crwdne498085:0' - mentioned: 'crwdns498089:0crwdne498089:0' - subscribed: 'crwdns498091:0crwdne498091:0' - prefix: 'crwdns498095:0%{reason}crwdne498095:0' - date_alert_start_date: 'crwdns838393:0crwdne838393:0' - date_alert_due_date: 'crwdns838395:0crwdne838395:0' - see_all: 'crwdns498097:0crwdne498097:0' - updated_at: 'crwdns498099:0%{timestamp}crwdnd498099:0%{user}crwdne498099:0' - mail_body_account_activation_request: "crwdns498103:0%{value}crwdne498103:0" - mail_body_account_information: "crwdns498105:0crwdne498105:0" - mail_body_account_information_external: "crwdns498107:0%{value}crwdne498107:0" - mail_body_backup_ready: "crwdns498111:0crwdne498111:0" - mail_body_backup_token_reset_admin_info: crwdns498113:0%{user}crwdne498113:0 - mail_body_backup_token_reset_user_info: crwdns498115:0crwdne498115:0 - mail_body_backup_token_info: crwdns498119:0crwdne498119:0 - mail_body_backup_waiting_period: crwdns498121:0%{hours}crwdne498121:0 - mail_body_backup_token_warning: crwdns498125:0crwdne498125:0 - mail_body_incoming_email_error: crwdns816744:0crwdne816744:0 - mail_body_incoming_email_error_in_reply_to: "crwdns816746:0%{received_at}crwdnd816746:0%{from_email}crwdne816746:0" - mail_body_incoming_email_error_logs: "crwdns816748:0crwdne816748:0" - mail_body_lost_password: "crwdns498129:0crwdne498129:0" - mail_body_register: "crwdns762262:0%{app_title}crwdne762262:0" - mail_body_register_header_title: "crwdns498141:0crwdne498141:0" - mail_body_register_user: "crwdns498143:0%{name}crwdne498143:0" - mail_body_register_links_html: | - crwdns498149:0%{youtube_link}crwdnd498149:0%{webinar_link}crwdnd498149:0%{get_started_link}crwdnd498149:0%{documentation_link}crwdne498149:0 - mail_body_register_closing: "crwdns498155:0crwdne498155:0" - mail_body_register_ending: "crwdns498159:0crwdne498159:0" - mail_body_reminder: "crwdns498163:0%{count}crwdnd498163:0%{days}crwdne498163:0" - mail_body_group_reminder: "crwdns498165:0%{count}crwdnd498165:0%{group}crwdnd498165:0%{days}crwdne498165:0" - mail_body_wiki_content_added: "crwdns498169:0%{id}crwdnd498169:0%{author}crwdne498169:0" - mail_body_wiki_content_updated: "crwdns498175:0%{id}crwdnd498175:0%{author}crwdne498175:0" - mail_subject_account_activation_request: "crwdns498177:0%{value}crwdne498177:0" - mail_subject_backup_ready: "crwdns498179:0crwdne498179:0" - mail_subject_backup_token_reset: "crwdns498183:0crwdne498183:0" - mail_subject_incoming_email_error: "crwdns816750:0crwdne816750:0" - mail_subject_lost_password: "crwdns498185:0%{value}crwdne498185:0" - mail_subject_register: "crwdns498187:0%{value}crwdne498187:0" - mail_subject_wiki_content_added: "crwdns498197:0%{id}crwdne498197:0" - mail_subject_wiki_content_updated: "crwdns498199:0%{id}crwdne498199:0" - mail_member_added_project: - subject: "crwdns498201:0%{project}crwdne498201:0" - body: - added_by: - without_message: "crwdns498205:0%{user}crwdnd498205:0%{project}crwdne498205:0" - with_message: "crwdns498209:0%{user}crwdnd498209:0%{project}crwdne498209:0" - roles: "crwdns498213:0crwdne498213:0" - mail_member_updated_project: - subject: "crwdns498219:0%{project}crwdne498219:0" - body: - updated_by: - without_message: "crwdns498225:0%{user}crwdnd498225:0%{project}crwdne498225:0" - with_message: "crwdns498229:0%{user}crwdnd498229:0%{project}crwdne498229:0" - roles: "crwdns498233:0crwdne498233:0" - mail_member_updated_global: - subject: "crwdns498235:0crwdne498235:0" - body: - updated_by: - without_message: "crwdns498237:0%{user}crwdne498237:0" - with_message: "crwdns498239:0%{user}crwdne498239:0" - roles: "crwdns498241:0crwdne498241:0" - mail_user_activation_limit_reached: - subject: crwdns498245:0crwdne498245:0 - message: | - crwdns498249:0%{email}crwdnd498249:0%{host}crwdne498249:0 - steps: - label: "crwdns498255:0crwdne498255:0" - a: "crwdns498259:0[here]crwdne498259:0" #here turned into a link - b: "crwdns498265:0[here]crwdne498265:0" #here turned into a link - more_actions: "crwdns498273:0crwdne498273:0" - noscript_description: "crwdns498279:0crwdne498279:0" - noscript_heading: "crwdns498283:0crwdne498283:0" - noscript_learn_more: "crwdns498291:0crwdne498291:0" - notice_accessibility_mode: crwdns498295:0crwdne498295:0 - notice_account_activated: "crwdns498299:0crwdne498299:0" - notice_account_already_activated: crwdns498303:0crwdne498303:0 - notice_account_invalid_token: crwdns498309:0crwdne498309:0 - notice_account_invalid_credentials: "crwdns498315:0crwdne498315:0" - notice_account_invalid_credentials_or_blocked: "crwdns498323:0crwdne498323:0" - notice_account_lost_email_sent: "crwdns498337:0crwdne498337:0" - notice_account_new_password_forced: "crwdns498341:0crwdne498341:0" - notice_account_password_expired: "crwdns498345:0%{days}crwdne498345:0" - notice_account_password_updated: "crwdns498347:0crwdne498347:0" - notice_account_pending: "crwdns498349:0crwdne498349:0" - notice_account_register_done: "crwdns498353:0crwdne498353:0" - notice_account_unknown_email: "crwdns498357:0crwdne498357:0" - notice_account_update_failed: "crwdns498363:0crwdne498363:0" - notice_account_updated: "crwdns498369:0crwdne498369:0" - notice_account_other_session_expired: "crwdns498377:0crwdne498377:0" - notice_account_wrong_password: "crwdns498383:0crwdne498383:0" - notice_account_registered_and_logged_in: "crwdns498389:0crwdne498389:0" - notice_activation_failed: crwdns498393:0crwdne498393:0 - notice_auth_stage_verification_error: "crwdns498399:0%{stage}crwdne498399:0" - notice_auth_stage_wrong_stage: "crwdns498403:0%{expected}crwdnd498403:0%{actual}crwdne498403:0" - notice_auth_stage_error: "crwdns498409:0%{stage}crwdne498409:0" - notice_can_t_change_password: "crwdns498413:0crwdne498413:0" - notice_custom_options_deleted: "crwdns498419:0%{option_value}crwdnd498419:0%{num_deleted}crwdne498419:0" - notice_email_error: "crwdns498421:0%{value}crwdne498421:0" - notice_email_sent: "crwdns498423:0%{value}crwdne498423:0" - notice_failed_to_save_work_packages: "crwdns498425:0%{count}crwdnd498425:0%{total}crwdnd498425:0%{ids}crwdne498425:0" - notice_failed_to_save_members: "crwdns498427:0%{errors}crwdne498427:0" - notice_deletion_scheduled: "crwdns498429:0crwdne498429:0" - notice_file_not_found: "crwdns498431:0crwdne498431:0" - notice_forced_logout: "crwdns498433:0%{ttl_time}crwdne498433:0" - notice_internal_server_error: "crwdns498435:0%{app_title}crwdne498435:0" - notice_work_package_done_ratios_updated: "crwdns498437:0crwdne498437:0" - notice_locking_conflict: "crwdns498439:0crwdne498439:0" - notice_locking_conflict_additional_information: "crwdns498441:0%{users}crwdne498441:0" - notice_locking_conflict_reload_page: "crwdns498443:0crwdne498443:0" - notice_member_added: crwdns498445:0%{name}crwdne498445:0 - notice_members_added: crwdns498447:0%{number}crwdne498447:0 - notice_member_removed: "crwdns498449:0%{user}crwdne498449:0" - notice_member_deleted: "crwdns498451:0%{user}crwdne498451:0" - notice_no_principals_found: "crwdns498453:0crwdne498453:0" - notice_bad_request: "crwdns498455:0crwdne498455:0" - notice_not_authorized: "crwdns498457:0crwdne498457:0" - notice_not_authorized_archived_project: "crwdns498459:0crwdne498459:0" - notice_password_confirmation_failed: "crwdns498461:0crwdne498461:0" - notice_principals_found_multiple: "crwdns498463:0%{number}crwdne498463:0" - notice_principals_found_single: "crwdns498465:0crwdne498465:0" - notice_project_not_deleted: "crwdns498467:0crwdne498467:0" - notice_successful_connection: "crwdns498469:0crwdne498469:0" - notice_successful_create: "crwdns498471:0crwdne498471:0" - notice_successful_delete: "crwdns498473:0crwdne498473:0" - notice_successful_update: "crwdns498475:0crwdne498475:0" - notice_successful_update_custom_fields_added_to_project: | - crwdns823068:0%{url}crwdne823068:0 - notice_successful_update_custom_fields_added_to_type: | - crwdns823070:0crwdne823070:0 - notice_to_many_principals_to_display: "crwdns498477:0crwdne498477:0" - notice_user_missing_authentication_method: crwdns498479:0crwdne498479:0 - notice_user_invitation_resent: crwdns498481:0%{email}crwdne498481:0 - present_access_key_value: "crwdns498483:0%{key_name}crwdnd498483:0%{value}crwdne498483:0" - notice_automatic_set_of_standard_type: "crwdns498485:0crwdne498485:0" - notice_logged_out: "crwdns498487:0crwdne498487:0" - notice_wont_delete_auth_source: crwdns498489:0crwdne498489:0 - notice_project_cannot_update_custom_fields: "crwdns498491:0%{errors}crwdne498491:0" - notice_attachment_migration_wiki_page: > - crwdns498493:0%{container_type}crwdnd498493:0%{container_name}crwdne498493:0 - #Default format for numbers - number: - format: - delimiter: "crwdns498495:0crwdne498495:0" - precision: 0 - separator: "crwdns498499:0crwdne498499:0" - human: - format: - delimiter: "crwdns498501:0crwdne498501:0" - precision: 0 - storage_units: - format: "crwdns498505:0%ncrwdnd498505:0%ucrwdne498505:0" - units: - byte: - one: "crwdns498507:1crwdne498507:1" - other: "crwdns498507:5crwdne498507:5" - gb: "crwdns498509:0crwdne498509:0" - kb: "crwdns498511:0crwdne498511:0" - mb: "crwdns498513:0crwdne498513:0" - tb: "crwdns498515:0crwdne498515:0" - onboarding: - heading_getting_started: "crwdns498517:0crwdne498517:0" - text_getting_started_description: "crwdns834142:0crwdne834142:0" - welcome: "crwdns762264:0%{app_title}crwdne762264:0" - select_language: "crwdns498525:0crwdne498525:0" - permission_add_work_package_notes: "crwdns498527:0crwdne498527:0" - permission_add_work_packages: "crwdns498529:0crwdne498529:0" - permission_add_messages: "crwdns498531:0crwdne498531:0" - permission_add_project: "crwdns498533:0crwdne498533:0" - permission_archive_project: "crwdns843931:0crwdne843931:0" - permission_manage_user: "crwdns498535:0crwdne498535:0" - permission_manage_placeholder_user: "crwdns498537:0crwdne498537:0" - permission_add_subprojects: "crwdns498539:0crwdne498539:0" - permission_add_work_package_watchers: "crwdns498541:0crwdne498541:0" - permission_assign_versions: "crwdns498543:0crwdne498543:0" - permission_browse_repository: "crwdns498545:0crwdne498545:0" - permission_change_wiki_parent_page: "crwdns498547:0crwdne498547:0" - permission_comment_news: "crwdns498549:0crwdne498549:0" - permission_commit_access: "crwdns498551:0crwdne498551:0" - permission_copy_projects: "crwdns498553:0crwdne498553:0" - permission_create_backup: "crwdns809948:0crwdne809948:0" - permission_delete_work_package_watchers: "crwdns498555:0crwdne498555:0" - permission_delete_work_packages: "crwdns498557:0crwdne498557:0" - permission_delete_messages: "crwdns498559:0crwdne498559:0" - permission_delete_own_messages: "crwdns498561:0crwdne498561:0" - permission_delete_reportings: "crwdns498563:0crwdne498563:0" - permission_delete_timelines: "crwdns498565:0crwdne498565:0" - permission_delete_wiki_pages: "crwdns498567:0crwdne498567:0" - permission_delete_wiki_pages_attachments: "crwdns498569:0crwdne498569:0" - permission_edit_work_package_notes: "crwdns498571:0crwdne498571:0" - permission_edit_work_packages: "crwdns498573:0crwdne498573:0" - permission_edit_messages: "crwdns498575:0crwdne498575:0" - permission_edit_own_work_package_notes: "crwdns498577:0crwdne498577:0" - permission_edit_own_messages: "crwdns498579:0crwdne498579:0" - permission_edit_own_time_entries: "crwdns498581:0crwdne498581:0" - permission_edit_project: "crwdns498583:0crwdne498583:0" - permission_edit_reportings: "crwdns498585:0crwdne498585:0" - permission_edit_time_entries: "crwdns825426:0crwdne825426:0" - permission_edit_timelines: "crwdns498589:0crwdne498589:0" - permission_edit_wiki_pages: "crwdns498591:0crwdne498591:0" - permission_export_work_packages: "crwdns498593:0crwdne498593:0" - permission_export_wiki_pages: "crwdns498595:0crwdne498595:0" - permission_list_attachments: "crwdns498597:0crwdne498597:0" - permission_log_own_time: "crwdns825428:0crwdne825428:0" - permission_log_time: "crwdns825430:0crwdne825430:0" - permission_manage_forums: "crwdns498601:0crwdne498601:0" - permission_manage_categories: "crwdns498603:0crwdne498603:0" - permission_manage_work_package_relations: "crwdns498605:0crwdne498605:0" - permission_manage_members: "crwdns498607:0crwdne498607:0" - permission_manage_news: "crwdns498609:0crwdne498609:0" - permission_manage_project_activities: "crwdns498611:0crwdne498611:0" - permission_manage_public_queries: "crwdns498613:0crwdne498613:0" - permission_manage_repository: "crwdns498615:0crwdne498615:0" - permission_manage_subtasks: "crwdns498617:0crwdne498617:0" - permission_manage_versions: "crwdns498619:0crwdne498619:0" - permission_manage_wiki: "crwdns498621:0crwdne498621:0" - permission_manage_wiki_menu: "crwdns498623:0crwdne498623:0" - permission_move_work_packages: "crwdns498625:0crwdne498625:0" - permission_protect_wiki_pages: "crwdns498627:0crwdne498627:0" - permission_rename_wiki_pages: "crwdns498629:0crwdne498629:0" - permission_save_queries: "crwdns498631:0crwdne498631:0" - permission_select_custom_fields: "crwdns498633:0crwdne498633:0" - permission_select_project_modules: "crwdns498635:0crwdne498635:0" - permission_manage_types: "crwdns498637:0crwdne498637:0" - permission_view_changesets: "crwdns498641:0crwdne498641:0" - permission_view_commit_author_statistics: "crwdns498643:0crwdne498643:0" - permission_view_work_package_watchers: "crwdns498645:0crwdne498645:0" - permission_view_work_packages: "crwdns498647:0crwdne498647:0" - permission_view_messages: "crwdns498649:0crwdne498649:0" - permission_view_members: "crwdns498651:0crwdne498651:0" - permission_view_reportings: "crwdns498653:0crwdne498653:0" - permission_view_time_entries: "crwdns498655:0crwdne498655:0" - permission_view_timelines: "crwdns498657:0crwdne498657:0" - permission_view_wiki_edits: "crwdns498659:0crwdne498659:0" - permission_view_wiki_pages: "crwdns498661:0crwdne498661:0" - permission_work_package_assigned: "crwdns771130:0crwdne771130:0" - permission_work_package_assigned_explanation: "crwdns771132:0crwdne771132:0" - placeholders: - default: "crwdns498663:0crwdne498663:0" - project: - destroy: - confirmation: "crwdns498665:0%{identifier}crwdne498665:0" - info: "crwdns498667:0crwdne498667:0" - project_verification: "crwdns498669:0%{name}crwdne498669:0" - subprojects_confirmation: "crwdns498671:0%{value}crwdne498671:0" - title: "crwdns498673:0%{name}crwdne498673:0" - identifier: - warning_one: crwdns498675:0crwdne498675:0 - warning_two: crwdns498677:0crwdne498677:0 - title: crwdns498679:0crwdne498679:0 - template: - copying: > - crwdns498681:0crwdne498681:0 - use_template: 'crwdns498683:0crwdne498683:0' - make_template: 'crwdns498685:0crwdne498685:0' - remove_from_templates: 'crwdns498687:0crwdne498687:0' - archive: - are_you_sure: "crwdns498689:0%{name}crwdne498689:0" - archived: "crwdns498691:0crwdne498691:0" - project_module_activity: "crwdns498693:0crwdne498693:0" - project_module_forums: "crwdns498695:0crwdne498695:0" - project_module_work_package_tracking: "crwdns858101:0crwdne858101:0" - project_module_news: "crwdns498701:0crwdne498701:0" - project_module_repository: "crwdns498703:0crwdne498703:0" - project_module_wiki: "crwdns498705:0crwdne498705:0" - query: - attribute_and_direction: "crwdns498707:0%{attribute}crwdnd498707:0%{direction}crwdne498707:0" - #possible query parameters (e.g. issue queries), - #which are not attributes of an AR-Model. - query_fields: - active_or_archived: "crwdns498709:0crwdne498709:0" - assigned_to_role: "crwdns498711:0crwdne498711:0" - member_of_group: "crwdns498713:0crwdne498713:0" - assignee_or_group: "crwdns498715:0crwdne498715:0" - subproject_id: "crwdns810088:0crwdne810088:0" - only_subproject_id: "crwdns498719:0crwdne498719:0" - name_or_identifier: "crwdns498721:0crwdne498721:0" - repositories: - at_identifier: 'crwdns498723:0%{identifier}crwdne498723:0' - atom_revision_feed: 'crwdns498725:0crwdne498725:0' - autofetch_information: "crwdns498727:0crwdne498727:0" - checkout: - access: - readwrite: 'crwdns498729:0crwdne498729:0' - read: 'crwdns498731:0crwdne498731:0' - none: 'crwdns498733:0crwdne498733:0' - access_permission: 'crwdns498735:0crwdne498735:0' - url: "crwdns498737:0crwdne498737:0" - base_url_text: "crwdns498739:0crwdne498739:0" - default_instructions: - git: |- - crwdns498741:0crwdne498741:0 - subversion: |- - crwdns498743:0crwdne498743:0 - enable_instructions_text: "crwdns498745:0crwdne498745:0" - instructions: "crwdns498747:0crwdne498747:0" - show_instructions: "crwdns498749:0crwdne498749:0" - text_instructions: "crwdns498751:0crwdne498751:0" - not_available: "crwdns498753:0crwdne498753:0" - create_managed_delay: "crwdns498755:0crwdne498755:0" - create_successful: "crwdns498757:0crwdne498757:0" - delete_sucessful: "crwdns498759:0crwdne498759:0" - destroy: - confirmation: "crwdns498761:0crwdne498761:0" - info: "crwdns498763:0crwdne498763:0" - info_not_managed: "crwdns498765:0crwdne498765:0" - managed_path_note: "crwdns498767:0%{path}crwdne498767:0" - repository_verification: "crwdns498769:0%{identifier}crwdne498769:0" - subtitle: "crwdns498771:0%{repository_type}crwdnd498771:0%{project_name}crwdne498771:0" - subtitle_not_managed: "crwdns498773:0%{repository_type}crwdnd498773:0%{url}crwdnd498773:0%{project_name}crwdne498773:0" - title: "crwdns498775:0%{repository_type}crwdne498775:0" - title_not_managed: "crwdns498777:0%{repository_type}crwdne498777:0" - errors: - build_failed: "crwdns498779:0%{reason}crwdne498779:0" - managed_delete: "crwdns498781:0crwdne498781:0" - managed_delete_local: "crwdns498783:0%{path}crwdnd498783:0%{error_message}crwdne498783:0" - empty_repository: "crwdns498785:0crwdne498785:0" - exists_on_filesystem: "crwdns498787:0crwdne498787:0" - filesystem_access_failed: "crwdns498789:0%{message}crwdne498789:0" - not_manageable: "crwdns498791:0crwdne498791:0" - path_permission_failed: "crwdns498793:0%{path}crwdne498793:0" - unauthorized: "crwdns498795:0crwdne498795:0" - unavailable: "crwdns498797:0crwdne498797:0" - exception_title: "crwdns498799:0%{message}crwdne498799:0" - disabled_or_unknown_type: "crwdns498801:0%{type}crwdnd498801:0%{vendor}crwdne498801:0" - disabled_or_unknown_vendor: "crwdns498803:0%{vendor}crwdne498803:0" - remote_call_failed: "crwdns498805:0%{message}crwdnd498805:0%{code}crwdne498805:0" - remote_invalid_response: "crwdns498807:0crwdne498807:0" - remote_save_failed: "crwdns498809:0crwdne498809:0" - git: - instructions: - managed_url: "crwdns498811:0crwdne498811:0" - path: >- - crwdns498813:0%{example_path}crwdne498813:0 - path_encoding: "crwdns498815:0crwdne498815:0" - local_title: "crwdns498817:0crwdne498817:0" - local_url: "crwdns498819:0crwdne498819:0" - local_introduction: "crwdns498821:0crwdne498821:0" - managed_introduction: "crwdns498823:0crwdne498823:0" - managed_title: "crwdns498825:0crwdne498825:0" - managed_url: "crwdns498827:0crwdne498827:0" - path: "crwdns498829:0crwdne498829:0" - path_encoding: "crwdns498831:0crwdne498831:0" - go_to_revision: "crwdns498833:0crwdne498833:0" - managed_remote: "crwdns498835:0crwdne498835:0" - managed_remote_note: "crwdns498837:0crwdne498837:0" - managed_url: "crwdns498839:0crwdne498839:0" - settings: - automatic_managed_repos_disabled: "crwdns498841:0crwdne498841:0" - automatic_managed_repos: "crwdns498843:0crwdne498843:0" - automatic_managed_repos_text: "crwdns498845:0crwdne498845:0" - scm_vendor: "crwdns498847:0crwdne498847:0" - scm_type: "crwdns498849:0crwdne498849:0" - scm_types: - local: "crwdns498851:0crwdne498851:0" - existing: "crwdns498853:0crwdne498853:0" - managed: "crwdns498855:0crwdne498855:0" - storage: - not_available: "crwdns498857:0crwdne498857:0" - update_timeout: "crwdns498859:0crwdne498859:0" - oauth_application_details: "crwdns823132:0crwdne823132:0" - oauth_application_details_link_text: "crwdns823134:0crwdne823134:0" - setup_documentation_details: "crwdns831842:0crwdne831842:0" - setup_documentation_details_link_text: "crwdns831844:0crwdne831844:0" - show_warning_details: "crwdns824152:0crwdne824152:0" - subversion: - existing_title: "crwdns498861:0crwdne498861:0" - existing_introduction: "crwdns498863:0crwdne498863:0" - existing_url: "crwdns498865:0crwdne498865:0" - instructions: - managed_url: "crwdns498867:0crwdne498867:0" - url: "crwdns498869:0%{local_proto}crwdne498869:0" - managed_title: "crwdns498871:0crwdne498871:0" - managed_introduction: "crwdns498873:0crwdne498873:0" - managed_url: "crwdns498875:0crwdne498875:0" - password: "crwdns498877:0crwdne498877:0" - username: "crwdns498879:0crwdne498879:0" - truncated: "crwdns498881:0%{limit}crwdnd498881:0%{truncated}crwdne498881:0" - named_repository: "crwdns498883:0%{vendor_name}crwdne498883:0" - update_settings_successful: "crwdns498885:0crwdne498885:0" - url: "crwdns498887:0crwdne498887:0" - warnings: - cannot_annotate: "crwdns498889:0crwdne498889:0" - scheduling: - activated: 'crwdns498891:0crwdne498891:0' - deactivated: 'crwdns498893:0crwdne498893:0' - search_input_placeholder: "crwdns498895:0crwdne498895:0" - setting_apiv3_cors_enabled: "crwdns498897:0crwdne498897:0" - setting_apiv3_cors_origins: "crwdns498899:0crwdne498899:0" - setting_apiv3_cors_origins_text_html: > - crwdns498901:0%{origin_link}crwdne498901:0 - setting_apiv3_max_page_size: "crwdns655661:0crwdne655661:0" - setting_apiv3_max_page_instructions_html: > - crwdns655663:0crwdne655663:0 - setting_apiv3_docs: "crwdns498903:0crwdne498903:0" - setting_apiv3_docs_enabled: "crwdns498905:0crwdne498905:0" - setting_apiv3_docs_enabled_instructions_html: > - crwdns498907:0%{link}crwdnd498907:0%{link}crwdne498907:0 - setting_attachment_whitelist: "crwdns498909:0crwdne498909:0" - setting_email_delivery_method: "crwdns498911:0crwdne498911:0" - setting_sendmail_location: "crwdns498913:0crwdne498913:0" - setting_smtp_enable_starttls_auto: "crwdns498915:0crwdne498915:0" - setting_smtp_ssl: "crwdns498917:0crwdne498917:0" - setting_smtp_address: "crwdns498919:0crwdne498919:0" - setting_smtp_port: "crwdns498921:0crwdne498921:0" - setting_smtp_authentication: "crwdns498923:0crwdne498923:0" - setting_smtp_user_name: "crwdns498925:0crwdne498925:0" - setting_smtp_password: "crwdns498927:0crwdne498927:0" - setting_smtp_domain: "crwdns818692:0crwdne818692:0" - setting_activity_days_default: "crwdns498931:0crwdne498931:0" - setting_app_subtitle: "crwdns498933:0crwdne498933:0" - setting_app_title: "crwdns498935:0crwdne498935:0" - setting_attachment_max_size: "crwdns498937:0crwdne498937:0" - setting_autofetch_changesets: "crwdns498939:0crwdne498939:0" - setting_autologin: "crwdns498941:0crwdne498941:0" - setting_available_languages: "crwdns498943:0crwdne498943:0" - setting_bcc_recipients: "crwdns498945:0crwdne498945:0" - setting_brute_force_block_after_failed_logins: "crwdns498947:0crwdne498947:0" - setting_brute_force_block_minutes: "crwdns498949:0crwdne498949:0" - setting_cache_formatted_text: "crwdns498951:0crwdne498951:0" - setting_use_wysiwyg_description: "crwdns498953:0crwdne498953:0" - setting_column_options: "crwdns498955:0crwdne498955:0" - setting_commit_fix_keywords: "crwdns498957:0crwdne498957:0" - setting_commit_logs_encoding: "crwdns498959:0crwdne498959:0" - setting_commit_logtime_activity_id: "crwdns498961:0crwdne498961:0" - setting_commit_logtime_enabled: "crwdns498963:0crwdne498963:0" - setting_commit_ref_keywords: "crwdns498965:0crwdne498965:0" - setting_consent_time: "crwdns498967:0crwdne498967:0" - setting_consent_info: "crwdns498969:0crwdne498969:0" - setting_consent_required: "crwdns498971:0crwdne498971:0" - setting_consent_decline_mail: "crwdns498973:0crwdne498973:0" - setting_cross_project_work_package_relations: "crwdns498975:0crwdne498975:0" - setting_first_week_of_year: "crwdns498977:0crwdne498977:0" - setting_date_format: "crwdns855699:0crwdne855699:0" - setting_default_language: "crwdns498981:0crwdne498981:0" - setting_default_projects_modules: "crwdns498983:0crwdne498983:0" - setting_default_projects_public: "crwdns498985:0crwdne498985:0" - setting_diff_max_lines_displayed: "crwdns498987:0crwdne498987:0" - setting_display_subprojects_work_packages: "crwdns498989:0crwdne498989:0" - setting_emails_footer: "crwdns498991:0crwdne498991:0" - setting_emails_header: "crwdns498993:0crwdne498993:0" - setting_email_login: "crwdns498995:0crwdne498995:0" - setting_enabled_scm: "crwdns498997:0crwdne498997:0" - setting_enabled_projects_columns: "crwdns498999:0crwdne498999:0" - setting_feeds_enabled: "crwdns499003:0crwdne499003:0" - setting_ical_enabled: "crwdns859075:0crwdne859075:0" - setting_feeds_limit: "crwdns499005:0crwdne499005:0" - setting_file_max_size_displayed: "crwdns499007:0crwdne499007:0" - setting_host_name: "crwdns499009:0crwdne499009:0" - setting_invitation_expiration_days: "crwdns499011:0crwdne499011:0" - setting_work_package_done_ratio: "crwdns499013:0crwdne499013:0" - setting_work_package_done_ratio_field: "crwdns499015:0crwdne499015:0" - setting_work_package_done_ratio_status: "crwdns499017:0crwdne499017:0" - setting_work_package_done_ratio_disabled: "crwdns499019:0crwdne499019:0" - setting_work_package_list_default_columns: "crwdns499021:0crwdne499021:0" - setting_work_package_properties: "crwdns499023:0crwdne499023:0" - setting_work_package_startdate_is_adddate: "crwdns499025:0crwdne499025:0" - setting_work_packages_projects_export_limit: "crwdns824324:0crwdne824324:0" - setting_journal_aggregation_time_minutes: "crwdns499029:0crwdne499029:0" - setting_log_requesting_user: "crwdns499031:0crwdne499031:0" - setting_login_required: "crwdns499033:0crwdne499033:0" - setting_mail_from: "crwdns499035:0crwdne499035:0" - setting_mail_handler_api_key: "crwdns499037:0crwdne499037:0" - setting_mail_handler_body_delimiters: "crwdns499039:0crwdne499039:0" - setting_mail_handler_body_delimiter_regex: "crwdns499041:0crwdne499041:0" - setting_mail_handler_ignore_filenames: "crwdns499043:0crwdne499043:0" - setting_new_project_user_role_id: "crwdns499045:0crwdne499045:0" - setting_password_active_rules: "crwdns499047:0crwdne499047:0" - setting_password_count_former_banned: "crwdns499049:0crwdne499049:0" - setting_password_days_valid: "crwdns499051:0crwdne499051:0" - setting_password_min_length: "crwdns499053:0crwdne499053:0" - setting_password_min_adhered_rules: "crwdns499055:0crwdne499055:0" - setting_per_page_options: "crwdns499057:0crwdne499057:0" - setting_plain_text_mail: "crwdns499059:0crwdne499059:0" - setting_protocol: "crwdns499061:0crwdne499061:0" - setting_project_gantt_query: "crwdns499063:0crwdne499063:0" - setting_project_gantt_query_text: "crwdns499065:0crwdne499065:0" - setting_security_badge_displayed: "crwdns499067:0crwdne499067:0" - setting_registration_footer: "crwdns499069:0crwdne499069:0" - setting_repositories_automatic_managed_vendor: "crwdns499071:0crwdne499071:0" - setting_repositories_encodings: "crwdns499073:0crwdne499073:0" - setting_repository_authentication_caching_enabled: "crwdns499075:0crwdne499075:0" - setting_repository_storage_cache_minutes: "crwdns499077:0crwdne499077:0" - setting_repository_checkout_display: "crwdns499079:0crwdne499079:0" - setting_repository_checkout_base_url: "crwdns499081:0crwdne499081:0" - setting_repository_checkout_text: "crwdns499083:0crwdne499083:0" - setting_repository_log_display_limit: "crwdns499085:0crwdne499085:0" - setting_repository_truncate_at: "crwdns499087:0crwdne499087:0" - setting_rest_api_enabled: "crwdns499089:0crwdne499089:0" - setting_self_registration: "crwdns499091:0crwdne499091:0" - setting_session_ttl: "crwdns499093:0crwdne499093:0" - setting_session_ttl_hint: "crwdns499095:0crwdne499095:0" - setting_session_ttl_enabled: "crwdns499097:0crwdne499097:0" - setting_start_of_week: "crwdns499099:0crwdne499099:0" - setting_sys_api_enabled: "crwdns499101:0crwdne499101:0" - setting_sys_api_description: "crwdns499103:0crwdne499103:0" - setting_time_format: "crwdns855701:0crwdne855701:0" - setting_accessibility_mode_for_anonymous: "crwdns499107:0crwdne499107:0" - setting_user_format: "crwdns854505:0crwdne854505:0" - setting_user_default_timezone: "crwdns499111:0crwdne499111:0" - setting_users_deletable_by_admins: "crwdns499113:0crwdne499113:0" - setting_users_deletable_by_self: "crwdns499115:0crwdne499115:0" - setting_welcome_text: "crwdns499117:0crwdne499117:0" - setting_welcome_title: "crwdns499119:0crwdne499119:0" - setting_welcome_on_homescreen: "crwdns499121:0crwdne499121:0" - setting_work_package_list_default_highlighting_mode: "crwdns499123:0crwdne499123:0" - setting_work_package_list_default_highlighted_attributes: "crwdns499125:0crwdne499125:0" - setting_working_days: "crwdns855703:0crwdne855703:0" - settings: - attachments: - whitelist_text_html: > - crwdns499137:0%{ext_example}crwdnd499137:0%{mime_example}crwdne499137:0 - brute_force_prevention: "crwdns499135:0crwdne499135:0" - language_name_being_default: 'crwdns858081:0%{language_name}crwdne858081:0' - date_format: - first_date_of_week_and_year_set: > - crwdns859077:0%{day_of_week_setting_name}crwdnd859077:0%{first_week_setting_name}crwdne859077:0 - first_week_of_year_text_html: > - crwdns859079:0%{link}crwdne859079:0 - general: "crwdns499127:0crwdne499127:0" - experimental: - save_confirmation: crwdns856593:0crwdne856593:0 - warning_toast: crwdns856595:0crwdne856595:0 - feature_flags: crwdns856597:0crwdne856597:0 - highlighting: - mode_long: - inline: "crwdns499157:0crwdne499157:0" - none: "crwdns499159:0crwdne499159:0" - status: "crwdns499161:0crwdne499161:0" - type: "crwdns499163:0crwdne499163:0" - priority: "crwdns499165:0crwdne499165:0" - icalendar: - enable_subscriptions_text_html: crwdns859081:0crwdne859081:0 - #below line needs to be appended above after docs are ready - #Note: Please read about iCalendar subscriptions to understand potential security risks before enabling this. - notifications: - events_explanation: 'crwdns499141:0crwdne499141:0' - delay_minutes_explanation: "crwdns499143:0crwdne499143:0" - other: "crwdns499129:0crwdne499129:0" - passwords: "crwdns499131:0crwdne499131:0" - projects: - section_new_projects: "crwdns499149:0crwdne499149:0" - section_project_overview: "crwdns499151:0crwdne499151:0" - session: "crwdns499133:0crwdne499133:0" - user: - default_preferences: "crwdns499153:0crwdne499153:0" - display_format: "crwdns854507:0crwdne854507:0" - deletion: "crwdns499155:0crwdne499155:0" - working_days: - section_work_week: "crwdns855705:0crwdne855705:0" - section_holidays_and_closures: "crwdns855707:0crwdne855707:0" - text_formatting: - markdown: 'crwdns499167:0crwdne499167:0' - plain: 'crwdns499169:0crwdne499169:0' - status_active: "crwdns499171:0crwdne499171:0" - status_archived: "crwdns499173:0crwdne499173:0" - status_invited: crwdns499175:0crwdne499175:0 - status_locked: crwdns499177:0crwdne499177:0 - status_registered: crwdns499179:0crwdne499179:0 - #Used in array.to_sentence. - support: - array: - sentence_connector: "crwdns499181:0crwdne499181:0" - skip_last_comma: "crwdns499183:0crwdne499183:0" - text_accessibility_hint: "crwdns499185:0crwdne499185:0" - text_access_token_hint: "crwdns499187:0crwdne499187:0" - text_analyze: "crwdns499189:0%{subject}crwdne499189:0" - text_are_you_sure: "crwdns499191:0crwdne499191:0" - text_are_you_sure_continue: "crwdns833344:0crwdne833344:0" - text_are_you_sure_with_children: "crwdns499193:0crwdne499193:0" - text_assign_to_project: "crwdns499195:0crwdne499195:0" - text_form_configuration: > - crwdns499197:0crwdne499197:0 - text_form_configuration_required_attribute: "crwdns499199:0crwdne499199:0" - text_caracters_maximum: "crwdns499201:0%{count}crwdne499201:0" - text_caracters_minimum: "crwdns499203:0%{count}crwdne499203:0" - text_comma_separated: "crwdns499205:0crwdne499205:0" - text_comment_wiki_page: "crwdns499207:0%{page}crwdne499207:0" - text_custom_field_possible_values_info: "crwdns499209:0crwdne499209:0" - text_custom_field_hint_activate_per_project: > - crwdns499211:0crwdne499211:0 - text_custom_field_hint_activate_per_project_and_type: > - crwdns499213:0crwdne499213:0 - text_wp_status_read_only_html: > - crwdns839565:0crwdne839565:0 - text_project_custom_field_html: > - crwdns839567:0crwdne839567:0 - text_custom_logo_instructions: > - crwdns499215:0crwdne499215:0 - text_custom_export_logo_instructions: > - crwdns857283:0crwdne857283:0 - text_custom_favicon_instructions: > - crwdns857285:0crwdne857285:0 - text_custom_touch_icon_instructions: > - crwdns857287:0crwdne857287:0 - text_database_allows_tsv: "crwdns499221:0crwdne499221:0" - text_default_administrator_account_changed: "crwdns499223:0crwdne499223:0" - text_default_encoding: "crwdns499225:0crwdne499225:0" - text_destroy: "crwdns499227:0crwdne499227:0" - text_destroy_with_associated: "crwdns499229:0crwdne499229:0" - text_destroy_what_to_do: "crwdns499231:0crwdne499231:0" - text_diff_truncated: "crwdns499233:0crwdne499233:0" - text_email_delivery_not_configured: "crwdns499235:0crwdne499235:0" - text_enumeration_category_reassign_to: "crwdns499237:0crwdne499237:0" - text_enumeration_destroy_question: "crwdns499239:0%{count}crwdne499239:0" - text_file_repository_writable: "crwdns499241:0crwdne499241:0" - text_git_repo_example: "crwdns499243:0crwdne499243:0" - text_hint_date_format: "crwdns499245:0crwdne499245:0" - text_hint_disable_with_0: "crwdns499247:0crwdne499247:0" - text_hours_between: "crwdns499249:0%{min}crwdnd499249:0%{max}crwdne499249:0" - text_work_package_added: "crwdns499251:0%{id}crwdnd499251:0%{author}crwdne499251:0" - text_work_package_category_destroy_assignments: "crwdns499253:0crwdne499253:0" - text_work_package_category_destroy_question: "crwdns499255:0%{count}crwdne499255:0" - text_work_package_category_reassign_to: "crwdns499257:0crwdne499257:0" - text_work_package_updated: "crwdns499259:0%{id}crwdnd499259:0%{author}crwdne499259:0" - text_work_package_watcher_added: "crwdns499261:0%{id}crwdnd499261:0%{watcher_changer}crwdne499261:0" - text_work_package_watcher_removed: "crwdns499263:0%{id}crwdnd499263:0%{watcher_changer}crwdne499263:0" - text_work_packages_destroy_confirmation: "crwdns499265:0crwdne499265:0" - text_work_packages_ref_in_commit_messages: "crwdns499267:0crwdne499267:0" - text_journal_added: "crwdns499269:0%{label}crwdnd499269:0%{value}crwdne499269:0" - text_journal_changed_plain: "crwdns499275:0%{label}crwdnd499275:0%{old}crwdnd499275:0%{linebreak}crwdnd499275:0%{new}crwdne499275:0" - text_journal_changed_no_detail: "crwdns499277:0%{label}crwdne499277:0" - text_journal_changed_with_diff: "crwdns499279:0%{label}crwdnd499279:0%{link}crwdne499279:0" - text_journal_deleted: "crwdns499281:0%{label}crwdnd499281:0%{old}crwdne499281:0" - text_journal_deleted_subproject: "crwdns846059:0%{label}crwdnd846059:0%{old}crwdne846059:0" - text_journal_deleted_with_diff: "crwdns499283:0%{label}crwdnd499283:0%{link}crwdne499283:0" - text_journal_of: "crwdns846061:0%{label}crwdnd846061:0%{value}crwdne846061:0" - text_journal_set_to: "crwdns499285:0%{label}crwdnd499285:0%{value}crwdne499285:0" - text_journal_set_with_diff: "crwdns499287:0%{label}crwdnd499287:0%{link}crwdne499287:0" - text_journal_label_value: "crwdns499289:0%{label}crwdnd499289:0%{value}crwdne499289:0" - text_latest_note: "crwdns499291:0%{note}crwdne499291:0" - text_length_between: "crwdns499293:0%{min}crwdnd499293:0%{max}crwdne499293:0" - text_line_separated: "crwdns499295:0crwdne499295:0" - text_load_default_configuration: "crwdns499297:0crwdne499297:0" - text_min_max_length_info: "crwdns499299:0crwdne499299:0" - text_no_roles_defined: crwdns499301:0crwdne499301:0 - text_no_access_tokens_configurable: "crwdns499303:0crwdne499303:0" - text_no_configuration_data: "crwdns499305:0crwdne499305:0" - text_no_notes: "crwdns499307:0crwdne499307:0" - text_notice_too_many_values_are_inperformant: "crwdns499309:0crwdne499309:0" - text_notice_security_badge_displayed_html: > - crwdns499311:0%{information_panel_path}crwdnd499311:0%{information_panel_label}crwdnd499311:0%{more_info_url}crwdne499311:0 - text_own_membership_delete_confirmation: "crwdns499313:0crwdne499313:0" - text_plugin_assets_writable: "crwdns499315:0crwdne499315:0" - text_powered_by: "crwdns499317:0%{link}crwdne499317:0" - text_project_identifier_info: "crwdns499319:0crwdne499319:0" - text_reassign: "crwdns499321:0crwdne499321:0" - text_regexp_info: "crwdns499323:0[A-Z0-9]crwdne499323:0" - text_regexp_multiline: 'crwdns499325:0crwdne499325:0' - text_repository_usernames_mapping: "crwdns499327:0crwdne499327:0" - text_status_changed_by_changeset: "crwdns499329:0%{value}crwdne499329:0" - text_table_difference_description: "crwdns499331:0%{entries}crwdne499331:0" - text_time_logged_by_changeset: "crwdns499333:0%{value}crwdne499333:0" - text_tip_work_package_begin_day: "crwdns499335:0crwdne499335:0" - text_tip_work_package_begin_end_day: "crwdns499337:0crwdne499337:0" - text_tip_work_package_end_day: "crwdns499339:0crwdne499339:0" - text_type_no_workflow: "crwdns499341:0crwdne499341:0" - text_unallowed_characters: "crwdns499343:0crwdne499343:0" - text_user_invited: crwdns499345:0crwdne499345:0 - text_user_wrote: "crwdns499347:0%{value}crwdne499347:0" - text_warn_on_leaving_unsaved: "crwdns499349:0crwdne499349:0" - text_what_did_you_change_click_to_add_comment: "crwdns499351:0crwdne499351:0" - text_wiki_destroy_confirmation: "crwdns499353:0crwdne499353:0" - text_wiki_page_destroy_children: "crwdns499355:0crwdne499355:0" - text_wiki_page_destroy_question: "crwdns499357:0%{descendants}crwdne499357:0" - text_wiki_page_nullify_children: "crwdns499359:0crwdne499359:0" - text_wiki_page_reassign_children: "crwdns499361:0crwdne499361:0" - text_workflow_edit: "crwdns499363:0crwdne499363:0" - text_zoom_in: "crwdns499365:0crwdne499365:0" - text_zoom_out: "crwdns499367:0crwdne499367:0" - text_setup_mail_configuration: "crwdns499369:0crwdne499369:0" - time: - am: "crwdns499371:0crwdne499371:0" - formats: - default: "crwdns499373:0%mcrwdnd499373:0%dcrwdnd499373:0%Y %Icrwdnd499373:0%Mcrwdnd499373:0%pcrwdne499373:0" - long: "crwdns499375:0%Bcrwdnd499375:0%dcrwdnd499375:0%Ycrwdnd499375:0%H:%Mcrwdne499375:0" - short: "crwdns499377:0%dcrwdnd499377:0%bcrwdnd499377:0%H:%Mcrwdne499377:0" - time: "crwdns499379:0%I:%Mcrwdnd499379:0%pcrwdne499379:0" - pm: "crwdns499381:0crwdne499381:0" - timeframe: - show: "crwdns499383:0crwdne499383:0" - end: "crwdns499385:0crwdne499385:0" - start: "crwdns499387:0crwdne499387:0" - timelines: - admin_menu: - color: "crwdns499389:0crwdne499389:0" - colors: "crwdns499391:0crwdne499391:0" - associations: "crwdns499393:0crwdne499393:0" - button_delete_all: "crwdns499395:0crwdne499395:0" - change: "crwdns499397:0crwdne499397:0" - children: "crwdns499399:0crwdne499399:0" - color_could_not_be_saved: "crwdns499401:0crwdne499401:0" - current_planning: "crwdns499403:0crwdne499403:0" - dates: "crwdns499405:0crwdne499405:0" - dates_are_calculated_based_on_sub_elements: "crwdns499407:0crwdne499407:0" - delete_all: "crwdns499409:0crwdne499409:0" - delete_thing: "crwdns499411:0crwdne499411:0" - duration: "crwdns499413:0crwdne499413:0" - duration_days: - one: "crwdns499415:1crwdne499415:1" - other: "crwdns499415:5%{count}crwdne499415:5" - edit_color: "crwdns499417:0crwdne499417:0" - edit_thing: "crwdns499419:0crwdne499419:0" - edit_timeline: "crwdns499421:0%{timeline}crwdne499421:0" - delete_timeline: "crwdns499423:0%{timeline}crwdne499423:0" - empty: "crwdns499425:0crwdne499425:0" - enable_type_in_project: 'crwdns499427:0%{type}crwdne499427:0' - end: "crwdns499429:0crwdne499429:0" - errors: - not_implemented: "crwdns499431:0crwdne499431:0" - report_comparison: "crwdns499433:0crwdne499433:0" - report_epicfail: "crwdns499435:0crwdne499435:0" - report_timeout: "crwdns499437:0crwdne499437:0" - filter: - errors: - timeframe_start: "crwdns499439:0crwdne499439:0" - timeframe_end: "crwdns499441:0crwdne499441:0" - compare_to_relative: "crwdns499443:0crwdne499443:0" - compare_to_absolute: "crwdns499445:0crwdne499445:0" - planning_element_time_relative_one: "crwdns499447:0crwdne499447:0" - planning_element_time_relative_two: "crwdns499449:0crwdne499449:0" - planning_element_time_absolute_one: "crwdns499451:0crwdne499451:0" - planning_element_time_absolute_two: "crwdns499453:0crwdne499453:0" - sort: - sortation: "crwdns499455:0crwdne499455:0" - alphabet: "crwdns499457:0crwdne499457:0" - explicit_order: "crwdns499459:0crwdne499459:0" - project_sortation: "crwdns499461:0crwdne499461:0" - date: "crwdns499463:0crwdne499463:0" - default: "crwdns499465:0crwdne499465:0" - column: - assigned_to: "crwdns499467:0crwdne499467:0" - type: "crwdns499469:0crwdne499469:0" - due_date: "crwdns499471:0crwdne499471:0" - name: "crwdns499473:0crwdne499473:0" - status: "crwdns499475:0crwdne499475:0" - start_date: "crwdns499477:0crwdne499477:0" - columns: "crwdns499479:0crwdne499479:0" - comparisons: "crwdns499481:0crwdne499481:0" - comparison: - absolute: "crwdns499483:0crwdne499483:0" - none: "crwdns499485:0crwdne499485:0" - relative: "crwdns499487:0crwdne499487:0" - compare_relative_prefix: "crwdns499489:0crwdne499489:0" - compare_relative_suffix: "crwdns499491:0crwdne499491:0" - compare_absolute: "crwdns499493:0%{date}crwdne499493:0" - time_relative: - days: "crwdns499495:0crwdne499495:0" - weeks: "crwdns499497:0crwdne499497:0" - months: "crwdns499499:0crwdne499499:0" - exclude_own_work_packages: "crwdns499501:0crwdne499501:0" - exclude_reporters: "crwdns499503:0crwdne499503:0" - exclude_empty: "crwdns499505:0crwdne499505:0" - grouping: "crwdns499507:0crwdne499507:0" - grouping_hide_group: "crwdns499509:0%{group}crwdne499509:0" - grouping_one: "crwdns499511:0crwdne499511:0" - grouping_one_phrase: "crwdns499513:0crwdne499513:0" - grouping_other: "crwdns499515:0crwdne499515:0" - hide_chart: "crwdns499517:0crwdne499517:0" - noneElement: "crwdns499519:0crwdne499519:0" - noneSelection: "crwdns499521:0crwdne499521:0" - outline: "crwdns499523:0crwdne499523:0" - parent: "crwdns499525:0crwdne499525:0" - work_package_responsible: "crwdns499529:0crwdne499529:0" - work_package_assignee: "crwdns499531:0crwdne499531:0" - types: "crwdns499533:0crwdne499533:0" - status: "crwdns499535:0crwdne499535:0" - project_time_filter: "crwdns499537:0crwdne499537:0" - project_time_filter_timeframe: "crwdns499539:0crwdne499539:0" - project_time_filter_historical_from: "crwdns499541:0crwdne499541:0" - project_time_filter_historical_to: "crwdns499543:0crwdne499543:0" - project_time_filter_historical: "crwdns499545:0%{start_label}crwdnd499545:0%{startdate}crwdnd499545:0%{end_label}crwdnd499545:0%{enddate}crwdne499545:0" - project_time_filter_relative: "crwdns499547:0%{start_label}crwdnd499547:0%{startspan}crwdnd499547:0%{startspanunit}crwdnd499547:0%{end_label}crwdnd499547:0%{endspan}crwdnd499547:0%{endspanunit}crwdne499547:0" - project_filters: "crwdns499549:0crwdne499549:0" - project_responsible: "crwdns499551:0crwdne499551:0" - project_status: "crwdns499553:0crwdne499553:0" - timeframe: "crwdns499555:0crwdne499555:0" - timeframe_end: "crwdns499557:0crwdne499557:0" - timeframe_start: "crwdns499559:0crwdne499559:0" - timeline: "crwdns499561:0crwdne499561:0" - zoom: "crwdns499563:0crwdne499563:0" - history: "crwdns499565:0crwdne499565:0" - new_color: "crwdns499567:0crwdne499567:0" - new_association: "crwdns499569:0crwdne499569:0" - new_work_package: "crwdns499571:0crwdne499571:0" - new_reporting: "crwdns499573:0crwdne499573:0" - new_timeline: "crwdns499575:0crwdne499575:0" - no_projects_for_reporting_available: "crwdns499577:0crwdne499577:0" - no_right_to_view_timeline: "crwdns499579:0crwdne499579:0" - no_timeline_for_id: "crwdns499581:0%{id}crwdne499581:0" - notice_successful_deleted_all_elements: "crwdns499583:0crwdne499583:0" - outline: "crwdns499585:0crwdne499585:0" - outlines: - aggregation: "crwdns499587:0crwdne499587:0" - level1: "crwdns499589:0crwdne499589:0" - level2: "crwdns499591:0crwdne499591:0" - level3: "crwdns499593:0crwdne499593:0" - level4: "crwdns499595:0crwdne499595:0" - level5: "crwdns499597:0crwdne499597:0" - all: "crwdns499599:0crwdne499599:0" - reporting_for_project: - show: "crwdns499601:0%{title}crwdne499601:0" - edit_delete: "crwdns499603:0%{title}crwdne499603:0" - history: "crwdns499605:0%{title}crwdne499605:0" - reporting: - delete: "crwdns499607:0%{comment}crwdne499607:0" - edit: "crwdns499609:0%{comment}crwdne499609:0" - show: "crwdns499611:0%{comment}crwdne499611:0" - planning_element_update: "crwdns499613:0%{title}crwdne499613:0" - type_could_not_be_saved: "crwdns499615:0crwdne499615:0" - reporting_could_not_be_saved: "crwdns499617:0crwdne499617:0" - properties: "crwdns499619:0crwdne499619:0" - really_delete_color: > - crwdns499621:0crwdne499621:0 - really_delete_reporting: > - crwdns499623:0crwdne499623:0 - start: "crwdns499625:0crwdne499625:0" - timeline: "crwdns499627:0crwdne499627:0" - timelines: "crwdns499629:0crwdne499629:0" - settings: "crwdns499631:0crwdne499631:0" - vertical_work_package: "crwdns499633:0crwdne499633:0" - you_are_viewing_the_selected_timeline: "crwdns499635:0crwdne499635:0" - zoom: - in: "crwdns499637:0crwdne499637:0" - out: "crwdns499639:0crwdne499639:0" - days: "crwdns499641:0crwdne499641:0" - weeks: "crwdns499643:0crwdne499643:0" - months: "crwdns499645:0crwdne499645:0" - quarters: "crwdns499647:0crwdne499647:0" - years: "crwdns499649:0crwdne499649:0" - title_remove_and_delete_user: crwdns499651:0crwdne499651:0 - title_enterprise_upgrade: "crwdns499653:0crwdne499653:0" - tooltip_user_default_timezone: > - crwdns499655:0crwdne499655:0 - tooltip_resend_invitation: > - crwdns499657:0crwdne499657:0 - tooltip: - setting_email_login: > - crwdns499659:0crwdne499659:0 - queries: - apply_filter: crwdns499661:0crwdne499661:0 - top_menu: - additional_resources: "crwdns499663:0crwdne499663:0" - getting_started: "crwdns499665:0crwdne499665:0" - help_and_support: "crwdns499667:0crwdne499667:0" - total_progress: "crwdns499669:0crwdne499669:0" - user: - all: "crwdns499671:0crwdne499671:0" - active: "crwdns499673:0crwdne499673:0" - activate: "crwdns499675:0crwdne499675:0" - activate_and_reset_failed_logins: "crwdns499677:0crwdne499677:0" - authentication_provider: "crwdns499679:0crwdne499679:0" - authentication_settings_disabled_due_to_external_authentication: > - crwdns499681:0crwdne499681:0 - authorization_rejected: "crwdns499683:0crwdne499683:0" - assign_random_password: "crwdns499685:0crwdne499685:0" - blocked: "crwdns499687:0crwdne499687:0" - blocked_num_failed_logins: - one: "crwdns499689:1crwdne499689:1" - other: "crwdns499689:5%{count}crwdne499689:5" - confirm_status_change: "crwdns499691:0%{name}crwdne499691:0" - deleted: "crwdns499693:0crwdne499693:0" - error_status_change_failed: "crwdns499695:0%{errors}crwdne499695:0" - invite: crwdns499697:0crwdne499697:0 - invited: crwdns499699:0crwdne499699:0 - lock: "crwdns499701:0crwdne499701:0" - locked: "crwdns499703:0crwdne499703:0" - no_login: "crwdns499705:0crwdne499705:0" - password_change_unsupported: crwdns499707:0crwdne499707:0 - registered: "crwdns499709:0crwdne499709:0" - reset_failed_logins: "crwdns499711:0crwdne499711:0" - status_user_and_brute_force: "crwdns499713:0%{user}crwdnd499713:0%{brute_force}crwdne499713:0" - status_change: "crwdns499715:0crwdne499715:0" - text_change_disabled_for_provider_login: "crwdns499717:0crwdne499717:0" - unlock: "crwdns499719:0crwdne499719:0" - unlock_and_reset_failed_logins: "crwdns499721:0crwdne499721:0" - version_status_closed: "crwdns499723:0crwdne499723:0" - version_status_locked: "crwdns499725:0crwdne499725:0" - version_status_open: "crwdns499727:0crwdne499727:0" - note: crwdns499729:0crwdne499729:0 - note_password_login_disabled: "crwdns499731:0%{configuration}crwdne499731:0" - warning: crwdns499733:0crwdne499733:0 - warning_attachments_not_saved: "crwdns499735:0%{count}crwdne499735:0" - warning_imminent_user_limit: > - crwdns499737:0%{upgrade_url}crwdne499737:0 - warning_registration_token_expired: | - crwdns499739:0%{email}crwdne499739:0 - warning_user_limit_reached: > - crwdns499741:0%{upgrade_url}crwdne499741:0 - warning_user_limit_reached_instructions: > - crwdns839455:0%{current}crwdnd839455:0%{max}crwdne839455:0 - warning_protocol_mismatch_html: > - crwdns499745:0crwdne499745:0 - warning_bar: - https_mismatch: - title: 'crwdns830264:0crwdne830264:0' - text_html: > - crwdns830266:0%{set_protocol}crwdnd830266:0%{actual_protocol}crwdnd830266:0%{setting_value}crwdnd830266:0%{more_info_path}crwdne830266:0 - hostname_mismatch: - title: 'crwdns499751:0crwdne499751:0' - text_html: > - crwdns499753:0%{set_hostname}crwdnd499753:0%{actual_hostname}crwdnd499753:0%{setting_path}crwdne499753:0 - menu_item: "crwdns499755:0crwdne499755:0" - menu_item_setting: "crwdns499757:0crwdne499757:0" - wiki_menu_item_for: "crwdns499759:0%{title}crwdne499759:0" - wiki_menu_item_setting: "crwdns499761:0crwdne499761:0" - wiki_menu_item_new_main_item_explanation: > - crwdns499763:0crwdne499763:0 - wiki_menu_item_delete_not_permitted: crwdns499765:0crwdne499765:0 - #TODO: merge with work_packages top level key - work_package: - updated_automatically_by_child_changes: | - crwdns499767:0%{child}crwdne499767:0 - destroy: - info: "crwdns499769:0crwdne499769:0" - title: "crwdns499771:0crwdne499771:0" - working_days: - info: > - crwdns855709:0crwdne855709:0 - instance_wide_info: > - crwdns855711:0crwdne855711:0 - change_button: "crwdns833348:0crwdne833348:0" - warning: > - crwdns845953:0crwdne845953:0 - journal_note: - changed: crwdns834172:0%{changes}crwdne834172:0 - days: - working: "crwdns834174:0%{day}crwdne834174:0" - non_working: "crwdns834176:0%{day}crwdne834176:0" - dates: - working: "crwdns844503:0%{date}crwdne844503:0" - non_working: "crwdns844505:0%{date}crwdne844505:0" - nothing_to_preview: "crwdns499773:0crwdne499773:0" - api_v3: - attributes: - lock_version: "crwdns499775:0crwdne499775:0" - property: 'crwdns836773:0crwdne836773:0' - errors: - code_400: "crwdns499777:0%{message}crwdne499777:0" - code_401: "crwdns499779:0crwdne499779:0" - code_401_wrong_credentials: "crwdns499781:0crwdne499781:0" - code_403: "crwdns499783:0crwdne499783:0" - code_404: "crwdns499785:0crwdne499785:0" - code_409: "crwdns499787:0crwdne499787:0" - code_429: "crwdns499789:0crwdne499789:0" - code_500: "crwdns499791:0crwdne499791:0" - code_500_outbound_request_failure: "crwdns850301:0%{status_code}crwdne850301:0" - not_found: - work_package: "crwdns499793:0crwdne499793:0" - expected: - date: "crwdns499795:0crwdne499795:0" - datetime: "crwdns807894:0[.lll]crwdne807894:0" - duration: "crwdns499797:0crwdne499797:0" - invalid_content_type: "crwdns499799:0%{content_type}crwdnd499799:0%{actual}crwdne499799:0" - invalid_format: "crwdns499801:0%{property}crwdnd499801:0%{expected_format}crwdnd499801:0%{actual}crwdne499801:0" - invalid_json: "crwdns499803:0crwdne499803:0" - invalid_relation: "crwdns499805:0crwdne499805:0" - invalid_resource: "crwdns499807:0%{property}crwdnd499807:0%{expected}crwdnd499807:0%{actual}crwdne499807:0" - invalid_signal: - embed: "crwdns499809:0%{invalid}crwdnd499809:0%{supported}crwdne499809:0" - select: "crwdns499811:0%{invalid}crwdnd499811:0%{supported}crwdne499811:0" - invalid_user_status_transition: "crwdns499813:0crwdne499813:0" - missing_content_type: "crwdns499815:0crwdne499815:0" - missing_property: "crwdns807896:0%{property}crwdne807896:0" - missing_request_body: "crwdns499817:0crwdne499817:0" - missing_or_malformed_parameter: "crwdns499819:0%{parameter}crwdne499819:0" - multipart_body_error: "crwdns499821:0crwdne499821:0" - multiple_errors: "crwdns499823:0crwdne499823:0" - unable_to_create_attachment: "crwdns499825:0crwdne499825:0" - unable_to_create_attachment_permissions: "crwdns499827:0crwdne499827:0" - render: - context_not_parsable: "crwdns499829:0crwdne499829:0" - unsupported_context: "crwdns499831:0crwdne499831:0" - context_object_not_found: "crwdns499833:0crwdne499833:0" - validation: - done_ratio: "crwdns499835:0crwdne499835:0" - due_date: "crwdns499837:0crwdne499837:0" - estimated_hours: "crwdns499839:0crwdne499839:0" - invalid_user_assigned_to_work_package: "crwdns499841:0%{property}crwdne499841:0" - start_date: "crwdns499843:0crwdne499843:0" - eprops: - invalid_gzip: "crwdns499845:0%{message}crwdne499845:0" - invalid_json: "crwdns499847:0%{message}crwdne499847:0" - resources: - schema: 'crwdns499849:0crwdne499849:0' - undisclosed: - parent: crwdns499851:0crwdne499851:0 - ancestor: crwdns586681:0crwdne586681:0 - doorkeeper: - pre_authorization: - status: 'crwdns499853:0crwdne499853:0' - auth_url: 'crwdns499855:0crwdne499855:0' - access_token_url: 'crwdns499857:0crwdne499857:0' - errors: - messages: - #Common error messages - invalid_request: - unknown: 'crwdns744050:0crwdne744050:0' - missing_param: 'crwdns744052:0%{value}crwdne744052:0' - request_not_authorized: 'crwdns744054:0crwdne744054:0' - invalid_redirect_uri: "crwdns744056:0crwdne744056:0" - unauthorized_client: 'crwdns499863:0crwdne499863:0' - access_denied: 'crwdns499865:0crwdne499865:0' - invalid_scope: 'crwdns499867:0crwdne499867:0' - invalid_code_challenge_method: 'crwdns499869:0crwdne499869:0' - server_error: 'crwdns499871:0crwdne499871:0' - temporarily_unavailable: 'crwdns499873:0crwdne499873:0' - #Configuration error messages - credential_flow_not_configured: 'crwdns499875:0crwdne499875:0' - resource_owner_authenticator_not_configured: 'crwdns499877:0crwdne499877:0' - admin_authenticator_not_configured: 'crwdns499879:0crwdne499879:0' - #Access grant errors - unsupported_response_type: 'crwdns499881:0crwdne499881:0' - unsupported_response_mode: 'crwdns744058:0crwdne744058:0' - #Access token errors - invalid_client: 'crwdns499883:0crwdne499883:0' - invalid_grant: 'crwdns499885:0crwdne499885:0' - unsupported_grant_type: 'crwdns499887:0crwdne499887:0' - invalid_token: - revoked: "crwdns499889:0crwdne499889:0" - expired: "crwdns499891:0crwdne499891:0" - unknown: "crwdns499893:0crwdne499893:0" - revoke: - unauthorized: "crwdns744060:0crwdne744060:0" - forbidden_token: - missing_scope: 'crwdns744062:0%{oauth_scopes}crwdne744062:0' - unsupported_browser: - title: "crwdns499895:0crwdne499895:0" - message: "crwdns499897:0crwdne499897:0" - update_message: 'crwdns499899:0crwdne499899:0' - close_warning: "crwdns499901:0crwdne499901:0" - oauth: - application: - singular: "crwdns499903:0crwdne499903:0" - plural: "crwdns499905:0crwdne499905:0" - named: "crwdns499907:0%{name}crwdne499907:0" - new: "crwdns499909:0crwdne499909:0" - default_scopes: "crwdns499911:0crwdne499911:0" - instructions: - name: "crwdns499913:0crwdne499913:0" - redirect_uri_html: > - crwdns499915:0crwdne499915:0 - confidential: "crwdns499917:0crwdne499917:0" - scopes: "crwdns499919:0crwdne499919:0" - client_credential_user_id: "crwdns499921:0crwdne499921:0" - register_intro: "crwdns499923:0crwdne499923:0" - default_scopes: "crwdns499925:0crwdne499925:0" - client_id: "crwdns499927:0crwdne499927:0" - client_secret_notice: > - crwdns499929:0crwdne499929:0 - authorization_dialog: - authorize: "crwdns499931:0crwdne499931:0" - cancel: "crwdns499933:0crwdne499933:0" - prompt_html: "crwdns499935:0%{application_name}crwdnd499935:0%{login}crwdne499935:0" - title: "crwdns499937:0%{application_name}crwdne499937:0" - wants_to_access_html: > - crwdns499939:0crwdne499939:0 - scopes: - api_v3: "crwdns499941:0crwdne499941:0" - api_v3_text: "crwdns499943:0crwdne499943:0" - grants: - created_date: "crwdns499945:0crwdne499945:0" - scopes: "crwdns499947:0crwdne499947:0" - successful_application_revocation: "crwdns499949:0%{application_name}crwdne499949:0" - none_given: "crwdns499951:0crwdne499951:0" - x_active_tokens: - one: 'crwdns499953:1crwdne499953:1' - other: 'crwdns499953:5%{count}crwdne499953:5' - flows: - authorization_code: "crwdns499955:0crwdne499955:0" - client_credentials: "crwdns499957:0crwdne499957:0" - client_credentials: "crwdns499959:0crwdne499959:0" - client_credentials_impersonation_set_to: "crwdns499961:0crwdne499961:0" - client_credentials_impersonation_warning: "crwdns499963:0crwdne499963:0" - client_credentials_impersonation_html: > - crwdns499965:0%{authorization_code_flow_link}crwdnd499965:0%{client_credentials_flow_link}crwdne499965:0 - authorization_error: "crwdns499967:0crwdne499967:0" - revoke_my_application_confirmation: "crwdns499969:0%{token_count}crwdne499969:0" - my_registered_applications: "crwdns499971:0crwdne499971:0" - oauth_client: - urn_connection_status: - connected: "crwdns819016:0crwdne819016:0" - error: "crwdns819018:0crwdne819018:0" - failed_authorization: "crwdns819020:0crwdne819020:0" - labels: - label_oauth_integration: "crwdns818694:0crwdne818694:0" - label_redirect_uri: "crwdns818696:0crwdne818696:0" - label_request_token: "crwdns818698:0crwdne818698:0" - label_refresh_token: "crwdns818700:0crwdne818700:0" - errors: - oauth_authorization_code_grant_had_errors: "crwdns818702:0crwdne818702:0" - oauth_reported: "crwdns818704:0crwdne818704:0" - oauth_returned_error: "crwdns818706:0crwdne818706:0" - oauth_returned_json_error: "crwdns818708:0crwdne818708:0" - oauth_returned_http_error: "crwdns818710:0crwdne818710:0" - oauth_returned_standard_error: "crwdns818712:0crwdne818712:0" - wrong_token_type_returned: "crwdns818714:0crwdne818714:0" - oauth_issue_contact_admin: "crwdns818716:0crwdne818716:0" - oauth_client_not_found: "crwdns818718:0crwdne818718:0" - refresh_token_called_without_existing_token: > - crwdns818720:0crwdne818720:0 - refresh_token_updated_failed: "crwdns818722:0crwdne818722:0" - oauth_client_not_found_explanation: > - crwdns818724:0crwdne818724:0 - oauth_code_not_present: "crwdns818726:0crwdne818726:0" - oauth_code_not_present_explanation: > - crwdns818728:0crwdne818728:0 - oauth_state_not_present: "crwdns818730:0crwdne818730:0" - oauth_state_not_present_explanation: > - crwdns819022:0crwdne819022:0 - rack_oauth2: - client_secret_invalid: "crwdns819024:0crwdne819024:0" - invalid_request: > - crwdns819026:0crwdne819026:0 - invalid_response: "crwdns819028:0crwdne819028:0" - invalid_grant: "crwdns819030:0crwdne819030:0" - invalid_client: "crwdns819032:0crwdne819032:0" - unauthorized_client: "crwdns819034:0crwdne819034:0" - unsupported_grant_type: "crwdns819036:0crwdne819036:0" - invalid_scope: "crwdns819038:0crwdne819038:0" - http: - request: - failed_authorization: "crwdns822244:0crwdne822244:0" - missing_authorization: "crwdns822246:0crwdne822246:0" - response: - unexpected: "crwdns822248:0crwdne822248:0" - you: crwdns499973:0crwdne499973:0 diff --git a/modules/avatars/config/locales/crowdin/js-lol.yml b/modules/avatars/config/locales/crowdin/js-lol.yml deleted file mode 100644 index 4bdb860a7b43..000000000000 --- a/modules/avatars/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,14 +0,0 @@ -#English strings go here -lol: - js: - label_preview: 'crwdns500181:0crwdne500181:0' - button_update: 'crwdns500183:0crwdne500183:0' - avatars: - label_choose_avatar: "crwdns500185:0crwdne500185:0" - uploading_avatar: "crwdns500187:0crwdne500187:0" - text_upload_instructions: | - crwdns500189:0crwdne500189:0 - error_image_too_large: "crwdns500191:0crwdne500191:0" - wrong_file_format: "crwdns500193:0crwdne500193:0" - empty_file_error: "crwdns500195:0crwdne500195:0" - diff --git a/modules/avatars/config/locales/crowdin/lol.yml b/modules/avatars/config/locales/crowdin/lol.yml deleted file mode 100644 index a550db8ee0b8..000000000000 --- a/modules/avatars/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,38 +0,0 @@ -#English strings go here -lol: - label_avatar: "crwdns494221:0crwdne494221:0" - label_avatar_plural: "crwdns494231:0crwdne494231:0" - label_current_avatar: "crwdns494233:0crwdne494233:0" - label_choose_avatar: "crwdns494235:0crwdne494235:0" - message_avatar_uploaded: "crwdns494237:0crwdne494237:0" - error_image_upload: "crwdns494239:0crwdne494239:0" - error_image_size: "crwdns494241:0crwdne494241:0" - button_change_avatar: "crwdns494243:0crwdne494243:0" - are_you_sure_delete_avatar: "crwdns494245:0crwdne494245:0" - avatar_deleted: "crwdns494247:0crwdne494247:0" - unable_to_delete_avatar: "crwdns494249:0crwdne494249:0" - wrong_file_format: "crwdns494251:0crwdne494251:0" - empty_file_error: "crwdns494253:0crwdne494253:0" - avatars: - label_avatar: "crwdns494255:0crwdne494255:0" - label_gravatar: 'crwdns494257:0crwdne494257:0' - label_current_avatar: 'crwdns494259:0crwdne494259:0' - label_local_avatar: 'crwdns494261:0crwdne494261:0' - text_current_avatar: | - crwdns494263:0crwdne494263:0 - text_upload_instructions: | - crwdns494265:0crwdne494265:0 - text_change_gravatar_html: 'crwdns494267:0%{gravatar_url}crwdne494267:0' - text_your_local_avatar: | - crwdns494269:0crwdne494269:0 - text_local_avatar_over_gravatar: | - crwdns494271:0crwdne494271:0 - text_your_current_gravatar: | - crwdns494273:0crwdne494273:0 - settings: - enable_gravatars: 'crwdns494275:0crwdne494275:0' - gravatar_default: "crwdns494277:0crwdne494277:0" - enable_local_avatars: 'crwdns494279:0crwdne494279:0' - - - diff --git a/modules/backlogs/config/locales/crowdin/js-lol.yml b/modules/backlogs/config/locales/crowdin/js-lol.yml deleted file mode 100644 index aac46fdeb2b7..000000000000 --- a/modules/backlogs/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,27 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - js: - work_packages: - properties: - storyPoints: "crwdns500197:0crwdne500197:0" - remainingTime: "crwdns500199:0crwdne500199:0" diff --git a/modules/backlogs/config/locales/crowdin/lol.yml b/modules/backlogs/config/locales/crowdin/lol.yml deleted file mode 100644 index 4628ec98c27e..000000000000 --- a/modules/backlogs/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,157 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - activerecord: - attributes: - work_package: - position: "crwdns493487:0crwdne493487:0" - remaining_hours: "crwdns493489:0crwdne493489:0" - remaining_time: "crwdns493491:0crwdne493491:0" - story_points: "crwdns493493:0crwdne493493:0" - backlogs_work_package_type: "crwdns493495:0crwdne493495:0" - errors: - models: - work_package: - attributes: - blocks_ids: - can_only_contain_work_packages_of_current_sprint: "crwdns493497:0crwdne493497:0" - must_block_at_least_one_work_package: "crwdns493499:0crwdne493499:0" - version_id: - task_version_must_be_the_same_as_story_version: "crwdns493505:0crwdne493505:0" - sprint: - cannot_end_before_it_starts: "crwdns493507:0crwdne493507:0" - backlogs: - add_new_story: "crwdns493509:0crwdne493509:0" - any: "crwdns493511:0crwdne493511:0" - backlog_settings: "crwdns493513:0crwdne493513:0" - burndown_graph: "crwdns493515:0crwdne493515:0" - card_paper_size: "crwdns493517:0crwdne493517:0" - chart_options: "crwdns493519:0crwdne493519:0" - close: "crwdns493521:0crwdne493521:0" - column_width: "crwdns493523:0crwdne493523:0" - date: "crwdns493525:0crwdne493525:0" - definition_of_done: "crwdns493527:0crwdne493527:0" - generating_chart: "crwdns493529:0crwdne493529:0" - hours: "crwdns493531:0crwdne493531:0" - impediment: "crwdns493533:0crwdne493533:0" - label_versions_default_fold_state: "crwdns493535:0crwdne493535:0" - work_package_is_closed: "crwdns493537:0crwdne493537:0" - label_is_done_status: "crwdns493539:0%{status_name}crwdne493539:0" - no_burndown_data: "crwdns493541:0crwdne493541:0" - points: "crwdns493543:0crwdne493543:0" - positions_could_not_be_rebuilt: "crwdns493545:0crwdne493545:0" - positions_rebuilt_successfully: "crwdns493547:0crwdne493547:0" - properties: "crwdns493549:0crwdne493549:0" - rebuild: "crwdns493551:0crwdne493551:0" - rebuild_positions: "crwdns493553:0crwdne493553:0" - remaining_hours: "crwdns493555:0crwdne493555:0" - remaining_hours_ideal: "crwdns493557:0crwdne493557:0" - show_burndown_chart: "crwdns493559:0crwdne493559:0" - story: "crwdns493561:0crwdne493561:0" - story_points: "crwdns493563:0crwdne493563:0" - story_points_ideal: "crwdns493565:0crwdne493565:0" - task: "crwdns493567:0crwdne493567:0" - task_color: "crwdns493569:0crwdne493569:0" - unassigned: "crwdns493571:0crwdne493571:0" - x_more: "crwdns493573:0%{count}crwdne493573:0" - backlogs_active: "crwdns493575:0crwdne493575:0" - backlogs_any: "crwdns493577:0crwdne493577:0" - backlogs_inactive: "crwdns493581:0crwdne493581:0" - backlogs_points_burn_direction: "crwdns493583:0crwdne493583:0" - backlogs_product_backlog: "crwdns493585:0crwdne493585:0" - backlogs_product_backlog_is_empty: "crwdns493587:0crwdne493587:0" - backlogs_product_backlog_unsized: "crwdns493589:0crwdne493589:0" - backlogs_sizing_inconsistent: "crwdns493591:0crwdne493591:0" - backlogs_sprint_notes_missing: "crwdns493593:0crwdne493593:0" - backlogs_sprint_unestimated: "crwdns493595:0crwdne493595:0" - backlogs_sprint_unsized: "crwdns493597:0crwdne493597:0" - backlogs_sprints: "crwdns493599:0crwdne493599:0" - backlogs_story: "crwdns493601:0crwdne493601:0" - backlogs_story_type: "crwdns493603:0crwdne493603:0" - backlogs_task: "crwdns493605:0crwdne493605:0" - backlogs_task_type: "crwdns493607:0crwdne493607:0" - backlogs_velocity_missing: "crwdns493609:0crwdne493609:0" - backlogs_velocity_varies: "crwdns493611:0crwdne493611:0" - backlogs_wiki_template: "crwdns493613:0crwdne493613:0" - backlogs_empty_title: "crwdns493615:0crwdne493615:0" - backlogs_empty_action_text: "crwdns493617:0crwdne493617:0" - button_edit_wiki: "crwdns493619:0crwdne493619:0" - error_backlogs_task_cannot_be_story: "crwdns493621:0crwdne493621:0" - error_intro_plural: "crwdns493623:0crwdne493623:0" - error_intro_singular: "crwdns493625:0crwdne493625:0" - error_outro: "crwdns493627:0crwdne493627:0" - event_sprint_description: "crwdns493629:0%{summary}crwdnd493629:0%{url}crwdnd493629:0%{description}crwdne493629:0" - event_sprint_summary: "crwdns493631:0%{project}crwdnd493631:0%{summary}crwdne493631:0" - ideal: "crwdns493633:0crwdne493633:0" - inclusion: "crwdns493635:0crwdne493635:0" - label_back_to_project: "crwdns493637:0crwdne493637:0" - label_backlog: "crwdns493639:0crwdne493639:0" - label_backlogs: "crwdns493641:0crwdne493641:0" - label_backlogs_unconfigured: "crwdns493643:0%{administration}crwdnd493643:0%{plugins}crwdnd493643:0%{configure}crwdne493643:0" - label_blocks_ids: "crwdns493645:0crwdne493645:0" - label_burndown: "crwdns493647:0crwdne493647:0" - label_column_in_backlog: "crwdns493649:0crwdne493649:0" - label_hours: "crwdns493651:0crwdne493651:0" - label_work_package_hierarchy: "crwdns493653:0crwdne493653:0" - label_master_backlog: "crwdns493655:0crwdne493655:0" - label_not_prioritized: "crwdns493657:0crwdne493657:0" - label_points: "crwdns493659:0crwdne493659:0" - label_points_burn_down: "crwdns493661:0crwdne493661:0" - label_points_burn_up: "crwdns493663:0crwdne493663:0" - label_product_backlog: "crwdns493665:0crwdne493665:0" - label_select_all: "crwdns493667:0crwdne493667:0" - label_sprint_backlog: "crwdns493669:0crwdne493669:0" - label_sprint_cards: "crwdns493671:0crwdne493671:0" - label_sprint_impediments: "crwdns493673:0crwdne493673:0" - label_sprint_name: "crwdns493675:0%{name}crwdne493675:0" - label_sprint_velocity: "crwdns493677:0%{velocity}crwdnd493677:0%{sprints}crwdnd493677:0%{days}crwdne493677:0" - label_stories: "crwdns493679:0crwdne493679:0" - label_stories_tasks: "crwdns493681:0crwdne493681:0" - label_task_board: "crwdns493683:0crwdne493683:0" - label_version_setting: "crwdns493685:0crwdne493685:0" - label_version: 'crwdns493687:0crwdne493687:0' - label_webcal: "crwdns493689:0crwdne493689:0" - label_wiki: "crwdns493691:0crwdne493691:0" - permission_view_master_backlog: "crwdns493693:0crwdne493693:0" - permission_view_taskboards: "crwdns493695:0crwdne493695:0" - permission_select_done_statuses: "crwdns493697:0crwdne493697:0" - permission_update_sprints: "crwdns493699:0crwdne493699:0" - points_accepted: "crwdns493701:0crwdne493701:0" - points_committed: "crwdns493703:0crwdne493703:0" - points_resolved: "crwdns493705:0crwdne493705:0" - points_to_accept: "crwdns493707:0crwdne493707:0" - points_to_resolve: "crwdns493709:0crwdne493709:0" - project_module_backlogs: "crwdns493711:0crwdne493711:0" - rb_label_copy_tasks: "crwdns493713:0crwdne493713:0" - rb_label_copy_tasks_all: "crwdns493715:0crwdne493715:0" - rb_label_copy_tasks_none: "crwdns493717:0crwdne493717:0" - rb_label_copy_tasks_open: "crwdns493719:0crwdne493719:0" - rb_label_link_to_original: "crwdns493721:0crwdne493721:0" - remaining_hours: "crwdns493723:0crwdne493723:0" - required_burn_rate_hours: "crwdns493725:0crwdne493725:0" - required_burn_rate_points: "crwdns493727:0crwdne493727:0" - todo_work_package_description: "crwdns493729:0%{summary}crwdnd493729:0%{url}crwdnd493729:0%{description}crwdne493729:0" - todo_work_package_summary: "crwdns493731:0%{type}crwdnd493731:0%{summary}crwdne493731:0" - version_settings_display_label: "crwdns493733:0crwdne493733:0" - version_settings_display_option_left: "crwdns493735:0crwdne493735:0" - version_settings_display_option_none: "crwdns493737:0crwdne493737:0" - version_settings_display_option_right: "crwdns493739:0crwdne493739:0" diff --git a/modules/bim/config/locales/crowdin/js-lol.yml b/modules/bim/config/locales/crowdin/js-lol.yml deleted file mode 100644 index c613811c4d6e..000000000000 --- a/modules/bim/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,29 +0,0 @@ -#English strings go here -lol: - js: - bcf: - label_bcf: 'crwdns500011:0crwdne500011:0' - import: 'crwdns500013:0crwdne500013:0' - import_bcf_xml_file: 'crwdns500015:0crwdne500015:0' - export: 'crwdns500017:0crwdne500017:0' - export_bcf_xml_file: 'crwdns500019:0crwdne500019:0' - viewpoint: 'crwdns500021:0crwdne500021:0' - add_viewpoint: 'crwdns500023:0crwdne500023:0' - show_viewpoint: 'crwdns500025:0crwdne500025:0' - delete_viewpoint: 'crwdns500027:0crwdne500027:0' - management: 'crwdns500029:0crwdne500029:0' - refresh: 'crwdns500031:0crwdne500031:0' - refresh_work_package: 'crwdns500033:0crwdne500033:0' - ifc_models: - empty_warning: "crwdns500035:0crwdne500035:0" - use_this_link_to_manage: "crwdns500037:0crwdne500037:0" - keyboard_input_disabled: "crwdns500039:0crwdne500039:0" - models: - ifc_models: 'crwdns500041:0crwdne500041:0' - views: - viewer: 'crwdns500043:0crwdne500043:0' - split: 'crwdns500045:0crwdne500045:0' - split_cards: 'crwdns500047:0crwdne500047:0' - revit: - revit_add_in: "crwdns500049:0crwdne500049:0" - revit_add_in_settings: "crwdns500051:0crwdne500051:0" diff --git a/modules/bim/config/locales/crowdin/lol.seeders.yml b/modules/bim/config/locales/crowdin/lol.seeders.yml deleted file mode 100644 index 14e12e5db563..000000000000 --- a/modules/bim/config/locales/crowdin/lol.seeders.yml +++ /dev/null @@ -1,433 +0,0 @@ -#This file has been generated by script/i18n/generate_seeders_i18n_source_file. -#Please do not edit directly. -#This file is part of the sources sent to crowdin for translation. ---- -lol: - seeds: - bim: - priorities: - item_0: - name: crwdns858123:0crwdne858123:0 - item_1: - name: crwdns858125:0crwdne858125:0 - item_2: - name: crwdns858127:0crwdne858127:0 - item_3: - name: crwdns858129:0crwdne858129:0 - statuses: - item_0: - name: crwdns858131:0crwdne858131:0 - item_1: - name: crwdns858133:0crwdne858133:0 - item_2: - name: crwdns858135:0crwdne858135:0 - item_3: - name: crwdns858137:0crwdne858137:0 - time_entry_activities: - item_0: - name: crwdns858139:0crwdne858139:0 - item_1: - name: crwdns858141:0crwdne858141:0 - item_2: - name: crwdns858143:0crwdne858143:0 - types: - item_0: - name: crwdns858145:0crwdne858145:0 - item_1: - name: crwdns858147:0crwdne858147:0 - item_2: - name: crwdns858149:0crwdne858149:0 - item_3: - name: crwdns858151:0crwdne858151:0 - item_4: - name: crwdns858153:0crwdne858153:0 - item_5: - name: crwdns858155:0crwdne858155:0 - item_6: - name: crwdns858157:0crwdne858157:0 - global_queries: - item_0: - name: 'crwdns858159:0crwdne858159:0' - type_configuration: - item_0: - form_configuration: - item_0: - group_name: crwdns858161:0crwdne858161:0 - groups: - item_0: - name: crwdns858163:0crwdne858163:0 - item_1: - name: crwdns858165:0crwdne858165:0 - item_2: - name: crwdns858167:0crwdne858167:0 - item_3: - name: crwdns858169:0crwdne858169:0 - item_4: - name: crwdns858171:0crwdne858171:0 - item_5: - name: crwdns858173:0crwdne858173:0 - item_6: - name: crwdns858175:0crwdne858175:0 - item_7: - name: crwdns858177:0crwdne858177:0 - welcome: - title: crwdns858179:0crwdne858179:0 - text: | - crwdns858181:0{{opSetting:base_url}}crwdnd858181:0{{opSetting:base_url}}crwdnd858181:0{{opSetting:base_url}}crwdnd858181:0{{opSetting:base_url}}crwdnd858181:0{{opSetting:base_url}}crwdnd858181:0[here]crwdnd858181:0{{opSetting:base_url}}crwdne858181:0 - projects: - demo-construction-project: - name: "crwdns858183:0crwdne858183:0" - status_explanation: crwdns858185:0crwdne858185:0 - description: crwdns858187:0crwdne858187:0 - news: - item_0: - title: crwdns858189:0crwdne858189:0 - summary: | - crwdns858191:0crwdne858191:0 - description: crwdns858193:0crwdne858193:0 - categories: - item_0: crwdns858195:0crwdne858195:0 - queries: - item_0: - name: crwdns858197:0crwdne858197:0 - item_1: - name: crwdns858199:0crwdne858199:0 - item_2: - name: crwdns858201:0crwdne858201:0 - item_3: - name: crwdns858203:0crwdne858203:0 - boards: - bcf: - name: crwdns858205:0crwdne858205:0 - project-overview: - widgets: - item_0: - options: - name: crwdns858207:0crwdne858207:0 - item_1: - options: - name: crwdns858209:0crwdne858209:0 - text: | - crwdns858211:0{{opSetting:base_url}}crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0[Members]crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0%7Bcrwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22icrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22acrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22hicrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22gcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22scrwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%7Bcrwdnd858211:0%22ncrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22bcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22ocrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%7crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22dcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22licrwdnd858211:0%22crwdnd858211:0%7crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0%7Bcrwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22icrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22acrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22hicrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22gcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22scrwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%7Bcrwdnd858211:0%22ncrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22bcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22ocrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%7crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22dcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22licrwdnd858211:0%22crwdnd858211:0%7crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0%7Bcrwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22icrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22acrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22hicrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22gcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22scrwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22dcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22licrwdnd858211:0%22crwdnd858211:0%7crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0{{opSetting:base_url}}crwdnd858211:0%7Bcrwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22icrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22scrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22acrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22hicrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22gcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22crwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22icrwdnd858211:0%3crwdnd858211:0%22crwdnd858211:0%2Ccrwdnd858211:0%22fcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%5Bcrwdnd858211:0%5crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22pcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%2Ccrwdnd858211:0%22dcrwdnd858211:0%22crwdnd858211:0%3crwdnd858211:0%22ccrwdnd858211:0%22crwdnd858211:0%7crwdnd858211:0[Boards]crwdnd858211:0{{opSetting:base_url}}crwdne858211:0 - item_4: - options: - name: crwdns858213:0crwdne858213:0 - item_5: - options: - name: crwdns858215:0crwdne858215:0 - item_6: - options: - name: crwdns858217:0crwdne858217:0 - demo-planning-constructing-project: - name: "crwdns858219:0crwdne858219:0" - status_explanation: crwdns858221:0crwdne858221:0 - description: crwdns858223:0crwdne858223:0 - news: - item_0: - title: crwdns858225:0crwdne858225:0 - summary: | - crwdns858227:0crwdne858227:0 - description: crwdns858229:0crwdne858229:0 - categories: - item_0: crwdns858231:0crwdne858231:0 - queries: - item_0: - name: crwdns858233:0crwdne858233:0 - item_1: - name: crwdns858235:0crwdne858235:0 - item_2: - name: crwdns858237:0crwdne858237:0 - item_3: - name: crwdns858239:0crwdne858239:0 - project-overview: - widgets: - item_0: - options: - name: crwdns858241:0crwdne858241:0 - item_1: - options: - name: crwdns858243:0crwdne858243:0 - text: | - crwdns858245:0[Members]crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0%7Bcrwdnd858245:0%22ccrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22icrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22acrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22hicrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22gcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22scrwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%7Bcrwdnd858245:0%22ncrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22bcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22ocrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%7crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22dcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22licrwdnd858245:0%22crwdnd858245:0%7crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0%7Bcrwdnd858245:0%22ccrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22icrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22acrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22hicrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22gcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22scrwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%7Bcrwdnd858245:0%22ncrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22bcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22ocrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%7crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22dcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22licrwdnd858245:0%22crwdnd858245:0%7crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0%7Bcrwdnd858245:0%22ccrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22icrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22scrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22acrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22hicrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22gcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22crwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22scrwdnd858245:0%3crwdnd858245:0%22crwdnd858245:0%2Ccrwdnd858245:0%22fcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%5Bcrwdnd858245:0%5crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22pcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%2Ccrwdnd858245:0%22dcrwdnd858245:0%22crwdnd858245:0%3crwdnd858245:0%22licrwdnd858245:0%22crwdnd858245:0%7crwdnd858245:0{{opSetting:base_url}}crwdnd858245:0[Boards]crwdnd858245:0{{opSetting:base_url}}crwdne858245:0 - item_4: - options: - name: crwdns858247:0crwdne858247:0 - item_5: - options: - name: crwdns858249:0crwdne858249:0 - item_6: - options: - name: crwdns858251:0crwdne858251:0 - work_packages: - item_0: - subject: crwdns858253:0crwdne858253:0 - description: |- - crwdns858255:0{{opSetting:base_url}}crwdnd858255:0%7Bcrwdnd858255:0%22ccrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%5Bcrwdnd858255:0%22icrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22scrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22scrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22dcrwdnd858255:0%22crwdnd858255:0%5crwdnd858255:0%2Ccrwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%2Ccrwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22hicrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%2Ccrwdnd858255:0%22gcrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22scrwdnd858255:0%3crwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22fcrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%5Bcrwdnd858255:0%7Bcrwdnd858255:0%22ncrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22scrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22ocrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%22ocrwdnd858255:0%22crwdnd858255:0%2Ccrwdnd858255:0%22crwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%5Bcrwdnd858255:0%5crwdnd858255:0%7crwdnd858255:0%5crwdnd858255:0%2Ccrwdnd858255:0%22pcrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%2Ccrwdnd858255:0%22pcrwdnd858255:0%22crwdnd858255:0%3crwdnd858255:0%7crwdne858255:0 - item_1: - subject: crwdns858257:0crwdne858257:0 - description: crwdns858259:0crwdne858259:0 - children: - item_0: - subject: crwdns858261:0crwdne858261:0 - description: |- - crwdns858263:0crwdne858263:0 - item_1: - subject: crwdns858265:0crwdne858265:0 - description: |- - crwdns858267:0crwdne858267:0 - item_2: - subject: crwdns858269:0crwdne858269:0 - description: crwdns858271:0crwdne858271:0 - item_2: - subject: crwdns858273:0crwdne858273:0 - description: crwdns858275:0crwdne858275:0 - children: - item_0: - subject: crwdns858277:0crwdne858277:0 - description: |- - crwdns858279:0crwdne858279:0 - item_1: - subject: crwdns858281:0crwdne858281:0 - description: |- - crwdns858283:0crwdne858283:0 - item_3: - subject: crwdns858285:0crwdne858285:0 - description: crwdns858287:0crwdne858287:0 - item_4: - subject: crwdns858289:0crwdne858289:0 - description: crwdns858291:0crwdne858291:0 - children: - item_0: - subject: crwdns858293:0crwdne858293:0 - description: |- - crwdns858295:0crwdne858295:0 - item_1: - subject: crwdns858297:0crwdne858297:0 - description: crwdns858299:0crwdne858299:0 - item_5: - subject: crwdns858301:0crwdne858301:0 - children: - item_0: - subject: crwdns858303:0crwdne858303:0 - description: |- - crwdns858305:0crwdne858305:0 - item_1: - subject: crwdns858307:0crwdne858307:0 - description: |- - crwdns858309:0crwdne858309:0 - item_2: - subject: crwdns858311:0crwdne858311:0 - description: |- - crwdns858313:0crwdne858313:0 - item_3: - subject: crwdns858315:0crwdne858315:0 - description: |- - crwdns858317:0crwdne858317:0 - item_4: - subject: crwdns858319:0crwdne858319:0 - description: |- - crwdns858321:0crwdne858321:0 - item_5: - subject: crwdns858323:0crwdne858323:0 - description: |- - crwdns858325:0crwdne858325:0 - item_6: - subject: crwdns858327:0crwdne858327:0 - description: |- - crwdns858329:0crwdne858329:0 - demo-bim-project: - name: "crwdns858331:0crwdne858331:0" - status_explanation: crwdns858333:0crwdne858333:0 - description: crwdns858335:0crwdne858335:0 - news: - item_0: - title: crwdns858337:0crwdne858337:0 - summary: | - crwdns858339:0crwdne858339:0 - description: crwdns858341:0crwdne858341:0 - categories: - item_0: crwdns858343:0crwdne858343:0 - queries: - item_0: - name: crwdns858345:0crwdne858345:0 - item_1: - name: crwdns858347:0crwdne858347:0 - item_2: - name: crwdns858349:0crwdne858349:0 - item_3: - name: crwdns858351:0crwdne858351:0 - project-overview: - widgets: - item_0: - options: - name: crwdns858353:0crwdne858353:0 - item_1: - options: - name: crwdns858355:0crwdne858355:0 - text: | - crwdns858357:0[Members]crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0[BCF]crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0[BCF]crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0%7Bcrwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22icrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22acrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22hicrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22gcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22scrwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%7Bcrwdnd858357:0%22ncrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22bcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22ocrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%7crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22dcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22licrwdnd858357:0%22crwdnd858357:0%7crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0%7Bcrwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22icrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22acrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22hicrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22gcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22scrwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%7Bcrwdnd858357:0%22ncrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22bcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22ocrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%7crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22dcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22licrwdnd858357:0%22crwdnd858357:0%7crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0%7Bcrwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22icrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22acrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22hicrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22gcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22scrwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22dcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22licrwdnd858357:0%22crwdnd858357:0%7crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0{{opSetting:base_url}}crwdnd858357:0%7Bcrwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22icrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22scrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22acrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22hicrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22gcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22crwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22icrwdnd858357:0%3crwdnd858357:0%22crwdnd858357:0%2Ccrwdnd858357:0%22fcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%5Bcrwdnd858357:0%5crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22pcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%2Ccrwdnd858357:0%22dcrwdnd858357:0%22crwdnd858357:0%3crwdnd858357:0%22ccrwdnd858357:0%22crwdnd858357:0%7crwdnd858357:0[Boards]crwdnd858357:0{{opSetting:base_url}}crwdne858357:0 - item_4: - options: - name: crwdns858359:0crwdne858359:0 - item_5: - options: - name: crwdns858361:0crwdne858361:0 - item_6: - options: - name: crwdns858363:0crwdne858363:0 - work_packages: - item_0: - subject: crwdns858365:0crwdne858365:0 - description: |- - crwdns858367:0{{opSetting:base_url}}crwdnd858367:0%7Bcrwdnd858367:0%22ccrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%5Bcrwdnd858367:0%22icrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22scrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22scrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22dcrwdnd858367:0%22crwdnd858367:0%5crwdnd858367:0%2Ccrwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%2Ccrwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22hicrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%2Ccrwdnd858367:0%22gcrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22scrwdnd858367:0%3crwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22fcrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%5Bcrwdnd858367:0%7Bcrwdnd858367:0%22ncrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22scrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22ocrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%22ocrwdnd858367:0%22crwdnd858367:0%2Ccrwdnd858367:0%22crwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%5Bcrwdnd858367:0%5crwdnd858367:0%7crwdnd858367:0%5crwdnd858367:0%2Ccrwdnd858367:0%22pcrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%2Ccrwdnd858367:0%22pcrwdnd858367:0%22crwdnd858367:0%3crwdnd858367:0%7crwdne858367:0 - item_1: - subject: crwdns858369:0crwdne858369:0 - description: crwdns858371:0crwdne858371:0 - children: - item_0: - subject: crwdns858373:0crwdne858373:0 - description: |- - crwdns858375:0crwdne858375:0 - item_1: - subject: crwdns858377:0crwdne858377:0 - description: |- - crwdns858379:0crwdne858379:0 - item_2: - subject: crwdns858381:0crwdne858381:0 - description: crwdns858383:0crwdne858383:0 - item_2: - subject: crwdns858385:0crwdne858385:0 - description: crwdns858387:0crwdne858387:0 - item_3: - subject: crwdns858389:0crwdne858389:0 - description: crwdns858391:0crwdne858391:0 - children: - item_0: - subject: crwdns858393:0crwdne858393:0 - description: |- - crwdns858395:0crwdne858395:0 - item_1: - subject: crwdns858397:0crwdne858397:0 - description: |- - crwdns858399:0crwdne858399:0 - item_2: - subject: crwdns858401:0crwdne858401:0 - description: crwdns858403:0crwdne858403:0 - item_4: - subject: crwdns858405:0crwdne858405:0 - description: crwdns858407:0crwdne858407:0 - children: - item_0: - subject: crwdns858409:0crwdne858409:0 - description: |- - crwdns858411:0crwdne858411:0 - item_1: - subject: crwdns858413:0crwdne858413:0 - description: |- - crwdns858415:0crwdne858415:0 - item_2: - subject: crwdns858417:0crwdne858417:0 - description: |- - crwdns858419:0crwdne858419:0 - item_3: - subject: crwdns858421:0crwdne858421:0 - description: crwdns858423:0crwdne858423:0 - item_5: - subject: crwdns858425:0crwdne858425:0 - description: crwdns858427:0crwdne858427:0 - children: - item_0: - subject: crwdns858429:0crwdne858429:0 - description: |- - crwdns858431:0crwdne858431:0 - item_1: - subject: crwdns858433:0crwdne858433:0 - item_2: - subject: crwdns858435:0crwdne858435:0 - description: crwdns858437:0crwdne858437:0 - item_6: - subject: crwdns858439:0crwdne858439:0 - description: "crwdns858441:0crwdne858441:0" - item_7: - subject: crwdns858443:0crwdne858443:0 - description: crwdns858445:0crwdne858445:0 - item_8: - subject: crwdns858447:0crwdne858447:0 - description: "crwdns858449:0crwdne858449:0" - item_9: - subject: crwdns858451:0crwdne858451:0 - description: crwdns858453:0crwdne858453:0 - item_10: - subject: crwdns858455:0crwdne858455:0 - description: crwdns858457:0crwdne858457:0 - item_11: - subject: crwdns858459:0crwdne858459:0 - children: - item_0: - subject: crwdns858461:0crwdne858461:0 - description: |- - crwdns858463:0crwdne858463:0 - item_1: - subject: crwdns858465:0crwdne858465:0 - description: |- - crwdns858467:0crwdne858467:0 - item_2: - subject: crwdns858469:0crwdne858469:0 - item_12: - subject: crwdns858471:0crwdne858471:0 - item_13: - subject: crwdns858473:0crwdne858473:0 - description: |- - crwdns858475:0crwdne858475:0 - item_14: - subject: crwdns858477:0crwdne858477:0 - description: crwdns858479:0crwdne858479:0 - demo-bcf-management-project: - name: "crwdns858481:0crwdne858481:0" - status_explanation: crwdns858483:0crwdne858483:0 - description: crwdns858485:0crwdne858485:0 - ifc_models: - item_0: - name: crwdns858487:0crwdne858487:0 - item_1: - name: crwdns858489:0crwdne858489:0 - item_2: - name: crwdns858491:0crwdne858491:0 - categories: - item_0: crwdns858493:0crwdne858493:0 - queries: - item_0: - name: crwdns858495:0crwdne858495:0 - item_1: - name: crwdns858497:0crwdne858497:0 - item_2: - name: crwdns858499:0crwdne858499:0 - item_3: - name: crwdns858501:0crwdne858501:0 - item_4: - name: crwdns858503:0crwdne858503:0 - item_5: - name: crwdns858505:0crwdne858505:0 - item_6: - name: crwdns858507:0crwdne858507:0 - item_7: - name: crwdns858509:0crwdne858509:0 - boards: - bcf: - name: crwdns858511:0crwdne858511:0 - project-overview: - widgets: - item_0: - options: - name: crwdns858513:0crwdne858513:0 - item_1: - options: - name: crwdns858515:0crwdne858515:0 - text: | - crwdns858517:0[Members]crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0[BCF]crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0[BCF]crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0[BCF]crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0%7Bcrwdnd858517:0%22ccrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22icrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22acrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%5crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22hicrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22gcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22icrwdnd858517:0%3crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22fcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%5crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22dcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22ccrwdnd858517:0%22crwdnd858517:0%7crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0%7Bcrwdnd858517:0%22ccrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%22icrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22dcrwdnd858517:0%22crwdnd858517:0%5crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22dcrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22hicrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22gcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22scrwdnd858517:0%3crwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22fcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%7Bcrwdnd858517:0%22ncrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22scrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22ocrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%22ocrwdnd858517:0%22crwdnd858517:0%2Ccrwdnd858517:0%22crwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%5Bcrwdnd858517:0%5crwdnd858517:0%7crwdnd858517:0%5crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%2Ccrwdnd858517:0%22pcrwdnd858517:0%22crwdnd858517:0%3crwdnd858517:0%7crwdnd858517:0{{opSetting:base_url}}crwdnd858517:0[Boards]crwdnd858517:0{{opSetting:base_url}}crwdne858517:0 - item_4: - options: - name: crwdns858519:0crwdne858519:0 - item_5: - options: - name: crwdns858521:0crwdne858521:0 diff --git a/modules/bim/config/locales/crowdin/lol.yml b/modules/bim/config/locales/crowdin/lol.yml deleted file mode 100644 index cc49f758e3df..000000000000 --- a/modules/bim/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,133 +0,0 @@ -#English strings go here for Rails i18n -lol: - bim: - label_bim: 'crwdns496051:0crwdne496051:0' - bcf: - label_bcf: 'crwdns496055:0crwdne496055:0' - label_imported_failed: 'crwdns496057:0crwdne496057:0' - label_imported_successfully: 'crwdns496061:0crwdne496061:0' - issues: "crwdns496065:0crwdne496065:0" - recommended: 'crwdns496069:0crwdne496069:0' - not_recommended: 'crwdns496077:0crwdne496077:0' - no_viewpoints: 'crwdns496079:0crwdne496079:0' - new_badge: "crwdns496091:0crwdne496091:0" - exceptions: - file_invalid: "crwdns496095:0crwdne496095:0" - x_bcf_issues: - zero: 'crwdns496099:0crwdne496099:0' - one: 'crwdns496101:0crwdne496101:0' - other: 'crwdns496105:0%{count}crwdne496105:0' - bcf_xml: - xml_file: 'crwdns496109:0crwdne496109:0' - import_title: 'crwdns496113:0crwdne496113:0' - export: 'crwdns496115:0crwdne496115:0' - import_update_comment: 'crwdns496119:0crwdne496119:0' - import_failed: 'crwdns496121:0%{error}crwdne496121:0' - import_failed_unsupported_bcf_version: 'crwdns496125:0%{minimal_version}crwdne496125:0' - import_successful: 'crwdns496127:0%{count}crwdne496127:0' - import_canceled: 'crwdns496131:0crwdne496131:0' - type_not_active: "crwdns496133:0crwdne496133:0" - import: - num_issues_found: 'crwdns496137:0%{x_bcf_issues}crwdne496137:0' - button_prepare: 'crwdns496139:0crwdne496139:0' - button_perform_import: 'crwdns496145:0crwdne496145:0' - button_proceed: 'crwdns496147:0crwdne496147:0' - button_back_to_list: 'crwdns496151:0crwdne496151:0' - no_permission_to_add_members: 'crwdns496153:0crwdne496153:0' - contact_project_admin: 'crwdns496157:0crwdne496157:0' - continue_anyways: 'crwdns496161:0crwdne496161:0' - description: "crwdns496165:0crwdne496165:0" - invalid_types_found: 'crwdns496169:0crwdne496169:0' - invalid_statuses_found: 'crwdns496171:0crwdne496171:0' - invalid_priorities_found: 'crwdns496175:0crwdne496175:0' - invalid_emails_found: 'crwdns496179:0crwdne496179:0' - unknown_emails_found: 'crwdns496183:0crwdne496183:0' - unknown_property: 'crwdns496187:0crwdne496187:0' - non_members_found: 'crwdns496189:0crwdne496189:0' - import_types_as: 'crwdns496193:0crwdne496193:0' - import_statuses_as: 'crwdns496195:0crwdne496195:0' - import_priorities_as: 'crwdns496199:0crwdne496199:0' - invite_as_members_with_role: 'crwdns496201:0%{project}crwdne496201:0' - add_as_members_with_role: 'crwdns496203:0%{project}crwdne496203:0' - no_type_provided: 'crwdns496207:0crwdne496207:0' - no_status_provided: 'crwdns496209:0crwdne496209:0' - no_priority_provided: 'crwdns496219:0crwdne496219:0' - perform_description: "crwdns496221:0crwdne496221:0" - replace_with_system_user: 'crwdns496223:0crwdne496223:0' - import_as_system_user: 'crwdns496227:0crwdne496227:0' - what_to_do: "crwdns496229:0crwdne496229:0" - work_package_has_newer_changes: "crwdns496233:0crwdne496233:0" - bcf_file_not_found: "crwdns496235:0crwdne496235:0" - export: - format: - bcf: "crwdns496239:0crwdne496239:0" - attributes: - bcf_thumbnail: "crwdns496241:0crwdne496241:0" - project_module_bcf: "crwdns496245:0crwdne496245:0" - project_module_bim: "crwdns496249:0crwdne496249:0" - permission_view_linked_issues: "crwdns496251:0crwdne496251:0" - permission_manage_bcf: "crwdns496255:0crwdne496255:0" - permission_delete_bcf: "crwdns496257:0crwdne496257:0" - oauth: - scopes: - bcf_v2_1: "crwdns496261:0crwdne496261:0" - bcf_v2_1_text: "crwdns496265:0crwdne496265:0" - activerecord: - models: - bim/ifc_models/ifc_model: "crwdns496267:0crwdne496267:0" - attributes: - bim/ifc_models/ifc_model: - ifc_attachment: "crwdns496281:0crwdne496281:0" - is_default: "crwdns496283:0crwdne496283:0" - attachments: "crwdns496285:0crwdne496285:0" - errors: - models: - bim/ifc_models/ifc_model: - attributes: - base: - ifc_attachment_missing: "crwdns496287:0crwdne496287:0" - invalid_ifc_file: "crwdns496291:0crwdne496291:0" - bim/bcf/viewpoint: - bitmaps_not_writable: "crwdns496293:0crwdne496293:0" - index_not_integer: "crwdns496297:0crwdne496297:0" - invalid_clipping_planes: "crwdns496299:0crwdne496299:0" - invalid_components: "crwdns496303:0crwdne496303:0" - invalid_lines: "crwdns496305:0crwdne496305:0" - invalid_orthogonal_camera: "crwdns496309:0crwdne496309:0" - invalid_perspective_camera: "crwdns496311:0crwdne496311:0" - mismatching_guid: "crwdns496315:0crwdne496315:0" - no_json: "crwdns496317:0crwdne496317:0" - snapshot_type_unsupported: "crwdns496321:0crwdne496321:0" - snapshot_data_blank: "crwdns496325:0crwdne496325:0" - unsupported_key: "crwdns496327:0crwdne496327:0" - bim/bcf/issue: - uuid_already_taken: "crwdns496331:0crwdne496331:0" - ifc_models: - label_ifc_models: 'crwdns496333:0crwdne496333:0' - label_new_ifc_model: 'crwdns496337:0crwdne496337:0' - label_show_defaults: 'crwdns496339:0crwdne496339:0' - label_default_ifc_models: 'crwdns496343:0crwdne496343:0' - label_edit_defaults: 'crwdns496345:0crwdne496345:0' - no_defaults_warning: - title: 'crwdns496347:0crwdne496347:0' - check_1: 'crwdns496349:0crwdne496349:0' - check_2: 'crwdns496353:0crwdne496353:0' - no_results: "crwdns496355:0crwdne496355:0" - conversion_status: - label: 'crwdns496359:0crwdne496359:0' - pending: 'crwdns496363:0crwdne496363:0' - processing: 'crwdns496365:0crwdne496365:0' - completed: 'crwdns496367:0crwdne496367:0' - error: 'crwdns496369:0crwdne496369:0' - processing_notice: - processing_default: 'crwdns496371:0crwdne496371:0' - flash_messages: - upload_successful: 'crwdns496375:0crwdne496375:0' - conversion: - missing_commands: "crwdns496379:0%{names}crwdne496379:0" - project_module_ifc_models: "crwdns496381:0crwdne496381:0" - permission_view_ifc_models: "crwdns496387:0crwdne496387:0" - permission_manage_ifc_models: "crwdns496393:0crwdne496393:0" - extraction: - available: - ifc_convert: "crwdns496395:0crwdne496395:0" diff --git a/modules/boards/config/locales/crowdin/js-lol.yml b/modules/boards/config/locales/crowdin/js-lol.yml deleted file mode 100644 index f4dff937e7e9..000000000000 --- a/modules/boards/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,85 +0,0 @@ -#English strings go here -lol: - js: - boards: - create_new: 'crwdns809630:0crwdne809630:0' - label_unnamed_board: 'crwdns500205:0crwdne500205:0' - label_unnamed_list: 'crwdns500207:0crwdne500207:0' - label_board_type: 'crwdns500209:0crwdne500209:0' - upsale: - teaser_text: 'crwdns839487:0crwdne839487:0' - upgrade: 'crwdns500215:0crwdne500215:0' - lists: - delete: 'crwdns500219:0crwdne500219:0' - version: - is_locked: 'crwdns500221:0crwdne500221:0' - is_closed: 'crwdns500223:0crwdne500223:0' - close_version: 'crwdns500225:0crwdne500225:0' - open_version: 'crwdns500227:0crwdne500227:0' - lock_version: 'crwdns500229:0crwdne500229:0' - unlock_version: 'crwdns500231:0crwdne500231:0' - edit_version: 'crwdns500233:0crwdne500233:0' - show_version: 'crwdns500235:0crwdne500235:0' - locked: 'crwdns500237:0crwdne500237:0' - closed: 'crwdns500239:0crwdne500239:0' - new_board: 'crwdns500241:0crwdne500241:0' - add_list: 'crwdns500243:0crwdne500243:0' - add_card: 'crwdns500245:0crwdne500245:0' - error_attribute_not_writable: "crwdns500247:0%{attribute}crwdne500247:0" - error_loading_the_list: "crwdns500249:0%{error_message}crwdne500249:0" - error_permission_missing: "crwdns500251:0crwdne500251:0" - error_cannot_move_into_self: "crwdns500253:0crwdne500253:0" - text_hidden_list_warning: "crwdns500255:0crwdne500255:0" - click_to_remove_list: "crwdns500257:0crwdne500257:0" - board_type: - text: 'crwdns500259:0crwdne500259:0' - free: 'crwdns500261:0crwdne500261:0' - select_board_type: 'crwdns500263:0crwdne500263:0' - free_text: > - crwdns500265:0crwdne500265:0 - action: 'crwdns500267:0crwdne500267:0' - action_by_attribute: 'crwdns500269:0%{attribute}crwdne500269:0' - action_text: > - crwdns500271:0%{attribute}crwdne500271:0 - action_text_subprojects: > - crwdns500273:0crwdne500273:0 - action_text_subtasks: > - crwdns500275:0crwdne500275:0 - action_text_status: > - crwdns500277:0crwdne500277:0 - action_text_assignee: > - crwdns500279:0crwdne500279:0 - action_text_version: > - crwdns500281:0crwdne500281:0 - action_type: - assignee: crwdns500283:0crwdne500283:0 - status: crwdns500285:0crwdne500285:0 - version: crwdns500287:0crwdne500287:0 - subproject: crwdns500289:0crwdne500289:0 - subtasks: crwdns500291:0crwdne500291:0 - board_type_title: - assignee: crwdns500293:0crwdne500293:0 - status: crwdns500295:0crwdne500295:0 - version: crwdns500297:0crwdne500297:0 - subproject: crwdns500299:0crwdne500299:0 - subtasks: crwdns839489:0crwdne839489:0 - basic: crwdns500303:0crwdne500303:0 - select_attribute: "crwdns500305:0crwdne500305:0" - add_list_modal: - labels: - assignee: crwdns500307:0crwdne500307:0 - status: crwdns500309:0crwdne500309:0 - version: crwdns500311:0crwdne500311:0 - subproject: crwdns500313:0crwdne500313:0 - subtasks: crwdns500315:0crwdne500315:0 - warning: - status: | - crwdns500317:0crwdne500317:0 - assignee: crwdns500319:0crwdne500319:0 - no_member: crwdns500321:0crwdne500321:0 - add_members: crwdns500323:0%{link}crwdne500323:0 - configuration_modal: - title: 'crwdns500325:0crwdne500325:0' - display_settings: - card_mode: "crwdns500327:0crwdne500327:0" - table_mode: "crwdns500329:0crwdne500329:0" diff --git a/modules/boards/config/locales/crowdin/lol.seeders.yml b/modules/boards/config/locales/crowdin/lol.seeders.yml deleted file mode 100644 index 84a9b1b571a3..000000000000 --- a/modules/boards/config/locales/crowdin/lol.seeders.yml +++ /dev/null @@ -1,8 +0,0 @@ -#This file has been generated by script/i18n/generate_seeders_i18n_source_file. -#Please do not edit directly. -#This file is part of the sources sent to crowdin for translation. -#This file is needed to prevent bug #48450: at least two 'en.seeders.yml' files -#located in the modules directories are needed to have crowdin cli correctly -#compute the path to the uploaded source file. -#This file does not contain any i18n strings. -lol: crwdns858121:0crwdne858121:0 diff --git a/modules/boards/config/locales/crowdin/lol.yml b/modules/boards/config/locales/crowdin/lol.yml deleted file mode 100644 index 735a75fa03a1..000000000000 --- a/modules/boards/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,18 +0,0 @@ -#English strings go here -lol: - permission_show_board_views: "crwdns494651:0crwdne494651:0" - permission_manage_board_views: "crwdns494653:0crwdne494653:0" - project_module_board_view: "crwdns494655:0crwdne494655:0" - boards: - label_board: "crwdns494657:0crwdne494657:0" - label_boards: "crwdns494659:0crwdne494659:0" - board_types: - free: crwdns853661:0crwdne853661:0 - action: "crwdns853663:0%{attribute}crwdne853663:0" - board_type_attributes: - assignee: crwdns853665:0crwdne853665:0 - status: crwdns853667:0crwdne853667:0 - version: crwdns853669:0crwdne853669:0 - subproject: crwdns853671:0crwdne853671:0 - subtasks: crwdns853673:0crwdne853673:0 - basic: crwdns853675:0crwdne853675:0 diff --git a/modules/budgets/config/locales/crowdin/js-lol.yml b/modules/budgets/config/locales/crowdin/js-lol.yml deleted file mode 100644 index be5cac24bbf3..000000000000 --- a/modules/budgets/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,26 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - js: - work_packages: - properties: - costObject: "crwdns500099:0crwdne500099:0" diff --git a/modules/budgets/config/locales/crowdin/lol.yml b/modules/budgets/config/locales/crowdin/lol.yml deleted file mode 100644 index 4d9e73df62ad..000000000000 --- a/modules/budgets/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,76 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - activerecord: - attributes: - budget: - author: "crwdns493985:0crwdne493985:0" - available: "crwdns493987:0crwdne493987:0" - budget: "crwdns493989:0crwdne493989:0" - budget_ratio: "crwdns493991:0crwdne493991:0" - description: "crwdns493993:0crwdne493993:0" - spent: "crwdns493995:0crwdne493995:0" - status: "crwdns493997:0crwdne493997:0" - subject: "crwdns493999:0crwdne493999:0" - type: "crwdns494001:0crwdne494001:0" - labor_budget: "crwdns494003:0crwdne494003:0" - material_budget: "crwdns494005:0crwdne494005:0" - work_package: - budget_subject: "crwdns494007:0crwdne494007:0" - models: - budget: "crwdns494009:0crwdne494009:0" - material_budget_item: "crwdns494011:0crwdne494011:0" - activity: - filter: - budget: "crwdns845793:0crwdne845793:0" - attributes: - budget: "crwdns494013:0crwdne494013:0" - button_add_budget_item: "crwdns494015:0crwdne494015:0" - button_add_budget: "crwdns494017:0crwdne494017:0" - button_add_cost_type: "crwdns494019:0crwdne494019:0" - button_cancel_edit_budget: "crwdns494021:0crwdne494021:0" - button_cancel_edit_costs: "crwdns494023:0crwdne494023:0" - caption_labor: "crwdns494025:0crwdne494025:0" - caption_labor_costs: "crwdns494027:0crwdne494027:0" - caption_material_costs: "crwdns494029:0crwdne494029:0" - budgets_title: "crwdns494031:0crwdne494031:0" - events: - budget: "crwdns494033:0crwdne494033:0" - help_click_to_edit: "crwdns494035:0crwdne494035:0" - help_currency_format: "crwdns494037:0%ncrwdnd494037:0%ucrwdne494037:0" - help_override_rate: "crwdns494039:0crwdne494039:0" - label_budget: "crwdns494041:0crwdne494041:0" - label_budget_new: "crwdns494043:0crwdne494043:0" - label_budget_plural: "crwdns494045:0crwdne494045:0" - label_budget_id: "crwdns494047:0%{id}crwdne494047:0" - label_deliverable: "crwdns494049:0crwdne494049:0" - label_example_placeholder: 'crwdns494051:0%{decimal}crwdne494051:0' - label_view_all_budgets: "crwdns494053:0crwdne494053:0" - label_yes: "crwdns494055:0crwdne494055:0" - notice_budget_conflict: "crwdns830272:0crwdne830272:0" - notice_no_budgets_available: "crwdns494059:0crwdne494059:0" - permission_edit_budgets: "crwdns494061:0crwdne494061:0" - permission_view_budgets: "crwdns494063:0crwdne494063:0" - project_module_budgets: "crwdns494065:0crwdne494065:0" - text_budget_reassign_to: "crwdns494067:0crwdne494067:0" - text_budget_delete: "crwdns494069:0crwdne494069:0" - text_budget_destroy_assigned_wp: "crwdns494071:0%{count}crwdne494071:0" diff --git a/modules/calendar/config/locales/crowdin/js-lol.yml b/modules/calendar/config/locales/crowdin/js-lol.yml deleted file mode 100644 index 7ed8377e9f22..000000000000 --- a/modules/calendar/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,8 +0,0 @@ -#English strings go here -lol: - js: - calendar: - create_new: 'crwdns809628:0crwdne809628:0' - title: 'crwdns588587:0crwdne588587:0' - too_many: 'crwdns588589:0%{count}crwdnd588589:0%{max}crwdne588589:0' - unsaved_title: 'crwdns588591:0crwdne588591:0' diff --git a/modules/calendar/config/locales/crowdin/lol.yml b/modules/calendar/config/locales/crowdin/lol.yml deleted file mode 100644 index 7087ea5e18fc..000000000000 --- a/modules/calendar/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,7 +0,0 @@ -#English strings go here -lol: - label_calendar_plural: "crwdns761744:0crwdne761744:0" - permission_view_calendar: "crwdns808536:0crwdne808536:0" - permission_manage_calendars: "crwdns761748:0crwdne761748:0" - permission_share_calendars: "crwdns854557:0crwdne854557:0" - project_module_calendar_view: "crwdns858119:0crwdne858119:0" diff --git a/modules/costs/config/locales/crowdin/js-lol.yml b/modules/costs/config/locales/crowdin/js-lol.yml deleted file mode 100644 index bde454cbdf7f..000000000000 --- a/modules/costs/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,32 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - js: - work_packages: - property_groups: - costs: "crwdns499999:0crwdne499999:0" - properties: - overallCosts: "crwdns500001:0crwdne500001:0" - spentUnits: "crwdns500003:0crwdne500003:0" - button_log_costs: "crwdns500005:0crwdne500005:0" - label_hour: "crwdns500007:0crwdne500007:0" - label_hours: "crwdns500009:0crwdne500009:0" diff --git a/modules/costs/config/locales/crowdin/lol.yml b/modules/costs/config/locales/crowdin/lol.yml deleted file mode 100644 index 74eea92ddba2..000000000000 --- a/modules/costs/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,142 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - activerecord: - attributes: - cost_entry: - work_package: "crwdns493757:0crwdne493757:0" - overridden_costs: "crwdns493759:0crwdne493759:0" - spent: "crwdns493761:0crwdne493761:0" - spent_on: "crwdns493763:0crwdne493763:0" - cost_type: - unit: "crwdns493765:0crwdne493765:0" - unit_plural: "crwdns493767:0crwdne493767:0" - work_package: - costs_by_type: "crwdns493769:0crwdne493769:0" - labor_costs: "crwdns493771:0crwdne493771:0" - material_costs: "crwdns493773:0crwdne493773:0" - overall_costs: "crwdns493775:0crwdne493775:0" - spent_costs: "crwdns493777:0crwdne493777:0" - spent_units: "crwdns493779:0crwdne493779:0" - rate: - rate: "crwdns493781:0crwdne493781:0" - user: - default_rates: "crwdns493783:0crwdne493783:0" - models: - cost_type: - one: "crwdns493785:1crwdne493785:1" - other: "crwdns493785:5crwdne493785:5" - rate: "crwdns493787:0crwdne493787:0" - errors: - models: - work_package: - is_not_a_valid_target_for_cost_entries: "crwdns493789:0%{id}crwdne493789:0" - nullify_is_not_valid_for_cost_entries: "crwdns493791:0crwdne493791:0" - attributes: - comment: "crwdns493793:0crwdne493793:0" - cost_type: "crwdns493795:0crwdne493795:0" - costs: "crwdns493797:0crwdne493797:0" - current_rate: "crwdns493799:0crwdne493799:0" - hours: "crwdns493801:0crwdne493801:0" - units: "crwdns493803:0crwdne493803:0" - valid_from: "crwdns493805:0crwdne493805:0" - fixed_date: "crwdns493807:0crwdne493807:0" - button_add_rate: "crwdns493809:0crwdne493809:0" - button_log_costs: "crwdns493811:0crwdne493811:0" - caption_booked_on_project: "crwdns493813:0crwdne493813:0" - caption_default: "crwdns493815:0crwdne493815:0" - caption_default_rate_history_for: "crwdns493817:0%{user}crwdne493817:0" - caption_locked_on: "crwdns493819:0crwdne493819:0" - caption_materials: "crwdns493821:0crwdne493821:0" - caption_rate_history: "crwdns493823:0crwdne493823:0" - caption_rate_history_for: "crwdns493825:0%{user}crwdne493825:0" - caption_rate_history_for_project: "crwdns493827:0%{user}crwdnd493827:0%{project}crwdne493827:0" - caption_save_rate: "crwdns493829:0crwdne493829:0" - caption_set_rate: "crwdns493831:0crwdne493831:0" - caption_show_locked: "crwdns493833:0crwdne493833:0" - description_date_for_new_rate: "crwdns493835:0crwdne493835:0" - group_by_others: "crwdns493837:0crwdne493837:0" - label_between: "crwdns493839:0crwdne493839:0" - label_cost_filter_add: "crwdns493841:0crwdne493841:0" - label_costlog: "crwdns493843:0crwdne493843:0" - label_cost_plural: "crwdns493845:0crwdne493845:0" - label_cost_type_plural: "crwdns493847:0crwdne493847:0" - label_cost_type_specific: "crwdns493849:0%{id}crwdnd493849:0%{name}crwdne493849:0" - label_costs_per_page: "crwdns493851:0crwdne493851:0" - label_currency: "crwdns493853:0crwdne493853:0" - label_currency_format: "crwdns493855:0crwdne493855:0" - label_current_default_rate: "crwdns493857:0crwdne493857:0" - label_date_on: "crwdns493859:0crwdne493859:0" - label_deleted_cost_types: "crwdns493861:0crwdne493861:0" - label_locked_cost_types: "crwdns493863:0crwdne493863:0" - label_display_cost_entries: "crwdns493865:0crwdne493865:0" - label_display_time_entries: "crwdns493867:0crwdne493867:0" - label_display_types: "crwdns493869:0crwdne493869:0" - label_edit: "crwdns493871:0crwdne493871:0" - label_generic_user: "crwdns493873:0crwdne493873:0" - label_greater_or_equal: "crwdns493875:0crwdne493875:0" - label_group_by: "crwdns493877:0crwdne493877:0" - label_group_by_add: "crwdns493879:0crwdne493879:0" - label_hourly_rate: "crwdns493881:0crwdne493881:0" - label_include_deleted: "crwdns493883:0crwdne493883:0" - label_work_package_filter_add: "crwdns493885:0crwdne493885:0" - label_kind: "crwdns493887:0crwdne493887:0" - label_less_or_equal: "crwdns493889:0crwdne493889:0" - label_log_costs: "crwdns493891:0crwdne493891:0" - label_no: "crwdns493893:0crwdne493893:0" - label_option_plural: "crwdns493895:0crwdne493895:0" - label_overall_costs: "crwdns493897:0crwdne493897:0" - label_rate: "crwdns493899:0crwdne493899:0" - label_rate_plural: "crwdns493901:0crwdne493901:0" - label_status_finished: "crwdns493903:0crwdne493903:0" - label_units: "crwdns493905:0crwdne493905:0" - label_user: "crwdns493907:0crwdne493907:0" - label_until: "crwdns493909:0crwdne493909:0" - label_valid_from: "crwdns493911:0crwdne493911:0" - label_yes: "crwdns493913:0crwdne493913:0" - notice_something_wrong: "crwdns493915:0crwdne493915:0" - notice_successful_restore: "crwdns493917:0crwdne493917:0" - notice_successful_lock: "crwdns493919:0crwdne493919:0" - notice_cost_logged_successfully: 'crwdns493921:0crwdne493921:0' - permission_edit_cost_entries: "crwdns493923:0crwdne493923:0" - permission_edit_own_cost_entries: "crwdns493925:0crwdne493925:0" - permission_edit_hourly_rates: "crwdns493927:0crwdne493927:0" - permission_edit_own_hourly_rate: "crwdns493929:0crwdne493929:0" - permission_edit_rates: "crwdns493931:0crwdne493931:0" - permission_log_costs: "crwdns493933:0crwdne493933:0" - permission_log_own_costs: "crwdns493935:0crwdne493935:0" - permission_view_cost_entries: "crwdns493937:0crwdne493937:0" - permission_view_cost_rates: "crwdns493939:0crwdne493939:0" - permission_view_hourly_rates: "crwdns493941:0crwdne493941:0" - permission_view_own_cost_entries: "crwdns493943:0crwdne493943:0" - permission_view_own_hourly_rate: "crwdns493945:0crwdne493945:0" - permission_view_own_time_entries: "crwdns493947:0crwdne493947:0" - project_module_costs: "crwdns493949:0crwdne493949:0" - text_assign_time_and_cost_entries_to_project: "crwdns493951:0crwdne493951:0" - text_destroy_cost_entries_question: "crwdns493953:0%{cost_entries}crwdne493953:0" - text_destroy_time_and_cost_entries: "crwdns493955:0crwdne493955:0" - text_destroy_time_and_cost_entries_question: "crwdns493957:0%{hours}crwdnd493957:0%{cost_entries}crwdne493957:0" - text_reassign_time_and_cost_entries: "crwdns493959:0crwdne493959:0" - text_warning_hidden_elements: "crwdns493961:0crwdne493961:0" - week: "crwdns493963:0crwdne493963:0" - js: - text_are_you_sure: "crwdns493965:0crwdne493965:0" diff --git a/modules/dashboards/config/locales/crowdin/js-lol.yml b/modules/dashboards/config/locales/crowdin/js-lol.yml deleted file mode 100644 index 648f0f28b753..000000000000 --- a/modules/dashboards/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,4 +0,0 @@ -lol: - js: - dashboards: - label: 'crwdns500081:0crwdne500081:0' diff --git a/modules/dashboards/config/locales/crowdin/lol.yml b/modules/dashboards/config/locales/crowdin/lol.yml deleted file mode 100644 index 6c89b8bd076f..000000000000 --- a/modules/dashboards/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,4 +0,0 @@ -lol: - dashboards: - label: 'crwdns493741:0crwdne493741:0' - project_module_dashboards: 'crwdns493743:0crwdne493743:0' diff --git a/modules/documents/config/locales/crowdin/lol.yml b/modules/documents/config/locales/crowdin/lol.yml deleted file mode 100644 index f8b8866de33b..000000000000 --- a/modules/documents/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,40 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - activerecord: - models: - document: "crwdns494199:0crwdne494199:0" - activity: - filter: - document: "crwdns845795:0crwdne845795:0" - default_doc_category_tech: "crwdns494201:0crwdne494201:0" - default_doc_category_user: "crwdns494203:0crwdne494203:0" - enumeration_doc_categories: "crwdns494205:0crwdne494205:0" - documents: - label_attachment_author: "crwdns494213:0crwdne494213:0" - label_document_added: "crwdns494215:0crwdne494215:0" - label_document_new: "crwdns494217:0crwdne494217:0" - label_document_plural: "crwdns494219:0crwdne494219:0" - label_documents: "crwdns494223:0crwdne494223:0" - permission_manage_documents: "crwdns494225:0crwdne494225:0" - permission_view_documents: "crwdns494227:0crwdne494227:0" - project_module_documents: "crwdns494229:0crwdne494229:0" diff --git a/modules/github_integration/config/locales/crowdin/js-lol.yml b/modules/github_integration/config/locales/crowdin/js-lol.yml deleted file mode 100644 index 663b39944865..000000000000 --- a/modules/github_integration/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,52 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - js: - github_integration: - work_packages: - tab_name: "crwdns859103:0crwdne859103:0" - tab_header: - title: "crwdns859105:0crwdne859105:0" - copy_menu: - label: crwdns859107:0crwdne859107:0 - description: crwdns859109:0crwdne859109:0 - git_actions: - branch_name: crwdns859111:0crwdne859111:0 - commit_message: crwdns859113:0crwdne859113:0 - cmd: crwdns859115:0crwdne859115:0 - title: crwdns859117:0crwdne859117:0 - copy_success: crwdns859119:0crwdne859119:0 - copy_error: crwdns859121:0crwdne859121:0 - tab_prs: - empty: crwdns859123:0%{wp_id}crwdne859123:0 - github_actions: crwdns859125:0crwdne859125:0 - pull_requests: - message: > - crwdns859127:0%{pr_number}crwdnd859127:0%{pr_link}crwdnd859127:0%{repository_link}crwdnd859127:0%{pr_state}crwdnd859127:0%{github_user_link}crwdne859127:0 - referenced_message: > - crwdns859129:0%{github_user_link}crwdnd859129:0%{pr_number}crwdnd859129:0%{pr_link}crwdnd859129:0%{repository_link}crwdne859129:0 - states: - opened: 'crwdns859131:0crwdne859131:0' - closed: 'crwdns859133:0crwdne859133:0' - draft: 'crwdns859135:0crwdne859135:0' - merged: 'crwdns859137:0crwdne859137:0' - ready_for_review: 'crwdns859139:0crwdne859139:0' diff --git a/modules/github_integration/config/locales/crowdin/lol.yml b/modules/github_integration/config/locales/crowdin/lol.yml deleted file mode 100644 index a70cd0964902..000000000000 --- a/modules/github_integration/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,25 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - project_module_github: "crwdns494685:0crwdne494685:0" - permission_show_github_content: "crwdns494687:0crwdne494687:0" - diff --git a/modules/grids/config/locales/crowdin/js-lol.yml b/modules/grids/config/locales/crowdin/js-lol.yml deleted file mode 100644 index ec39e053e75d..000000000000 --- a/modules/grids/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,66 +0,0 @@ -lol: - js: - grid: - add_widget: 'crwdns500101:0crwdne500101:0' - remove: 'crwdns500103:0crwdne500103:0' - configure: 'crwdns500105:0crwdne500105:0' - upsale: - text: "crwdns839483:0crwdne839483:0" - link: 'crwdns839485:0crwdne839485:0' - widgets: - custom_text: - title: 'crwdns500111:0crwdne500111:0' - documents: - title: 'crwdns500113:0crwdne500113:0' - no_results: 'crwdns500115:0crwdne500115:0' - members: - title: 'crwdns500117:0crwdne500117:0' - no_results: 'crwdns500119:0crwdne500119:0' - view_all_members: 'crwdns500121:0crwdne500121:0' - add: 'crwdns500123:0crwdne500123:0' - too_many: 'crwdns500125:0%{count}crwdnd500125:0%{total}crwdne500125:0' - news: - title: 'crwdns500127:0crwdne500127:0' - at: 'crwdns500129:0crwdne500129:0' - no_results: 'crwdns500131:0crwdne500131:0' - project_description: - title: 'crwdns500133:0crwdne500133:0' - no_results: "crwdns500135:0crwdne500135:0" - project_details: - title: 'crwdns500137:0crwdne500137:0' - no_results: 'crwdns500139:0crwdne500139:0' - project_status: - title: 'crwdns500141:0crwdne500141:0' - not_started: 'crwdns712528:0crwdne712528:0' - on_track: 'crwdns500143:0crwdne500143:0' - off_track: 'crwdns500145:0crwdne500145:0' - at_risk: 'crwdns500147:0crwdne500147:0' - not_set: 'crwdns500149:0crwdne500149:0' - finished: 'crwdns712530:0crwdne712530:0' - discontinued: 'crwdns712532:0crwdne712532:0' - subprojects: - title: 'crwdns500151:0crwdne500151:0' - no_results: 'crwdns500153:0crwdne500153:0' - time_entries_current_user: - title: 'crwdns500155:0crwdne500155:0' - displayed_days: 'crwdns500157:0crwdne500157:0' - time_entries_list: - title: 'crwdns500159:0crwdne500159:0' - no_results: 'crwdns500161:0crwdne500161:0' - work_packages_accountable: - title: "crwdns500163:0crwdne500163:0" - work_packages_assigned: - title: 'crwdns500165:0crwdne500165:0' - work_packages_created: - title: 'crwdns500167:0crwdne500167:0' - work_packages_watched: - title: 'crwdns500169:0crwdne500169:0' - work_packages_table: - title: 'crwdns500171:0crwdne500171:0' - work_packages_graph: - title: 'crwdns500173:0crwdne500173:0' - work_packages_calendar: - title: 'crwdns500175:0crwdne500175:0' - work_packages_overview: - title: 'crwdns500177:0crwdne500177:0' - placeholder: 'crwdns500179:0crwdne500179:0' diff --git a/modules/grids/config/locales/crowdin/lol.yml b/modules/grids/config/locales/crowdin/lol.yml deleted file mode 100644 index 96019f9fdfa7..000000000000 --- a/modules/grids/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,16 +0,0 @@ -lol: - grids: - label_widget_in_grid: "crwdns494281:0%{grid_name}crwdne494281:0" - activerecord: - attributes: - grids/grid: - page: "crwdns494283:0crwdne494283:0" - row_count: "crwdns494285:0crwdne494285:0" - column_count: "crwdns494287:0crwdne494287:0" - widgets: "crwdns494289:0crwdne494289:0" - errors: - models: - grids/grid: - overlaps: 'crwdns494291:0crwdne494291:0' - outside: 'crwdns494293:0crwdne494293:0' - end_before_start: 'crwdns494295:0crwdne494295:0' diff --git a/modules/job_status/config/locales/crowdin/js-lol.yml b/modules/job_status/config/locales/crowdin/js-lol.yml deleted file mode 100644 index 5f3d41e19653..000000000000 --- a/modules/job_status/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,17 +0,0 @@ -lol: - js: - job_status: - download_starts: 'crwdns500053:0crwdne500053:0' - click_to_download: 'crwdns500055:0crwdne500055:0' - title: 'crwdns500057:0crwdne500057:0' - redirect: 'crwdns500059:0crwdne500059:0' - redirect_link: 'crwdns500061:0crwdne500061:0' - redirect_errors: 'crwdns500063:0crwdne500063:0' - errors: 'crwdns500065:0crwdne500065:0' - generic_messages: - not_found: 'crwdns500067:0crwdne500067:0' - in_queue: 'crwdns500069:0crwdne500069:0' - in_process: 'crwdns500071:0crwdne500071:0' - error: 'crwdns500073:0crwdne500073:0' - cancelled: 'crwdns500075:0crwdne500075:0' - success: 'crwdns500077:0crwdne500077:0' diff --git a/modules/ldap_groups/config/locales/crowdin/lol.yml b/modules/ldap_groups/config/locales/crowdin/lol.yml deleted file mode 100644 index 8be28ff8e16a..000000000000 --- a/modules/ldap_groups/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,67 +0,0 @@ -lol: - activerecord: - attributes: - ldap_groups/synchronized_group: - dn: 'crwdns494441:0crwdne494441:0' - auth_source: 'crwdns494443:0crwdne494443:0' - sync_users: 'crwdns494445:0crwdne494445:0' - ldap_groups/synchronized_filter: - filter_string: 'crwdns494447:0crwdne494447:0' - auth_source: 'crwdns494449:0crwdne494449:0' - group_name_attribute: "crwdns494451:0crwdne494451:0" - sync_users: 'crwdns494453:0crwdne494453:0' - base_dn: "crwdns494455:0crwdne494455:0" - models: - ldap_groups/synchronized_group: 'crwdns494457:0crwdne494457:0' - ldap_groups/synchronized_filter: 'crwdns494459:0crwdne494459:0' - errors: - models: - ldap_groups/synchronized_filter: - must_contain_base_dn: "crwdns494461:0crwdne494461:0" - ldap_groups: - label_menu_item: 'crwdns494463:0crwdne494463:0' - label_group_key: 'crwdns494465:0crwdne494465:0' - label_synchronize: 'crwdns494467:0crwdne494467:0' - settings: - name_attribute: 'crwdns494469:0crwdne494469:0' - name_attribute_text: 'crwdns494471:0crwdne494471:0' - synchronized_filters: - add_new: 'crwdns494473:0crwdne494473:0' - singular: 'crwdns494475:0crwdne494475:0' - plural: 'crwdns494477:0crwdne494477:0' - label_n_groups_found: - one: "crwdns494479:0crwdne494479:0" - other: "crwdns494481:0%{count}crwdne494481:0" - zero: "crwdns494483:0crwdne494483:0" - destroy: - title: 'crwdns494485:0%{name}crwdne494485:0' - confirmation: "crwdns494487:0%{name}crwdnd494487:0%{groups_count}crwdne494487:0" - removed_groups: "crwdns494489:0crwdne494489:0" - verification: "crwdns494491:0%{name}crwdne494491:0" - form: - group_name_attribute_text: 'crwdns494493:0crwdne494493:0' - filter_string_text: 'crwdns494495:0crwdne494495:0' - base_dn_text: > - crwdns494497:0crwdne494497:0 - synchronized_groups: - add_new: 'crwdns494499:0crwdne494499:0' - destroy: - title: 'crwdns494501:0%{name}crwdne494501:0' - confirmation: "crwdns494503:0%{name}crwdnd494503:0%{users_count}crwdne494503:0" - info: "crwdns494505:0crwdne494505:0" - verification: "crwdns494507:0%{name}crwdne494507:0" - help_text_html: | - crwdns494509:0crwdne494509:0 - no_results: 'crwdns494511:0crwdne494511:0' - no_members: 'crwdns494513:0crwdne494513:0' - plural: 'crwdns494515:0crwdne494515:0' - singular: 'crwdns494517:0crwdne494517:0' - form: - auth_source_text: 'crwdns494519:0crwdne494519:0' - sync_users_text: > - crwdns494521:0crwdne494521:0 - dn_text: 'crwdns494523:0crwdne494523:0' - group_text: 'crwdns494525:0crwdne494525:0' - upsale: - description: 'crwdns822264:0crwdne822264:0' - diff --git a/modules/meeting/config/locales/crowdin/lol.yml b/modules/meeting/config/locales/crowdin/lol.yml deleted file mode 100644 index 3857a0a819fa..000000000000 --- a/modules/meeting/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,93 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -#English strings go here for Rails i18n -lol: - activerecord: - attributes: - meeting: - location: "crwdns494323:0crwdne494323:0" - duration: "crwdns494325:0crwdne494325:0" - participants: "crwdns494327:0crwdne494327:0" - participants_attended: "crwdns494329:0crwdne494329:0" - participants_invited: "crwdns494331:0crwdne494331:0" - start_time: "crwdns494333:0crwdne494333:0" - start_time_hour: "crwdns494335:0crwdne494335:0" - errors: - messages: - invalid_time_format: "crwdns494337:0crwdne494337:0" - models: - meeting_agenda: "crwdns494339:0crwdne494339:0" - meeting_minutes: "crwdns494341:0crwdne494341:0" - activity: - filter: - meeting: "crwdns845797:0crwdne845797:0" - description_attended: "crwdns494343:0crwdne494343:0" - description_invite: "crwdns494345:0crwdne494345:0" - events: - meeting: crwdns494347:0crwdne494347:0 - meeting_agenda: crwdns494349:0crwdne494349:0 - meeting_agenda_closed: crwdns494351:0crwdne494351:0 - meeting_agenda_opened: crwdns494353:0crwdne494353:0 - meeting_minutes: crwdns494355:0crwdne494355:0 - meeting_minutes_created: crwdns494357:0crwdne494357:0 - error_notification_with_errors: "crwdns494359:0%{recipients}crwdne494359:0" - label_meeting: "crwdns494361:0crwdne494361:0" - label_meeting_plural: "crwdns494363:0crwdne494363:0" - label_meeting_new: "crwdns494365:0crwdne494365:0" - label_meeting_edit: "crwdns494367:0crwdne494367:0" - label_meeting_agenda: "crwdns494369:0crwdne494369:0" - label_meeting_minutes: "crwdns494371:0crwdne494371:0" - label_meeting_close: "crwdns494373:0crwdne494373:0" - label_meeting_open: "crwdns494375:0crwdne494375:0" - label_meeting_agenda_close: "crwdns494377:0crwdne494377:0" - label_meeting_date_time: "crwdns494379:0crwdne494379:0" - label_meeting_diff: "crwdns494381:0crwdne494381:0" - label_notify: "crwdns494383:0crwdne494383:0" - label_icalendar: "crwdns494385:0crwdne494385:0" - label_version: "crwdns494387:0crwdne494387:0" - label_time_zone: "crwdns494389:0crwdne494389:0" - label_start_date: "crwdns494391:0crwdne494391:0" - meeting: - copied: "crwdns494393:0%{id}crwdne494393:0" - notice_successful_notification: "crwdns494395:0crwdne494395:0" - notice_timezone_missing: crwdns494397:0%{zone}crwdne494397:0 - permission_create_meetings: "crwdns494399:0crwdne494399:0" - permission_edit_meetings: "crwdns494401:0crwdne494401:0" - permission_delete_meetings: "crwdns494403:0crwdne494403:0" - permission_view_meetings: "crwdns494405:0crwdne494405:0" - permission_create_meeting_agendas: "crwdns494407:0crwdne494407:0" - permission_close_meeting_agendas: "crwdns494409:0crwdne494409:0" - permission_send_meeting_agendas_notification: "crwdns494411:0crwdne494411:0" - permission_create_meeting_minutes: "crwdns494413:0crwdne494413:0" - permission_send_meeting_minutes_notification: "crwdns494415:0crwdne494415:0" - permission_meetings_send_invite: "crwdns494417:0crwdne494417:0" - permission_send_meeting_agendas_icalendar: "crwdns494419:0crwdne494419:0" - project_module_meetings: "crwdns494421:0crwdne494421:0" - text_duration_in_hours: "crwdns494423:0crwdne494423:0" - text_in_hours: "crwdns494425:0crwdne494425:0" - text_meeting_agenda_for_meeting: 'crwdns494427:0%{meeting}crwdne494427:0' - text_meeting_closing_are_you_sure: "crwdns859101:0crwdne859101:0" - text_meeting_agenda_open_are_you_sure: "crwdns494431:0crwdne494431:0" - text_meeting_minutes_for_meeting: 'crwdns494433:0%{meeting}crwdne494433:0' - text_review_meeting_agenda: "crwdns494435:0%{author}crwdnd494435:0%{link}crwdne494435:0" - text_review_meeting_minutes: "crwdns494437:0%{author}crwdnd494437:0%{link}crwdne494437:0" - text_notificiation_invited: "crwdns494439:0crwdne494439:0" diff --git a/modules/my_page/config/locales/crowdin/js-lol.yml b/modules/my_page/config/locales/crowdin/js-lol.yml deleted file mode 100644 index fbdea528177b..000000000000 --- a/modules/my_page/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,4 +0,0 @@ -lol: - js: - my_page: - label: "crwdns500085:0crwdne500085:0" diff --git a/modules/openid_connect/config/locales/crowdin/lol.yml b/modules/openid_connect/config/locales/crowdin/lol.yml deleted file mode 100644 index a41757fd51fb..000000000000 --- a/modules/openid_connect/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,23 +0,0 @@ -lol: - logout_warning: > - crwdns494661:0crwdne494661:0 - activemodel: - attributes: - openid_connect/provider: - name: crwdns494663:0crwdne494663:0 - display_name: crwdns494665:0crwdne494665:0 - identifier: crwdns494667:0crwdne494667:0 - secret: crwdns494669:0crwdne494669:0 - scope: crwdns494671:0crwdne494671:0 - limit_self_registration: crwdns851967:0crwdne851967:0 - openid_connect: - menu_title: crwdns494673:0crwdne494673:0 - providers: - label_add_new: crwdns494675:0crwdne494675:0 - label_edit: crwdns494677:0%{name}crwdne494677:0 - no_results_table: crwdns494679:0crwdne494679:0 - plural: crwdns494681:0crwdne494681:0 - singular: crwdns494683:0crwdne494683:0 - setting_instructions: - limit_self_registration: > - crwdns851969:0crwdne851969:0 diff --git a/modules/overviews/config/locales/crowdin/js-lol.yml b/modules/overviews/config/locales/crowdin/js-lol.yml deleted file mode 100644 index 333ac4a96d79..000000000000 --- a/modules/overviews/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,4 +0,0 @@ -lol: - js: - overviews: - label: 'crwdns500079:0crwdne500079:0' diff --git a/modules/overviews/config/locales/crowdin/lol.yml b/modules/overviews/config/locales/crowdin/lol.yml deleted file mode 100644 index d95c062ab8e3..000000000000 --- a/modules/overviews/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,4 +0,0 @@ -lol: - overviews: - label: 'crwdns493753:0crwdne493753:0' - permission_manage_overview: 'crwdns493755:0crwdne493755:0' diff --git a/modules/pdf_export/config/locales/crowdin/lol.yml b/modules/pdf_export/config/locales/crowdin/lol.yml deleted file mode 100644 index 553a98d52a61..000000000000 --- a/modules/pdf_export/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - error_can_not_delete_export_card_configuration: "crwdns494527:0crwdne494527:0" - error_can_not_change_name_of_default_configuration: "crwdns494529:0crwdne494529:0" - label_backlogs_export_card_config_select: "crwdns494531:0crwdne494531:0" - label_backlogs_export_card_export: "crwdns494533:0crwdne494533:0" - label_export_card_configuration_new: "crwdns494535:0crwdne494535:0" - label_export_card_configuration: "crwdns494537:0crwdne494537:0" - label_export_card_configuration_plural: "crwdns494539:0crwdne494539:0" - label_export_card_activate: "crwdns494541:0crwdne494541:0" - label_export_card_deactivate: "crwdns494543:0crwdne494543:0" - notice_export_card_configuration_activated: "crwdns494545:0crwdne494545:0" - notice_export_card_configuration_deactivated: "crwdns494547:0crwdne494547:0" - error_can_not_activate_export_card_configuration: "crwdns494549:0crwdne494549:0" - error_can_not_deactivate_export_card_configuration: "crwdns494551:0crwdne494551:0" - validation_error_required_keys_not_present: "crwdns494553:0crwdne494553:0" - validation_error_yaml_is_badly_formed: "crwdns494555:0crwdne494555:0" - validation_error_uknown_key: "crwdns494557:0crwdne494557:0" - yaml_error: "crwdns494559:0crwdne494559:0" - help_link_rows_format: "crwdns494561:0crwdne494561:0" - export_config_per_page: "crwdns494563:0crwdne494563:0" - export_config_page_size: "crwdns494565:0crwdne494565:0" - export_config_orientation: "crwdns494567:0crwdne494567:0" - export_config_rows: "crwdns494569:0crwdne494569:0" - activerecord: - attributes: - export_card_configuration: - rows: "crwdns494571:0crwdne494571:0" - per_page: "crwdns494573:0crwdne494573:0" - page_size: "crwdns494575:0crwdne494575:0" - orientation: "crwdns494577:0crwdne494577:0" diff --git a/modules/recaptcha/config/locales/crowdin/lol.yml b/modules/recaptcha/config/locales/crowdin/lol.yml deleted file mode 100644 index 57cd035686e6..000000000000 --- a/modules/recaptcha/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,18 +0,0 @@ -#English strings go here for Rails i18n -lol: - recaptcha: - label_recaptcha: "crwdns494297:0crwdne494297:0" - button_please_wait: 'crwdns494299:0crwdne494299:0' - verify_account: "crwdns494301:0crwdne494301:0" - error_captcha: "crwdns494303:0crwdne494303:0" - settings: - website_key: 'crwdns494305:0crwdne494305:0' - website_key_text: 'crwdns494307:0crwdne494307:0' - secret_key: 'crwdns494309:0crwdne494309:0' - secret_key_text: 'crwdns494311:0crwdne494311:0' - type: 'crwdns494313:0crwdne494313:0' - type_disabled: 'crwdns494315:0crwdne494315:0' - type_v2: 'crwdns494317:0crwdne494317:0' - type_v3: 'crwdns494319:0crwdne494319:0' - recaptcha_description_html: > - crwdns494321:0%{recaptcha_link}crwdne494321:0 diff --git a/modules/reporting/config/locales/crowdin/js-lol.yml b/modules/reporting/config/locales/crowdin/js-lol.yml deleted file mode 100644 index 2398051338f7..000000000000 --- a/modules/reporting/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,26 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - js: - reporting_engine: - label_remove: "crwdns500201:0crwdne500201:0" - label_response_error: "crwdns500203:0crwdne500203:0" diff --git a/modules/reporting/config/locales/crowdin/lol.yml b/modules/reporting/config/locales/crowdin/lol.yml deleted file mode 100644 index e34ac6d2c548..000000000000 --- a/modules/reporting/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,90 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lol: - button_save_as: "crwdns494073:0crwdne494073:0" - comments: "crwdns494075:0crwdne494075:0" - cost_reports_title: "crwdns494077:0crwdne494077:0" - label_cost_report: "crwdns494079:0crwdne494079:0" - label_cost_report_plural: "crwdns494081:0crwdne494081:0" - description_drill_down: "crwdns494083:0crwdne494083:0" - description_filter_selection: "crwdns494085:0crwdne494085:0" - description_multi_select: "crwdns494087:0crwdne494087:0" - description_remove_filter: "crwdns494089:0crwdne494089:0" - information_restricted_depending_on_permission: "crwdns494091:0crwdne494091:0" - label_click_to_edit: "crwdns494093:0crwdne494093:0" - label_closed: "crwdns494095:0crwdne494095:0" - label_columns: "crwdns494097:0crwdne494097:0" - label_cost_entry_attributes: "crwdns494099:0crwdne494099:0" - label_days_ago: "crwdns494101:0crwdne494101:0" - label_entry: "crwdns494103:0crwdne494103:0" - label_filter_text: "crwdns494105:0crwdne494105:0" - label_filter_value: "crwdns494107:0crwdne494107:0" - label_filters: "crwdns494109:0crwdne494109:0" - label_greater: "crwdns494111:0crwdne494111:0" - label_is_not_project_with_subprojects: "crwdns494113:0crwdne494113:0" - label_is_project_with_subprojects: "crwdns494115:0crwdne494115:0" - label_work_package_attributes: "crwdns494117:0crwdne494117:0" - label_less: "crwdns494119:0crwdne494119:0" - label_money: "crwdns494121:0crwdne494121:0" - label_month_reporting: "crwdns494123:0crwdne494123:0" - label_new_report: "crwdns494125:0crwdne494125:0" - label_open: "crwdns494127:0crwdne494127:0" - label_operator: "crwdns494129:0crwdne494129:0" - label_private_report_plural: "crwdns494131:0crwdne494131:0" - label_progress_bar_explanation: "crwdns494133:0crwdne494133:0" - label_public_report_plural: "crwdns494135:0crwdne494135:0" - label_really_delete_question: "crwdns494137:0crwdne494137:0" - label_rows: "crwdns494139:0crwdne494139:0" - label_saving: "crwdns494141:0crwdne494141:0" - label_spent_on_reporting: "crwdns494143:0crwdne494143:0" - label_sum: "crwdns494145:0crwdne494145:0" - label_units: "crwdns494147:0crwdne494147:0" - label_week_reporting: "crwdns494149:0crwdne494149:0" - label_year_reporting: "crwdns494151:0crwdne494151:0" - label_count: "crwdns494153:0crwdne494153:0" - label_filter: "crwdns494155:0crwdne494155:0" - label_filter_add: "crwdns494157:0crwdne494157:0" - label_filter_plural: "crwdns494159:0crwdne494159:0" - label_group_by: "crwdns494161:0crwdne494161:0" - label_group_by_add: "crwdns494163:0crwdne494163:0" - label_inactive: "crwdns494165:0crwdne494165:0" - label_no: "crwdns494167:0crwdne494167:0" - label_none: "crwdns494169:0crwdne494169:0" - label_no_reports: "crwdns494171:0crwdne494171:0" - label_report: "crwdns494173:0crwdne494173:0" - label_yes: "crwdns494175:0crwdne494175:0" - load_query_question: "crwdns494177:0%{size}crwdne494177:0" - permission_save_cost_reports: "crwdns494179:0crwdne494179:0" - permission_save_private_cost_reports: "crwdns494181:0crwdne494181:0" - project_module_reporting_module: "crwdns494183:0crwdne494183:0" - text_costs_are_rounded_note: "crwdns494185:0crwdne494185:0" - toggle_multiselect: "crwdns494187:0crwdne494187:0" - units: "crwdns494189:0crwdne494189:0" - validation_failure_date: "crwdns494191:0crwdne494191:0" - validation_failure_integer: "crwdns494193:0crwdne494193:0" - export: - cost_reports: - title: "crwdns859083:0crwdne859083:0" - reporting: - group_by: - selected_columns: "crwdns494195:0crwdne494195:0" - selected_rows: "crwdns494197:0crwdne494197:0" diff --git a/modules/storages/config/locales/crowdin/js-lol.yml b/modules/storages/config/locales/crowdin/js-lol.yml deleted file mode 100644 index a26c99e19a0e..000000000000 --- a/modules/storages/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,74 +0,0 @@ -#English strings go here -lol: - js: - storages: - link_files_in_storage: "crwdns823088:0%{storageType}crwdne823088:0" - link_existing_files: "crwdns836442:0crwdne836442:0" - upload_files: "crwdns838827:0crwdne838827:0" - drop_files: "crwdns843201:0%{name}crwdne843201:0" - drop_or_click_files: "crwdns843203:0%{name}crwdne843203:0" - login: "crwdns823090:0%{storageType}crwdne823090:0" - login_to: "crwdns823092:0%{storageType}crwdne823092:0" - no_connection: "crwdns823094:0%{storageType}crwdne823094:0" - open_storage: "crwdns823096:0%{storageType}crwdne823096:0" - select_location: "crwdns838829:0crwdne838829:0" - choose_location: "crwdns838831:0crwdne838831:0" - types: - nextcloud: "crwdns823098:0crwdne823098:0" - default: "crwdns851971:0crwdne851971:0" - information: - connection_error: > - crwdns824868:0%{storageType}crwdnd824868:0%{storageType}crwdne824868:0 - live_data_error: "crwdns823102:0crwdne823102:0" - live_data_error_description: > - crwdns823104:0%{storageType}crwdnd823104:0%{storageType}crwdne823104:0 - no_file_links: "crwdns823106:0%{storageType}crwdne823106:0" - not_logged_in: > - crwdns823108:0%{storageType}crwdne823108:0 - files: - already_existing_header: "crwdns846091:0crwdne846091:0" - already_existing_body: > - crwdns846209:0%{fileName}crwdne846209:0 - directory_not_writeable: "crwdns846077:0crwdne846077:0" - dragging_many_files: "crwdns844507:0%{storageType}crwdne844507:0" - empty_folder: "crwdns845473:0crwdne845473:0" - empty_folder_location_hint: "crwdns845475:0crwdne845475:0" - file_not_selectable_location: "crwdns844779:0crwdne844779:0" - project_folder_no_access: > - crwdns852065:0crwdne852065:0 - upload_keep_both: "crwdns846095:0crwdne846095:0" - upload_replace: "crwdns846097:0crwdne846097:0" - file_links: - empty: > - crwdns842641:0%{storageType}crwdne842641:0 - download: "crwdns823110:0%{fileName}crwdne823110:0" - no_permission: "crwdns823112:0crwdne823112:0" - open: "crwdns823114:0crwdne823114:0" - open_location: "crwdns823116:0crwdne823116:0" - remove: "crwdns823118:0crwdne823118:0" - remove_confirmation: > - crwdns833338:0crwdne833338:0 - remove_short: "crwdns833340:0crwdne833340:0" - select: "crwdns836444:0crwdne836444:0" - select_all: "crwdns836845:0crwdne836845:0" - selection: - zero: "crwdns838833:0crwdne838833:0" - one: "crwdns838835:1crwdne838835:1" - other: "crwdns838835:5%{count}crwdne838835:5" - success_create: - one: "crwdns842643:1crwdne842643:1" - other: "crwdns842643:5%{count}crwdne842643:5" - upload_error: - default: > - crwdns850071:0%{fileName}crwdne850071:0 - 403: > - crwdns846081:0%{fileName}crwdne846081:0 - 413: > - crwdns846083:0%{fileName}crwdnd846083:0%{storageType}crwdnd846083:0%{storageType}crwdne846083:0 - 507: > - crwdns846085:0%{fileName}crwdne846085:0 - link_uploaded_file_error: > - crwdns844161:0%{fileName}crwdnd844161:0%{workPackageId}crwdne844161:0 - not_allowed_tooltip: "crwdns833126:0crwdne833126:0" - already_linked_file: "crwdns836781:0crwdne836781:0" - already_linked_directory: "crwdns836783:0crwdne836783:0" diff --git a/modules/storages/config/locales/crowdin/lol.yml b/modules/storages/config/locales/crowdin/lol.yml deleted file mode 100644 index 4432d6f4c24c..000000000000 --- a/modules/storages/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,129 +0,0 @@ -#English strings go here -lol: - permission_view_file_links: "crwdns807898:0crwdne807898:0" - permission_manage_file_links: "crwdns807900:0crwdne807900:0" - permission_manage_storages_in_project: "crwdns807902:0crwdne807902:0" - permission_read_files: "crwdns852055:0crwdne852055:0" - permission_write_files: "crwdns852057:0crwdne852057:0" - permission_create_files: "crwdns852059:0crwdne852059:0" - permission_delete_files: "crwdns852061:0crwdne852061:0" - permission_share_files: "crwdns852063:0crwdne852063:0" - project_module_storages: "crwdns807904:0crwdne807904:0" - activerecord: - models: - storages/storage: "crwdns807906:0crwdne807906:0" - attributes: - storages/storage: - name: "crwdns807908:0crwdne807908:0" - creator: "crwdns807910:0crwdne807910:0" - provider_type: "crwdns807912:0crwdne807912:0" - storages/file_link: - origin_id: "crwdns807914:0crwdne807914:0" - errors: - messages: - not_linked_to_project: "crwdns807916:0crwdne807916:0" - models: - storages/storage: - attributes: - host: - cannot_be_connected_to: "crwdns807918:0crwdne807918:0" - minimal_nextcloud_version_unmet: "crwdns807920:0crwdne807920:0" - not_nextcloud_server: "crwdns807922:0crwdne807922:0" - op_application_not_installed: > - crwdns825722:0crwdne825722:0 - authorization_header_missing: > - crwdns825724:0crwdne825724:0 - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "crwdns807924:0crwdne807924:0" - api_v3: - errors: - too_many_elements_created_at_once: "crwdns807926:0%{max}crwdnd807926:0%{actual}crwdne807926:0" - storages: - buttons: - done_continue_setup: "crwdns823076:0crwdne823076:0" - done_complete_setup: "crwdns858767:0crwdne858767:0" - edit_automatically_managed_project_folders: "crwdns858769:0crwdne858769:0" - replace_openproject_oauth: "crwdns823078:0crwdne823078:0" - replace_provider_type_oauth: "crwdns823080:0%{provider_type}crwdne823080:0" - save_and_continue_setup: "crwdns823136:0crwdne823136:0" - save_and_complete_setup: "crwdns823138:0crwdne823138:0" - select_folder: "crwdns854395:0crwdne854395:0" - configure: "crwdns858771:0crwdne858771:0" - page_titles: - managed_project_folders: - title: "crwdns858773:0crwdne858773:0" - subtitle: > - crwdns858775:0crwdne858775:0 - project_settings: - index: "crwdns807928:0crwdne807928:0" - new: "crwdns824326:0crwdne824326:0" - edit: "crwdns852275:0crwdne852275:0" - instructions: - type: "crwdns823142:0crwdne823142:0" - type_link_text: "crwdns823144:0crwdne823144:0" - name: "crwdns823146:0crwdne823146:0" - host: "crwdns823148:0crwdne823148:0" - managed_project_folders_application_password: > - crwdns858777:0crwdne858777:0 - no_storage_set_up: "crwdns844777:0crwdne844777:0" - no_specific_folder: "crwdns852277:0crwdne852277:0" - automatic_folder: "crwdns854931:0crwdne854931:0" - empty_project_folder_validation: "crwdns854397:0crwdne854397:0" - not_logged_into_storage: "crwdns854715:0crwdne854715:0" - existing_manual_folder: > - crwdns852279:0crwdne852279:0 - setting_up_additional_storages: "crwdns807938:0crwdne807938:0" - setting_up_additional_storages_non_admin: "crwdns807940:0crwdne807940:0" - setting_up_storages: "crwdns807942:0crwdne807942:0" - setting_up_storages_non_admin: "crwdns807944:0crwdne807944:0" - all_available_storages_already_added: "crwdns807946:0crwdne807946:0" - copy_from: "crwdns823150:0crwdne823150:0" - nextcloud: - integration: "crwdns823152:0crwdne823152:0" - help_texts: - project_folder: > - crwdns852491:0crwdne852491:0 - delete_warning: - storage: > - crwdns807948:0crwdne807948:0 - project_storage: > - crwdns807950:0crwdne807950:0 - label_active: "crwdns858779:0crwdne858779:0" - label_inactive: "crwdns858781:0crwdne858781:0" - label_creator: "crwdns807952:0crwdne807952:0" - label_file_link: "crwdns807954:0crwdne807954:0" - label_file_links: "crwdns807956:0crwdne807956:0" - label_name: "crwdns807958:0crwdne807958:0" - label_host: "crwdns824866:0crwdne824866:0" - label_managed_project_folders: - automatically_managed_folders: "crwdns858783:0crwdne858783:0" - application_password: "crwdns858785:0crwdne858785:0" - label_managed_project_folders_breadcrumb: "crwdns858787:0crwdne858787:0" - label_oauth_breadcrumb: - openproject: "crwdns824160:0crwdne824160:0" - nextcloud: "crwdns824162:0crwdne824162:0" - label_oauth_application_details: "crwdns823082:0crwdne823082:0" - label_oauth_client_details: "crwdns816762:0crwdne816762:0" - label_provider_type: "crwdns807962:0crwdne807962:0" - label_project_folder: "crwdns852493:0crwdne852493:0" - label_new_storage: "crwdns807964:0crwdne807964:0" - label_existing_manual_folder: "crwdns852283:0crwdne852283:0" - label_no_specific_folder: "crwdns852287:0crwdne852287:0" - label_automatic_folder: "crwdns854933:0crwdne854933:0" - label_no_selected_folder: "crwdns854399:0crwdne854399:0" - label_storage: "crwdns807966:0crwdne807966:0" - label_storages: "crwdns807968:0crwdne807968:0" - no_results: "crwdns844783:0crwdne844783:0" - provider_types: - label: "crwdns807972:0crwdne807972:0" - nextcloud: - name: "crwdns823154:0crwdne823154:0" - name_placeholder: "crwdns823156:0crwdne823156:0" - default_name: "crwdns823158:0crwdne823158:0" - confirm_replace_oauth_application: "crwdns823084:0crwdne823084:0" - confirm_replace_oauth_client: "crwdns816768:0crwdne816768:0" - oauth_client_details_missing: "crwdns816770:0crwdne816770:0" - automatically_managed_project_folder_missing: "crwdns858789:0crwdne858789:0" - notice_oauth_application_replaced: "crwdns823086:0crwdne823086:0" diff --git a/modules/team_planner/config/locales/crowdin/js-lol.yml b/modules/team_planner/config/locales/crowdin/js-lol.yml deleted file mode 100644 index fe6902325396..000000000000 --- a/modules/team_planner/config/locales/crowdin/js-lol.yml +++ /dev/null @@ -1,26 +0,0 @@ -#English strings go here -lol: - js: - team_planner: - add_existing: 'crwdns808126:0crwdne808126:0' - add_existing_title: 'crwdns833316:0crwdne833316:0' - create_label: 'crwdns833318:0crwdne833318:0' - create_title: 'crwdns833320:0crwdne833320:0' - unsaved_title: 'crwdns500089:0crwdne500089:0' - no_data: 'crwdns500093:0crwdne500093:0' - add_assignee: 'crwdns500095:0crwdne500095:0' - remove_assignee: 'crwdns500097:0crwdne500097:0' - two_weeks: 'crwdns750838:0crwdne750838:0' - one_week: 'crwdns750840:0crwdne750840:0' - work_week: 'crwdns838389:0crwdne838389:0' - today: 'crwdns750842:0crwdne750842:0' - drag_here_to_remove: 'crwdns729816:0crwdne729816:0' - cannot_drag_here: 'crwdns729818:0crwdne729818:0' - cannot_drag_to_non_working_day: 'crwdns834618:0crwdne834618:0' - quick_add: - empty_state: 'crwdns653319:0crwdne653319:0' - search_placeholder: 'crwdns653321:0crwdne653321:0' - modify: - errors: - permission_denied: 'crwdns714656:0crwdne714656:0' - fallback: 'crwdns714658:0crwdne714658:0' diff --git a/modules/team_planner/config/locales/crowdin/lol.yml b/modules/team_planner/config/locales/crowdin/lol.yml deleted file mode 100644 index 6a378bcf339f..000000000000 --- a/modules/team_planner/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,19 +0,0 @@ -#English strings go here -lol: - permission_view_team_planner: "crwdns493745:0crwdne493745:0" - permission_manage_team_planner: "crwdns493747:0crwdne493747:0" - project_module_team_planner_view: "crwdns858117:0crwdne858117:0" - team_planner: - label_team_planner: "crwdns493751:0crwdne493751:0" - label_new_team_planner: "crwdns859091:0crwdne859091:0" - label_create_new_team_planner: "crwdns809626:0crwdne809626:0" - label_team_planner_plural: "crwdns759496:0crwdne759496:0" - label_assignees: "crwdns759498:0crwdne759498:0" - label_favoured: "crwdns859093:0crwdne859093:0" - help_text: - project: crwdns859095:0crwdne859095:0 - public: crwdns859097:0crwdne859097:0 - favoured: crwdns859099:0crwdne859099:0 - upsale: - title: "crwdns657565:0crwdne657565:0" - description: "crwdns823160:0crwdne823160:0" diff --git a/modules/two_factor_authentication/config/locales/crowdin/lol.yml b/modules/two_factor_authentication/config/locales/crowdin/lol.yml deleted file mode 100644 index 18cd35a25290..000000000000 --- a/modules/two_factor_authentication/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,170 +0,0 @@ -#English strings go here for Rails i18n -lol: - activerecord: - attributes: - two_factor_authentication/device: - identifier: 'crwdns497891:0crwdne497891:0' - default: 'crwdns497899:0crwdne497899:0' - two_factor_authentication/device/sms: - phone_number: "crwdns497901:0crwdne497901:0" - errors: - models: - two_factor_authentication/device: - default_already_exists: 'crwdns497905:0crwdne497905:0' - two_factor_authentication/device/sms: - attributes: - phone_number: - error_phone_number_format: "crwdns497907:0crwdne497907:0" - models: - two_factor_authentication/device: "crwdns497909:0crwdne497909:0" - two_factor_authentication/device/sms: "crwdns497911:0crwdne497911:0" - two_factor_authentication/device/totp: "crwdns497913:0crwdne497913:0" - two_factor_authentication: - error_2fa_disabled: "crwdns497915:0crwdne497915:0" - error_no_device: "crwdns497917:0crwdne497917:0" - error_no_matching_strategy: "crwdns497919:0crwdne497919:0" - error_is_enforced_not_active: 'crwdns497921:0crwdne497921:0' - error_invalid_backup_code: 'crwdns497925:0crwdne497925:0' - channel_unavailable: "crwdns497929:0%{channel}crwdne497929:0" - no_valid_phone_number: "crwdns497935:0crwdne497935:0" - label_pwd_confirmation: "crwdns497939:0crwdne497939:0" - notice_pwd_confirmation: "crwdns497943:0crwdne497943:0" - label_device_type: "crwdns497945:0crwdne497945:0" - label_default_device: "crwdns497951:0crwdne497951:0" - label_device: "crwdns497957:0crwdne497957:0" - label_devices: "crwdns497959:0crwdne497959:0" - label_one_time_password: 'crwdns497963:0crwdne497963:0' - label_2fa_enabled: 'crwdns497967:0crwdne497967:0' - label_2fa_disabled: 'crwdns497969:0crwdne497969:0' - text_otp_delivery_message_sms: "crwdns497977:0%{app_title}crwdnd497977:0%{token}crwdne497977:0" - text_otp_delivery_message_voice: "crwdns497981:0%{app_title}crwdnd497981:0%{pause}crwdnd497981:0%{token}crwdnd497981:0%{pause}crwdnd497981:0%{pause}crwdnd497981:0%{token}crwdne497981:0" - text_enter_2fa: 'crwdns497985:0crwdne497985:0' - text_2fa_enabled: 'crwdns497989:0crwdne497989:0' - text_2fa_disabled: 'crwdns497991:0crwdne497991:0' - login: - enter_backup_code_title: crwdns497995:0crwdne497995:0 - enter_backup_code_text: crwdns497999:0crwdne497999:0 - other_device: 'crwdns498001:0crwdne498001:0' - settings: - title: 'crwdns498005:0crwdne498005:0' - current_configuration: 'crwdns498009:0crwdne498009:0' - label_active_strategies: 'crwdns498011:0crwdne498011:0' - label_enforced: 'crwdns498015:0crwdne498015:0' - label_remember: 'crwdns498023:0crwdne498023:0' - text_configuration: | - crwdns498031:0crwdne498031:0 - text_configuration_guide: crwdns498039:0crwdne498039:0 - text_enforced: 'crwdns498045:0crwdne498045:0' - text_remember: | - crwdns498051:0crwdne498051:0 - error_invalid_settings: 'crwdns498059:0crwdne498059:0' - failed_to_save_settings: 'crwdns498065:0%{message}crwdne498065:0' - admin: - self_edit_path: 'crwdns498069:0%{self_edit_link}crwdne498069:0' - self_edit_link_name: 'crwdns498073:0crwdne498073:0' - self_edit_forbidden: 'crwdns498077:0crwdne498077:0' - no_devices_for_user: 'crwdns498087:0crwdne498087:0' - all_devices_deleted: 'crwdns498093:0crwdne498093:0' - delete_all_are_you_sure: 'crwdns498101:0crwdne498101:0' - button_delete_all_devices: 'crwdns498109:0crwdne498109:0' - button_register_mobile_phone_for_user: 'crwdns498117:0crwdne498117:0' - text_2fa_enabled: 'crwdns851631:0crwdne851631:0' - text_2fa_disabled: "crwdns851633:0crwdne851633:0" - upsale: - title: 'crwdns657569:0crwdne657569:0' - description: 'crwdns822266:0crwdne822266:0' - backup_codes: - none_found: crwdns498137:0crwdne498137:0 - singular: crwdns498139:0crwdne498139:0 - plural: crwdns498145:0crwdne498145:0 - your_codes: crwdns498147:0%{app_name}crwdnd498147:0%{login}crwdne498147:0 - overview_description: | - crwdns498151:0crwdne498151:0 - generate: - title: crwdns498153:0crwdne498153:0 - keep_safe_as_password: 'crwdns498157:0crwdne498157:0' - keep_safe_warning: 'crwdns498161:0crwdne498161:0' - regenerate_warning: 'crwdns498167:0crwdne498167:0' - devices: - add_new: 'crwdns498171:0crwdne498171:0' - register: 'crwdns498173:0crwdne498173:0' - confirm_default: 'crwdns498181:0crwdne498181:0' - confirm_device: 'crwdns498189:0crwdne498189:0' - confirm_now: 'crwdns498195:0crwdne498195:0' - cannot_delete_default: 'crwdns498203:0crwdne498203:0' - make_default_are_you_sure: 'crwdns498207:0crwdne498207:0' - make_default_failed: 'crwdns498211:0crwdne498211:0' - deletion_are_you_sure: 'crwdns498215:0crwdne498215:0' - registration_complete: 'crwdns498217:0crwdne498217:0' - registration_failed_token_invalid: 'crwdns498221:0crwdne498221:0' - registration_failed_update: 'crwdns498223:0crwdne498223:0' - confirm_send_failed: 'crwdns498227:0crwdne498227:0' - button_complete_registration: 'crwdns498231:0crwdne498231:0' - text_confirm_to_complete_html: "crwdns498243:0%{identifier}crwdne498243:0" - text_confirm_to_change_default_html: "crwdns498247:0%{new_identifier}crwdne498247:0" - text_identifier: 'crwdns498251:0crwdne498251:0' - failed_to_delete: 'crwdns498253:0crwdne498253:0' - is_default_cannot_delete: 'crwdns498257:0crwdne498257:0' - not_existing: 'crwdns498261:0crwdne498261:0' - request_2fa: crwdns498263:0%{device_name}crwdne498263:0 - totp: - title: 'crwdns498267:0crwdne498267:0' - provisioning_uri: 'crwdns498269:0crwdne498269:0' - secret_key: 'crwdns498271:0crwdne498271:0' - time_based: 'crwdns498275:0crwdne498275:0' - account: 'crwdns498277:0crwdne498277:0' - setup: | - crwdns498281:0crwdne498281:0 - question_cannot_scan: | - crwdns498285:0crwdne498285:0 - text_cannot_scan: | - crwdns498287:0crwdne498287:0 - description: | - crwdns498289:0crwdne498289:0 - sms: - title: 'crwdns498293:0crwdne498293:0' - redacted_identifier: 'crwdns498297:0%{redacted_number}crwdne498297:0' - request_2fa_identifier: 'crwdns498301:0%{redacted_identifier}crwdnd498301:0%{delivery_channel}crwdne498301:0' - description: | - crwdns498305:0crwdne498305:0 - sns: - delivery_failed: 'crwdns498307:0crwdne498307:0' - message_bird: - sms_delivery_failed: 'crwdns498311:0crwdne498311:0' - voice_delivery_failed: 'crwdns498313:0crwdne498313:0' - strategies: - totp: 'crwdns498319:0crwdne498319:0' - sns: 'crwdns498321:0crwdne498321:0' - resdt: 'crwdns498325:0crwdne498325:0' - mobile_transmit_notification: "crwdns498327:0crwdne498327:0" - label_two_factor_authentication: 'crwdns498329:0crwdne498329:0' - forced_registration: - required_to_add_device: 'crwdns498331:0crwdne498331:0' - remember: - active_session_notice: > - crwdns498333:0%{expires_on}crwdne498333:0 - other_active_session_notice: crwdns498335:0crwdne498335:0 - label: 'crwdns498339:0crwdne498339:0' - clear_cookie: 'crwdns498343:0crwdne498343:0' - cookie_removed: 'crwdns498351:0crwdne498351:0' - dont_ask_again: "crwdns498355:0%{days}crwdne498355:0" - field_phone: "crwdns498359:0crwdne498359:0" - field_otp: "crwdns498361:0crwdne498361:0" - notice_account_otp_invalid: "crwdns498365:0crwdne498365:0" - notice_account_otp_expired: "crwdns498367:0crwdne498367:0" - notice_developer_strategy_otp: "crwdns498371:0%{token}crwdnd498371:0%{channel}crwdne498371:0" - notice_account_otp_send_failed: "crwdns498373:0crwdne498373:0" - notice_account_has_no_phone: "crwdns498375:0crwdne498375:0" - label_expiration_hint: "crwdns498379:0%{date}crwdne498379:0" - label_actions: 'crwdns498381:0crwdne498381:0' - label_confirmed: 'crwdns498385:0crwdne498385:0' - button_continue: 'crwdns498387:0crwdne498387:0' - button_make_default: 'crwdns498391:0crwdne498391:0' - label_unverified_phone: "crwdns498395:0crwdne498395:0" - notice_phone_number_format: "crwdns498397:0crwdne498397:0" - text_otp_not_receive: "crwdns498401:0crwdne498401:0" - text_send_otp_again: "crwdns498405:0crwdne498405:0" - button_resend_otp_form: "crwdns498407:0crwdne498407:0" - button_otp_by_voice: "crwdns498411:0crwdne498411:0" - button_otp_by_sms: "crwdns498415:0crwdne498415:0" - label_otp_channel: "crwdns498417:0crwdne498417:0" diff --git a/modules/webhooks/config/locales/crowdin/lol.yml b/modules/webhooks/config/locales/crowdin/lol.yml deleted file mode 100644 index d0507e2fb363..000000000000 --- a/modules/webhooks/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,63 +0,0 @@ -lol: - activerecord: - attributes: - webhooks/webhook: - url: 'crwdns494579:0crwdne494579:0' - secret: 'crwdns494581:0crwdne494581:0' - events: 'crwdns494583:0crwdne494583:0' - projects: 'crwdns494585:0crwdne494585:0' - webhooks/log: - event_name: 'crwdns494587:0crwdne494587:0' - url: 'crwdns494589:0crwdne494589:0' - response_code: 'crwdns494591:0crwdne494591:0' - response_body: 'crwdns494593:0crwdne494593:0' - models: - webhooks/outgoing_webhook: "crwdns494595:0crwdne494595:0" - webhooks: - singular: crwdns494597:0crwdne494597:0 - plural: crwdns494599:0crwdne494599:0 - resources: - time_entry: - name: "crwdns494601:0crwdne494601:0" - outgoing: - no_results_table: crwdns494603:0crwdne494603:0 - label_add_new: crwdns494605:0crwdne494605:0 - label_edit: crwdns494607:0crwdne494607:0 - label_event_resources: crwdns494609:0crwdne494609:0 - events: - created: "crwdns494611:0crwdne494611:0" - updated: "crwdns494613:0crwdne494613:0" - explanation: - text: > - crwdns808280:0%{link}crwdne808280:0 - link: crwdns808282:0crwdne808282:0 - status: - enabled: 'crwdns494615:0crwdne494615:0' - disabled: 'crwdns494617:0crwdne494617:0' - enabled_text: 'crwdns494619:0crwdne494619:0' - disabled_text: 'crwdns494621:0crwdne494621:0' - deliveries: - no_results_table: crwdns825744:0crwdne825744:0 - title: 'crwdns494625:0crwdne494625:0' - time: 'crwdns494627:0crwdne494627:0' - form: - introduction: > - crwdns494629:0crwdne494629:0 - apiv3_doc_url: crwdns494631:0crwdne494631:0 - description: - placeholder: 'crwdns494633:0crwdne494633:0' - enabled: - description: > - crwdns494635:0crwdne494635:0 - events: - title: 'crwdns494637:0crwdne494637:0' - project_ids: - title: 'crwdns494639:0crwdne494639:0' - description: 'crwdns494641:0crwdne494641:0' - all: 'crwdns494643:0crwdne494643:0' - selected: 'crwdns494645:0crwdne494645:0' - selected_project_ids: - title: 'crwdns494647:0crwdne494647:0' - secret: - description: > - crwdns494649:0crwdne494649:0 diff --git a/modules/xls_export/config/locales/crowdin/lol.yml b/modules/xls_export/config/locales/crowdin/lol.yml deleted file mode 100644 index 7556dfa5d437..000000000000 --- a/modules/xls_export/config/locales/crowdin/lol.yml +++ /dev/null @@ -1,13 +0,0 @@ -lol: - export_to_excel: "crwdns493967:0crwdne493967:0" - print_with_description: "crwdns493969:0crwdne493969:0" - sentence_separator_or: "crwdns493971:0crwdne493971:0" - different_formats: crwdns493973:0crwdne493973:0 - export: - format: - xls: "crwdns493975:0crwdne493975:0" - xls_with_descriptions: "crwdns493977:0crwdne493977:0" - xls_with_relations: "crwdns493979:0crwdne493979:0" - xls_export: - child_of: crwdns493981:0crwdne493981:0 - parent_of: crwdns493983:0crwdne493983:0 From 47ecf99fef679e548afdf4236fa88155ebed83ec Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Mon, 17 Jul 2023 10:47:28 +0200 Subject: [PATCH 165/180] PDF export documentation fine tuning --- .../work-packages/copy-move-delete/README.md | 2 +- .../work-packages/edit-work-package/README.md | 2 +- .../work-packages/exporting/README.md | 10 +++++----- .../exporting/openproject_export_wp.png | Bin 161485 -> 200033 bytes .../work-packages/set-change-dates/README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/user-guide/work-packages/copy-move-delete/README.md b/docs/user-guide/work-packages/copy-move-delete/README.md index 4bdf0c838e55..f177d902f6bc 100644 --- a/docs/user-guide/work-packages/copy-move-delete/README.md +++ b/docs/user-guide/work-packages/copy-move-delete/README.md @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Copy, move, delete work packages - priority: 800 + priority: 980 description: How to copy, change project or delete a work package. keywords: copy work package, delete work package, move work package --- diff --git a/docs/user-guide/work-packages/edit-work-package/README.md b/docs/user-guide/work-packages/edit-work-package/README.md index abed5581bf96..ce4c7ba774b3 100644 --- a/docs/user-guide/work-packages/edit-work-package/README.md +++ b/docs/user-guide/work-packages/edit-work-package/README.md @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Edit work packages - priority: 900 + priority: 980 description: How to edit work packages in OpenProject. keywords: edit work packages --- diff --git a/docs/user-guide/work-packages/exporting/README.md b/docs/user-guide/work-packages/exporting/README.md index 0854c07070bb..6e0625718b72 100644 --- a/docs/user-guide/work-packages/exporting/README.md +++ b/docs/user-guide/work-packages/exporting/README.md @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Export work packages - priority: 600 + priority: 950 description: How to export work packages for other tools, such as Microsoft Excel keywords: work package exports, CSV, Excel, XLS, PDF --- @@ -12,7 +12,7 @@ You can export work packages from your OpenProject instance in various formats u ## How to trigger an export -To export work packages (table or card view) to another format, visit the *Work packages* module or select a saved view, opening a work package table that you want to export. Click on the settings icon in the top right corner. Trigger the **Export** dialog from the dropdown menu. +To export work packages to another format, visit the **Work packages** module and select a default or saved work package view (table or card view) that you want to export. Click on the settings icon in the top right corner. Trigger the **Export** dialog from the dropdown menu. ![Exporting from the table](openproject_export_wp.png) @@ -45,10 +45,10 @@ PDF Table exports the work package table displaying work packages as single rows ![OpenProject PDF Table export](openproject_pdf_table_export.png) ### PDF Report -With PDF Reports you can export detailed up to date work plans for your project in a clean and practical format. It includes includes a table of contents (listing all of the work packages), followed by the description of single work packages in a block form. Table of contents is clickable and is linked to the respective pages within the report, making navigation much easier. For each work package a table of attributes is included (attributes correspond to the columns in the work package table). Work package ID attribute is clickable and linked directly to the respective work package in OpenProject. +With PDF Reports you can export detailed up to date work plans for your project in a clean and practical format. It includes a table of contents (listing all of the work packages), followed by the description of single work packages in a block form. Table of contents is clickable and is linked to the respective pages within the report, making navigation much easier. For each work package a table of attributes is included (attributes correspond to the columns in the work package table). Work package ID attribute is clickable and linked directly to the respective work package in OpenProject. ![OpenProject_pdf_report_export](openproject_pdf_report.png) -> **Note**: If "display sums" is activated in the work package table, then the sum table is included between table of contents and work packages description in an Overview section. +> **Note**: If ["display sums" is activated](.../work-package-table-configuration/) in the work package table, then the sum table is included between table of contents and work packages description in an Overview section. ![OpenProject_work_package_table_sum](openproject_wp_table_total_sum.png) @@ -57,7 +57,7 @@ With PDF Reports you can export detailed up to date work plans for your project ### PDF Report with images PDF Report with images is the same as PDF Report, but also includes the images from the work package description. -> **Note**: Images attached to the work package or in activity comments are not included into exported report. +> **Note**: Images attached or linked in the work package Files section or in the Activity comments are not included into the PDF Report with images. ![OpenProject_work_package_export](openproject_pdf_report_images.png) diff --git a/docs/user-guide/work-packages/exporting/openproject_export_wp.png b/docs/user-guide/work-packages/exporting/openproject_export_wp.png index 86788bfabe6f99841b35a6d40ec04fc68111ca65..e9455d82a031880b19c1ea53b4d4a0ffbe909962 100644 GIT binary patch literal 200033 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 literal 161485 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 <% end %> -
    -
    -
    -

    <%= t(:label_details) %>

    -
    -
    - -
    -
    <%= @application.class.human_attribute_name :uid %>
    -
    -
    - <%= @application.uid %> -
    -
    - <% if flash[:_application_secret] %> -
    <%= @application.class.human_attribute_name :secret %>
    -
    -
    -

    - <%= flash[:_application_secret] %> -
    - <%= t 'oauth.client_secret_notice' %> -

    -
    -
    - <% end %> - <% if user_id = @application.client_credentials_user_id %> -
    <%= t 'oauth.client_credentials_impersonation_set_to' %>
    -
    -
    -

    - <%= link_to_user User.find_by(id: user_id) %> -
    - <%= t('oauth.client_credentials_impersonation_warning') %> -

    -
    -
    +<%= render(AttributeGroups::AttributeGroupComponent.new) do |component| %> + <% component.with_header(title: t(:label_details)) %> + + <% component.with_attribute( + key: @application.class.human_attribute_name(:uid), + value: @application.uid + ) %> + + <% if flash[:_application_secret] %> + <% component.with_attribute( + key: @application.class.human_attribute_name(:secret) + ) do %> +

    + <%= flash[:_application_secret] %> +
    + <%= t 'oauth.client_secret_notice' %> +

    <% end %> -
    <%= @application.class.human_attribute_name :scopes %>
    -
    -
    - <%= oauth_scope_translations(@application) %> -
    -
    -
    <%= @application.class.human_attribute_name :confidential %>
    -
    -
    - - <%= @application.confidential? ? t(:general_text_Yes) : t(:general_text_No) %> - -
    -
    -
    <%= @application.class.human_attribute_name :redirect_uri %>
    -
    -
    - - <%= safe_join @application.redirect_uri.split("\n"), '
    '.html_safe %> -
    -
    -
    - <% if !@application.client_credentials_user_id %> -
    <%= I18n.t(:'doorkeeper.auth_url') %>
    -
    -
    - - <%= oauth_authorization_url %> - -
    -
    + <% end %> + + <% if user_id = @application.client_credentials_user_id %> + <% component.with_attribute( + key: t('oauth.client_credentials_impersonation_set_to') + ) do %> + <%= link_to_user User.find_by(id: user_id) %> +
    + <%= t('oauth.client_credentials_impersonation_warning') %> <% end %> + <% end %> -
    <%= I18n.t(:'doorkeeper.access_token_url') %>
    -
    -
    - - <%= oauth_token_url %> - -
    -
    -
    -
    + <% component.with_attribute( + key: @application.class.human_attribute_name(:scopes), + value: oauth_scope_translations(@application) + ) %> + <% component.with_attribute( + key: @application.class.human_attribute_name(:confidential), + value: @application.confidential? ? t(:general_text_Yes) : t(:general_text_No) + ) %> + + <% component.with_attribute( + key: @application.class.human_attribute_name(:redirect_uri), + value: safe_join(@application.redirect_uri.split("\n"), '
    '.html_safe) + ) %> + + <% if !@application.client_credentials_user_id %> + <% component.with_attribute( + key: I18n.t(:'doorkeeper.auth_url'), + value: oauth_authorization_url + ) %> + <% end %> + + <% component.with_attribute( + key: I18n.t(:'doorkeeper.access_token_url'), + value: oauth_token_url + ) %> +<% end %> diff --git a/app/views/users/change_status_info.html.erb b/app/views/users/change_status_info.html.erb index 50518050662e..d790cb9f8123 100644 --- a/app/views/users/change_status_info.html.erb +++ b/app/views/users/change_status_info.html.erb @@ -41,42 +41,23 @@ See COPYRIGHT and LICENSE files for more details. <%= t('user.confirm_status_change', name: @user.name) %>

    -
    -
    <%= User.human_attribute_name :login %>
    -
    -
    - <%= @user.login %> -
    -
    + <%= + render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_attribute(key: User.human_attribute_name(:login), + value: @user.login) -
    <%= User.human_attribute_name :mail %>
    -
    -
    - <%= @user.mail %> -
    -
    + component.with_attribute(key: User.human_attribute_name(:mail), + value: @user.mail) -
    <%= User.human_attribute_name :name %>
    -
    -
    - <%= @user.name %> -
    -
    + component.with_attribute(key: User.human_attribute_name(:name), + value: @user.name) -
    <%= t(:label_current_status) %>
    -
    -
    - <%= full_user_status(@user, true) %> -
    -
    + component.with_attribute(key: t(:label_current_status), + value: full_user_status(@user, true)) -
    <%= t(:status_change) %>
    -
    -
    - <%= new_status %> -
    -
    -
    + component.with_attribute(key: t(:status_change), + value: new_status) + end %>
    diff --git a/frontend/src/app/features/work-packages/components/wp-form-group/wp-attribute-group.component.sass b/frontend/src/app/features/work-packages/components/wp-form-group/wp-attribute-group.component.sass index 8f1df7192e85..17fd975cea80 100644 --- a/frontend/src/app/features/work-packages/components/wp-form-group/wp-attribute-group.component.sass +++ b/frontend/src/app/features/work-packages/components/wp-form-group/wp-attribute-group.component.sass @@ -1,25 +1,7 @@ @import "src/assets/sass/helpers" .wp-attribute-group - display: flex - flex-direction: row - flex-wrap: wrap - - // We want a margin between items, but don't know if any one item is on the right, - // the left, or spanning both columns. The easy way to get a gutter is to give - // *all* elements margins on both sides, and then negating this margin on the parent. - // This also explains all of the + and - xrem calc() values below. - margin: 0 -1 * $spot-spacing-1_5 - width: calc(100% + #{$spot-spacing-3}) - &--attribute - flex-basis: 400px - flex-grow: 1 - flex-shrink: 1 - min-width: calc(50% - #{$spot-spacing-3}) - max-width: calc(100% - #{$spot-spacing-3}) - margin: 0 $spot-spacing-1_5 - &_span-all flex-basis: calc(100% - #{$spot-spacing-3}) flex-shrink: 0 diff --git a/frontend/src/app/features/work-packages/components/wp-form-group/wp-attribute-group.component.ts b/frontend/src/app/features/work-packages/components/wp-form-group/wp-attribute-group.component.ts index 801ef406f460..3ea560fc5014 100644 --- a/frontend/src/app/features/work-packages/components/wp-form-group/wp-attribute-group.component.ts +++ b/frontend/src/app/features/work-packages/components/wp-form-group/wp-attribute-group.component.ts @@ -50,6 +50,7 @@ import { }) export class WorkPackageFormAttributeGroupComponent extends UntilDestroyedMixin { @HostBinding('class.wp-attribute-group') className = true; + @HostBinding('class.attributes-group--attributes') parentClassName = true; @Input() public workPackage:WorkPackageResource; diff --git a/frontend/src/global_styles/content/_attributes_group.sass b/frontend/src/global_styles/content/_attributes_group.sass index 255a4be24264..e4857e23fa83 100644 --- a/frontend/src/global_styles/content/_attributes_group.sass +++ b/frontend/src/global_styles/content/_attributes_group.sass @@ -30,7 +30,6 @@ margin-top: 1.6875rem position: relative - .attributes-group--header @include grid-block margin: 0 0 0.5rem 0 @@ -78,3 +77,16 @@ margin: 0 padding: 0 border: 0 + +.attributes-group--attributes + display: flex + flex-direction: row + flex-wrap: wrap + + // We want a margin between items, but don't know if any one item is on the right, + // the left, or spanning both columns. The easy way to get a gutter is to give + // *all* elements margins on both sides, and then negating this margin on the parent. + // This also explains all of the + and - xrem calc() values below. + margin: 0 -1 * $spot-spacing-1_5 + width: calc(100% + #{$spot-spacing-3}) + diff --git a/frontend/src/global_styles/content/_attributes_key_value.sass b/frontend/src/global_styles/content/_attributes_key_value.sass index abab2964ca77..f3a0e6bd0321 100644 --- a/frontend/src/global_styles/content/_attributes_key_value.sass +++ b/frontend/src/global_styles/content/_attributes_key_value.sass @@ -31,6 +31,14 @@ // flex-wrap: wrap font-size: 0.875rem margin-bottom: 0.1875rem + flex-basis: 400px + flex-grow: 1 + flex-shrink: 1 + min-width: calc(50% - 3rem) + max-width: calc(100% - 3rem) + margin: 0 1.5rem + line-height: 1.5em + gap: 10px &--key @extend .form--label @@ -55,7 +63,6 @@ flex-basis: 260px flex-grow: 1000000 flex-shrink: 1 - align-self: center margin-bottom: 0.1875rem padding: 0.375rem 0 height: 100% @@ -69,6 +76,7 @@ &--value @include grid-visible-overflow + word-wrap: anywhere @at-root &.wp-attribute-group--attribute_span-all &--value-container flex-shrink: 0 diff --git a/modules/budgets/app/views/budgets/show.html.erb b/modules/budgets/app/views/budgets/show.html.erb index 1c835a2848ec..87c3fc695e7c 100644 --- a/modules/budgets/app/views/budgets/show.html.erb +++ b/modules/budgets/app/views/budgets/show.html.erb @@ -62,42 +62,16 @@ See COPYRIGHT and LICENSE files for more details. <%= t(:label_updated_time, value: distance_of_time_in_words(Time.now, @budget.updated_at)) + '.' if @budget.created_at != @budget.updated_at %>

    -
    -
    -
    <%= Budget.human_attribute_name(:type) %>
    -
    -
    - <%= @budget.type_label %> -
    -
    -
    <%= Budget.human_attribute_name(:fixed_date) %>
    -
    -
    - <%= format_date(@budget.fixed_date) %> -
    -
    -
    <%= Budget.human_attribute_name(:budget_ratio) %>
    -
    -
    - - <%= extended_progress_bar(@budget.budget_ratio, - :width => '80px', - :legend => @budget.budget_ratio) %> - -
    -
    - <% unless format_text(@budget, :description, :attachments => @budget.attachments).empty? %> -
    <%= Budget.human_attribute_name(:description) %>
    -
    -
    -
    - <%= format_text @budget, :description, :attachments => @budget.attachments %> -
    -
    -
    - <% end %> -
    -
    + <%= render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_attribute(key: Budget.human_attribute_name(:type), value: @budget.type_label) + component.with_attribute(key: Budget.human_attribute_name(:fixed_date), value: format_date(@budget.fixed_date)) + component.with_attribute(key: Budget.human_attribute_name(:budget_ratio), + value: extended_progress_bar(@budget.budget_ratio, :width => '80px', :legend => @budget.budget_ratio)) + component.with_attribute(key: Budget.human_attribute_name(:description), + value: content_tag(:div, class: "op-uc-container") do + format_text @budget, :description, :attachments => @budget.attachments + end) + end %> <% resource = budget_attachment_representer(@budget) %> <%= list_attachments(resource) %> diff --git a/modules/ldap_groups/app/views/ldap_groups/synchronized_filters/show.html.erb b/modules/ldap_groups/app/views/ldap_groups/synchronized_filters/show.html.erb index 8502e55d4dec..21f6f7c89b55 100644 --- a/modules/ldap_groups/app/views/ldap_groups/synchronized_filters/show.html.erb +++ b/modules/ldap_groups/app/views/ldap_groups/synchronized_filters/show.html.erb @@ -20,48 +20,24 @@ <% end %>
    -
    -
    <%= @filter.class.human_attribute_name(:name) %>
    -
    -
    - <%= @filter.name %> -
    -
    -
    <%= @filter.class.human_attribute_name(:group_name_attribute) %>
    -
    -
    - <%= @filter.group_name_attribute %> -
    -
    -
    <%= @filter.class.human_attribute_name(:base_dn) %>
    -
    -
    - <%= @filter.used_base_dn %> -
    -
    -
    <%= @filter.class.human_attribute_name(:sync_users) %>
    -
    -
    - <% if @filter.sync_users %> - <%= checked_image @filter.sync_users %> - <% else %> - <%= t(:general_text_no) %> - <% end %> -
    -
    -
    <%= @filter.class.human_attribute_name(:filter_string) %>
    -
    -
    - <%= @filter.filter_string %> -
    -
    -
    <%= t('ldap_groups.synchronized_groups.plural') %>
    -
    -
    - <%= @filter.groups.count %> -
    -
    -
    + <%= render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_attribute(key: @filter.class.human_attribute_name(:name), + value: @filter.name) + component.with_attribute(key: @filter.class.human_attribute_name(:group_name_attribute), + value: @filter.group_name_attribute) + component.with_attribute(key: @filter.class.human_attribute_name(:base_dn), + value: @filter.used_base_dn) + component.with_attribute(key: @filter.class.human_attribute_name(:sync_users), + value: if @filter.sync_users + checked_image @filter.sync_users + else + t(:general_text_no) + end) + component.with_attribute(key: @filter.class.human_attribute_name(:filter_string), + value: @filter.filter_string) + component.with_attribute(key: t('ldap_groups.synchronized_groups.plural'), + value: @filter.groups.count) + end %>
    diff --git a/modules/ldap_groups/app/views/ldap_groups/synchronized_groups/show.html.erb b/modules/ldap_groups/app/views/ldap_groups/synchronized_groups/show.html.erb index d45c93202da4..48e0303cb5eb 100644 --- a/modules/ldap_groups/app/views/ldap_groups/synchronized_groups/show.html.erb +++ b/modules/ldap_groups/app/views/ldap_groups/synchronized_groups/show.html.erb @@ -4,36 +4,20 @@ <%= breadcrumb_toolbar(link_to(t('ldap_groups.synchronized_groups.plural'), { action: :index }), h(@group.dn)) %>
    -
    -
    <%= @group.class.human_attribute_name('dn') %>
    -
    -
    - <%= @group.dn %> -
    -
    -
    <%= @group.class.human_attribute_name(:sync_users) %>
    -
    -
    - <% if @group.sync_users %> - <%= checked_image @group.sync_users %> - <% else %> - <%= t(:general_text_no) %> - <% end %> -
    -
    -
    <%= @group.class.human_attribute_name('auth_source') %>
    -
    -
    - <%= link_to @group.auth_source.name, edit_ldap_auth_source_path(@group.auth_source) %> -
    -
    -
    <%= t(:label_group) %>
    -
    -
    - <%= link_to @group.group, edit_group_path(@group.group) %> -
    -
    -
    + <%= + render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_attribute(key: @group.class.human_attribute_name(:dn), + value: @group.dn) + + component.with_attribute(key: @group.class.human_attribute_name(:sync_users), + value: @group.sync_users ? checked_image(@group.sync_users) : t(:general_text_no)) + + component.with_attribute(key: @group.class.human_attribute_name(:auth_source), + value: link_to(@group.auth_source.name, edit_ldap_auth_source_path(@group.auth_source))) + + component.with_attribute(key: @group.class.human_attribute_name(:group), + value: link_to(@group.group, edit_group_path(@group.group))) + end %>
    diff --git a/modules/two_factor_authentication/app/views/two_factor_authentication/settings.html.erb b/modules/two_factor_authentication/app/views/two_factor_authentication/settings.html.erb index 77ee8915122d..5be3c921bfa1 100644 --- a/modules/two_factor_authentication/app/views/two_factor_authentication/settings.html.erb +++ b/modules/two_factor_authentication/app/views/two_factor_authentication/settings.html.erb @@ -15,36 +15,28 @@ configuration_link[:href], target: '_blank' %>

    -
    -
    <%= t('two_factor_authentication.settings.label_active_strategies') %>
    -
    -
    - <%= t(:label_none) if configuration['active_strategies'].empty? %> - <% configuration['active_strategies'].each do |key| %> - - <%= t("two_factor_authentication.strategies.#{key}") %> - -
    - <% end %> -
    -
    -
    <%= t('two_factor_authentication.settings.label_enforced') %>
    -
    -
    - <%= !!configuration['enforced'] %> -
    -
    -
    <%= t('two_factor_authentication.settings.label_remember') %>
    -
    -
    - <% if configuration['allow_remember_for_days'].to_i == 0 %> - <%= t(:label_disabled) %> - <% else %> - <%= configuration['allow_remember_for_days'] %> (<%= t(:label_day_plural) %>) - <% end %> -
    -
    -
    + <%= render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_attribute(key: t('two_factor_authentication.settings.label_active_strategies'), + value: if configuration['active_strategies'].empty? + t(:label_none) + else + configuration['active_strategies'].join(content_tag(:br)) do |key| + content_tag(:span) do + t("two_factor_authentication.strategies.#{key}") + end + end + end) + + component.with_attribute(key: t('two_factor_authentication.settings.label_enforced'), + value: !!configuration['enforced']) + + component.with_attribute(key: t('two_factor_authentication.settings.label_remember'), + value: if configuration['allow_remember_for_days'].to_i == 0 + t(:label_disabled) + else + "#{configuration['allow_remember_for_days']} (#{t(:label_day_plural)})" + end) + end %>
    <%= t(:label_setting_plural) %> diff --git a/modules/two_factor_authentication/app/views/two_factor_authentication/two_factor_devices/totp/_form.html.erb b/modules/two_factor_authentication/app/views/two_factor_authentication/two_factor_devices/totp/_form.html.erb index 3aaaab273184..3553ef4f46fc 100644 --- a/modules/two_factor_authentication/app/views/two_factor_authentication/two_factor_devices/totp/_form.html.erb +++ b/modules/two_factor_authentication/app/views/two_factor_authentication/two_factor_devices/totp/_form.html.erb @@ -28,31 +28,11 @@
    <%= t('two_factor_authentication.devices.totp.text_cannot_scan') %>

    -
    -
    <%= t('two_factor_authentication.devices.totp.account') %>
    -
    -
    - <%= device.account_name %> -
    -
    -
    <%= t('two_factor_authentication.devices.totp.secret_key') %>
    -
    -
    - <%= device.otp_secret %> -
    -
    -
    <%= t('two_factor_authentication.devices.totp.time_based') %>
    -
    -
    - <%= t('general_text_Yes') %> -
    -
    -
    <%= t('two_factor_authentication.devices.totp.provisioning_uri') %>
    -
    -
    - <%= device.provisioning_url %> -
    -
    -
    + <%= render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_attribute(key: t('two_factor_authentication.devices.totp.account'), value: device.account_name) + component.with_attribute(key: t('two_factor_authentication.devices.totp.secret_key'), value: device.otp_secret) + component.with_attribute(key: t('two_factor_authentication.devices.totp.time_based'), value: t('general_text_Yes')) + component.with_attribute(key: t('two_factor_authentication.devices.totp.provisioning_uri'), value: device.provisioning_url) + end %> diff --git a/modules/two_factor_authentication/app/views/users/_two_factor_authentication_admin.html.erb b/modules/two_factor_authentication/app/views/users/_two_factor_authentication_admin.html.erb index 01b46eff98d4..306cbc837628 100644 --- a/modules/two_factor_authentication/app/views/users/_two_factor_authentication_admin.html.erb +++ b/modules/two_factor_authentication/app/views/users/_two_factor_authentication_admin.html.erb @@ -13,22 +13,14 @@
    <% if default_device.present? %> -
    -
    <%= t('two_factor_authentication.label_default_device') %>
    -
    -
    - <%= default_device.identifier %> -
    -
    - <% if default_device.phone_number.present? %> -
    <%= ::TwoFactorAuthentication::Device::Sms.human_attribute_name(:phone_number) %>
    -
    -
    - <%= default_device.phone_number %> -
    -
    - <% end %> -
    + <%= render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_attribute(key: t('two_factor_authentication.label_default_device'), + value: default_device.identifier) + if default_device.phone_number.present? + component.with_attribute(key: ::TwoFactorAuthentication::Device::Sms.human_attribute_name(:phone_number), + value: default_device.phone_number) + end + end %> <% end %>
    diff --git a/modules/webhooks/app/views/webhooks/outgoing/admin/show.html.erb b/modules/webhooks/app/views/webhooks/outgoing/admin/show.html.erb index 58b1e8002788..09321acd14ea 100644 --- a/modules/webhooks/app/views/webhooks/outgoing/admin/show.html.erb +++ b/modules/webhooks/app/views/webhooks/outgoing/admin/show.html.erb @@ -34,40 +34,21 @@ }) %> \ No newline at end of file + diff --git a/spec/components/attribute_groups/attribute_key_value_component_spec.rb b/spec/components/attribute_groups/attribute_key_value_component_spec.rb index ef630bebccfa..239cfec1c62a 100644 --- a/spec/components/attribute_groups/attribute_key_value_component_spec.rb +++ b/spec/components/attribute_groups/attribute_key_value_component_spec.rb @@ -37,4 +37,27 @@ expect(page).to have_css('.attributes-key-value--key', text: 'Attribute Key') & have_css('.attributes-key-value--value.-text', text: 'Attribute Value') end + + context 'with value and content' do + it 'renders the content' do + render_inline(described_class.new(key: 'Attribute Key', value: 'Attribute Value')) do + "

    Content Value

    " + end + + expect(page).to have_css('.attributes-key-value--key', text: 'Attribute Key') & + have_css('.attributes-key-value--value.-text', text: 'Attribute Value') & + have_css('.attributes-key-value--value.-text', text: "

    Content Value

    ") + end + end + + context 'with content, no value' do + it 'renders the content' do + render_inline(described_class.new(key: 'Attribute Key')) do + "

    Content Value

    " + end + + expect(page).to have_css('.attributes-key-value--key', text: 'Attribute Key') & + have_css('.attributes-key-value--value.-text', text: "

    Content Value

    ") + end + end end From 0c9ffc7767b033c6ee75682f1abc5f4ecf3e3a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20G=C3=BCnther?= Date: Mon, 17 Jul 2023 14:07:16 +0200 Subject: [PATCH 173/180] Fix timer button rolling over after 24h (#13148) * Fix timer button rolling over after 24h * Use padStart function. --------- Co-authored-by: Dombi Attila <83396+dombesz@users.noreply.github.com> --- .../wp-timer-button/time-formatter.helper.ts | 16 ++++++++++++++-- modules/costs/spec/features/timer_spec.rb | 14 ++++++++++++++ .../components/work_packages/timer_button.rb | 4 ++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/features/work-packages/components/wp-timer-button/time-formatter.helper.ts b/frontend/src/app/features/work-packages/components/wp-timer-button/time-formatter.helper.ts index 4cef46442635..dfb18f501a65 100644 --- a/frontend/src/app/features/work-packages/components/wp-timer-button/time-formatter.helper.ts +++ b/frontend/src/app/features/work-packages/components/wp-timer-button/time-formatter.helper.ts @@ -1,9 +1,21 @@ import * as moment from 'moment/moment'; +function paddedNumber(input:number):string { + return input.toString().padStart(2, '0'); +} + export function formatElapsedTime(startTime:string):string { const start = moment(startTime); const now = moment(); - const offset = moment(now).diff(start); + const duration = now.diff(start, 'seconds'); + + const hours = Math.floor(duration / 3600); + const minutes = Math.floor((duration - (hours * 3600)) / 60); + const seconds = duration - (hours * 3600) - (minutes * 60); - return moment.utc(offset).format('HH:mm:ss'); + return [ + paddedNumber(hours), + paddedNumber(minutes), + paddedNumber(seconds), + ].join(':'); } diff --git a/modules/costs/spec/features/timer_spec.rb b/modules/costs/spec/features/timer_spec.rb index 54c313616b1e..5c4ce8447bd0 100644 --- a/modules/costs/spec/features/timer_spec.rb +++ b/modules/costs/spec/features/timer_spec.rb @@ -130,6 +130,20 @@ it_behaves_like 'allows time tracking' + context 'when an old timer exists' do + let!(:active_timer) do + Timecop.travel(2.days.ago) do + create(:time_entry, project:, work_package: work_package_a, user:, ongoing: true) + end + end + + it 'correctly shows active timers > 24 hours' do + wp_view_a.visit! + timer_button.expect_visible + timer_button.expect_time /48:0\d:\d+/ + end + end + it 'correctly handles timers in multiple tabs' do wp_view_a.visit! timer_button.expect_visible diff --git a/spec/support/components/work_packages/timer_button.rb b/spec/support/components/work_packages/timer_button.rb index bba258c17bcd..8f64550ba406 100644 --- a/spec/support/components/work_packages/timer_button.rb +++ b/spec/support/components/work_packages/timer_button.rb @@ -41,6 +41,10 @@ def expect_inactive expect(page).to have_selector('[data-qa-selector="timer-inactive"]', wait: 10) end + def expect_time(text) + expect(page).to have_selector('[data-qa-selector="timer-active"]', wait: 10, text:) + end + def expect_visible(visible: true) if visible expect(page).to have_selector('op-wp-timer-button') From 35e83362e8b7ac1b311ea6c5515f91f5438e2661 Mon Sep 17 00:00:00 2001 From: ulferts Date: Mon, 17 Jul 2023 15:24:55 +0200 Subject: [PATCH 174/180] bump excon & faraday --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 44f2f4240bb2..25d28f7132a2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -435,13 +435,13 @@ GEM tzinfo eventmachine (1.2.7) eventmachine_httpserver (0.2.1) - excon (0.99.0) + excon (0.100.0) factory_bot (6.2.1) activesupport (>= 5.0.0) factory_bot_rails (6.2.0) factory_bot (~> 6.2.0) railties (>= 5.0.0) - faraday (2.7.9) + faraday (2.7.10) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-follow_redirects (0.3.0) From e1dc1ce3adde263faad67cbd0c33ee88d821eba5 Mon Sep 17 00:00:00 2001 From: ulferts Date: Mon, 17 Jul 2023 15:25:17 +0200 Subject: [PATCH 175/180] bump irb & reline --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 25d28f7132a2..197312093471 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -537,8 +537,8 @@ GEM ice_cube (0.16.4) interception (0.5) io-console (0.6.0) - irb (1.7.0) - reline (>= 0.3.0) + irb (1.7.4) + reline (>= 0.3.6) iso8601 (0.13.0) jmespath (1.6.2) json (2.6.3) @@ -769,7 +769,7 @@ GEM recaptcha (5.14.0) redcarpet (3.6.0) regexp_parser (2.8.1) - reline (0.3.5) + reline (0.3.6) io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) From 3ea6d5b4aa83dbe47fb0619d4898c50021035fa2 Mon Sep 17 00:00:00 2001 From: ulferts Date: Mon, 17 Jul 2023 15:25:36 +0200 Subject: [PATCH 176/180] bump public_suffix --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 197312093471..23e61f14d57c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -685,7 +685,7 @@ GEM pry (>= 0.12.0) psych (5.1.0) stringio - public_suffix (5.0.1) + public_suffix (5.0.3) puffing-billy (3.1.0) addressable (~> 2.5) em-http-request (~> 1.1, >= 1.1.0) From 7cf920c9a8e270c3eec9a84461181511803a1479 Mon Sep 17 00:00:00 2001 From: ulferts Date: Mon, 17 Jul 2023 15:25:46 +0200 Subject: [PATCH 177/180] bump rails-dom-testing --- Gemfile.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 23e61f14d57c..6dff1a65169c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -742,8 +742,9 @@ GEM actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) activesupport (>= 5.0.1.rc1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + rails-dom-testing (2.1.1) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) rails-html-sanitizer (1.6.0) loofah (~> 2.21) From dd80e30ca71ec2fa0f55bb847bee1570572bebe1 Mon Sep 17 00:00:00 2001 From: ulferts Date: Mon, 17 Jul 2023 15:25:56 +0200 Subject: [PATCH 178/180] bump rspec-mocks & rspec-support --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6dff1a65169c..7bd50ad794ce 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -802,7 +802,7 @@ GEM rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-mocks (3.12.5) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) rspec-rails (6.0.3) @@ -815,7 +815,7 @@ GEM rspec-support (~> 3.12) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-support (3.12.0) + rspec-support (3.12.1) rubocop (1.54.2) json (~> 2.3) language_server-protocol (>= 3.17.0) From f8d0a3b18a94bb7761ee57e46e4c0bdcd640513e Mon Sep 17 00:00:00 2001 From: ulferts Date: Mon, 17 Jul 2023 15:26:10 +0200 Subject: [PATCH 179/180] bump tilt --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7bd50ad794ce..b244ebc70a07 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -913,7 +913,7 @@ GEM test-prof (1.2.2) text-hyphen (1.5.0) thor (1.2.2) - tilt (2.1.0) + tilt (2.2.0) timecop (0.9.6) timeout (0.4.0) trailblazer-option (0.1.2) From e258b5a4c28dc1676710552768c9882e7c252adf Mon Sep 17 00:00:00 2001 From: ulferts Date: Mon, 17 Jul 2023 15:28:48 +0200 Subject: [PATCH 180/180] bump aws-sdk-sns --- Gemfile.lock | 6 +++--- .../openproject-two_factor_authentication.gemspec | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b244ebc70a07..7f2fb9047f32 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -187,7 +187,7 @@ PATH remote: modules/two_factor_authentication specs: openproject-two_factor_authentication (1.0.0) - aws-sdk-sns (~> 1.61.0) + aws-sdk-sns (~> 1.65.0) messagebird-rest (~> 1.4.2) rotp (~> 6.1) @@ -320,8 +320,8 @@ GEM aws-sdk-core (~> 3, >= 3.177.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.6) - aws-sdk-sns (1.61.0) - aws-sdk-core (~> 3, >= 3.174.0) + aws-sdk-sns (1.65.0) + aws-sdk-core (~> 3, >= 3.177.0) aws-sigv4 (~> 1.1) aws-sigv4 (1.6.0) aws-eventstream (~> 1, >= 1.0.2) diff --git a/modules/two_factor_authentication/openproject-two_factor_authentication.gemspec b/modules/two_factor_authentication/openproject-two_factor_authentication.gemspec index 652cbd80c448..b45f2e12a2ce 100644 --- a/modules/two_factor_authentication/openproject-two_factor_authentication.gemspec +++ b/modules/two_factor_authentication/openproject-two_factor_authentication.gemspec @@ -12,6 +12,6 @@ Gem::Specification.new do |s| s.add_dependency 'messagebird-rest', '~> 1.4.2' s.add_dependency 'rotp', '~> 6.1' - s.add_dependency 'aws-sdk-sns', '~> 1.61.0' + s.add_dependency 'aws-sdk-sns', '~> 1.65.0' s.metadata['rubygems_mfa_required'] = 'true' end
  • +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 diff --git a/docs/user-guide/work-packages/set-change-dates/README.md b/docs/user-guide/work-packages/set-change-dates/README.md index 188ff99d489d..ff7d0e4e69b6 100644 --- a/docs/user-guide/work-packages/set-change-dates/README.md +++ b/docs/user-guide/work-packages/set-change-dates/README.md @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Set and change dates and duration - priority: 890 + priority: 970 description: How to use the date picker to set and update the start date, finish date and duration of a work packages keywords: date picker start finish dates duration change modify update relations work package --- 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 c906d1d30570..ee35d4915601 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 @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Work package relations and hierarchies - priority: 600 + priority: 960 description: How to add or configure work package relations. keywords: relations, hierarchies, child, parent, blocked, includes, part of --- diff --git a/docs/user-guide/work-packages/work-package-table-configuration/README.md b/docs/user-guide/work-packages/work-package-table-configuration/README.md index 2f7e415429f9..925a069e098b 100644 --- a/docs/user-guide/work-packages/work-package-table-configuration/README.md +++ b/docs/user-guide/work-packages/work-package-table-configuration/README.md @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Configure work package table - priority: 700 + priority: 970 description: How to configure the work package list in OpenProject. keywords: work packages table configuration, work package table, columns, filter, group --- From a4bfcbd6f14200b1a67b98b6025238d66cc81bb8 Mon Sep 17 00:00:00 2001 From: Maya Berdygylyjova Date: Mon, 17 Jul 2023 11:00:05 +0200 Subject: [PATCH 166/180] sub-page hierarchy changes --- docs/user-guide/work-packages/copy-move-delete/README.md | 2 +- docs/user-guide/work-packages/exporting/README.md | 2 +- .../work-packages/work-package-relations-hierarchies/README.md | 2 +- .../work-packages/work-package-table-configuration/README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/work-packages/copy-move-delete/README.md b/docs/user-guide/work-packages/copy-move-delete/README.md index f177d902f6bc..0b049160148c 100644 --- a/docs/user-guide/work-packages/copy-move-delete/README.md +++ b/docs/user-guide/work-packages/copy-move-delete/README.md @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Copy, move, delete work packages - priority: 980 + priority: 960 description: How to copy, change project or delete a work package. keywords: copy work package, delete work package, move work package --- diff --git a/docs/user-guide/work-packages/exporting/README.md b/docs/user-guide/work-packages/exporting/README.md index 6e0625718b72..e7158d1022b3 100644 --- a/docs/user-guide/work-packages/exporting/README.md +++ b/docs/user-guide/work-packages/exporting/README.md @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Export work packages - priority: 950 + priority: 930 description: How to export work packages for other tools, such as Microsoft Excel keywords: work package exports, CSV, Excel, XLS, PDF --- 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 ee35d4915601..5a3bb6a45263 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 @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Work package relations and hierarchies - priority: 960 + priority: 940 description: How to add or configure work package relations. keywords: relations, hierarchies, child, parent, blocked, includes, part of --- diff --git a/docs/user-guide/work-packages/work-package-table-configuration/README.md b/docs/user-guide/work-packages/work-package-table-configuration/README.md index 925a069e098b..3aa3a0adc0c3 100644 --- a/docs/user-guide/work-packages/work-package-table-configuration/README.md +++ b/docs/user-guide/work-packages/work-package-table-configuration/README.md @@ -1,7 +1,7 @@ --- sidebar_navigation: title: Configure work package table - priority: 970 + priority: 950 description: How to configure the work package list in OpenProject. keywords: work packages table configuration, work package table, columns, filter, group --- From b1bdf9e9c90f47ee2cab8191a7e819b1d4160cd9 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 17 Jul 2023 11:56:51 +0200 Subject: [PATCH 167/180] [#48464] Remove export options from backlog module https://community.openproject.org/work_packages/48464 --- Gemfile.lock | 21 -- Gemfile.modules | 1 - config/configuration.yml.example | 2 - ...7104700_drop_export_card_configurations.rb | 13 ++ .../configuration/README.md | 4 +- .../backlogs/openproject-backlogs.routes.ts | 6 - ...b_export_card_configurations_controller.rb | 60 ------ .../rb_master_backlogs_controller.rb | 9 - .../app/controllers/rb_stories_controller.rb | 2 - .../app/helpers/rb_master_backlogs_helper.rb | 24 --- .../index.html.erb | 51 ----- modules/backlogs/config/routes.rb | 2 - .../lib/open_project/backlogs/engine.rb | 6 +- modules/backlogs/openproject-backlogs.gemspec | 2 - .../spec/features/stories_in_backlog_spec.rb | 13 -- .../spec/features/tasks_on_taskboard_spec.rb | 7 - .../spec/models/work_package_export_spec.rb | 47 ---- ...kboard_card_configurations_routing_spec.rb | 48 ----- modules/backlogs/spec/spec_helper.rb | 34 --- .../rb_master_backlogs/index.html.erb_spec.rb | 29 --- modules/pdf_export/README.md | 83 ------- .../export_card_configurations_controller.rb | 126 ----------- .../app/models/export_card_configuration.rb | 156 -------------- .../export_card_configurations/_form.html.erb | 57 ----- .../_rows_format_help.html.erb | 15 -- .../export_card_configurations/edit.html.erb | 43 ---- .../export_card_configurations/index.html.erb | 147 ------------- .../export_card_configurations/new.html.erb | 42 ---- modules/pdf_export/config/locales/ar.yml | 30 --- .../pdf_export/config/locales/crowdin/af.yml | 51 ----- .../pdf_export/config/locales/crowdin/ar.yml | 51 ----- .../pdf_export/config/locales/crowdin/az.yml | 51 ----- .../pdf_export/config/locales/crowdin/be.yml | 51 ----- .../pdf_export/config/locales/crowdin/bg.yml | 51 ----- .../pdf_export/config/locales/crowdin/ca.yml | 51 ----- .../config/locales/crowdin/ckb-IR.yml | 51 ----- .../pdf_export/config/locales/crowdin/cs.yml | 51 ----- .../pdf_export/config/locales/crowdin/da.yml | 51 ----- .../pdf_export/config/locales/crowdin/de.yml | 51 ----- .../pdf_export/config/locales/crowdin/el.yml | 51 ----- .../pdf_export/config/locales/crowdin/eo.yml | 51 ----- .../pdf_export/config/locales/crowdin/es.yml | 51 ----- .../pdf_export/config/locales/crowdin/et.yml | 51 ----- .../pdf_export/config/locales/crowdin/eu.yml | 51 ----- .../pdf_export/config/locales/crowdin/fa.yml | 51 ----- .../pdf_export/config/locales/crowdin/fi.yml | 51 ----- .../pdf_export/config/locales/crowdin/fil.yml | 51 ----- .../pdf_export/config/locales/crowdin/fr.yml | 51 ----- .../pdf_export/config/locales/crowdin/he.yml | 51 ----- .../pdf_export/config/locales/crowdin/hi.yml | 51 ----- .../pdf_export/config/locales/crowdin/hr.yml | 51 ----- .../pdf_export/config/locales/crowdin/hu.yml | 51 ----- .../pdf_export/config/locales/crowdin/id.yml | 51 ----- .../pdf_export/config/locales/crowdin/it.yml | 51 ----- .../pdf_export/config/locales/crowdin/ja.yml | 51 ----- .../pdf_export/config/locales/crowdin/ka.yml | 51 ----- .../pdf_export/config/locales/crowdin/ko.yml | 51 ----- .../pdf_export/config/locales/crowdin/lt.yml | 51 ----- .../pdf_export/config/locales/crowdin/lv.yml | 51 ----- .../pdf_export/config/locales/crowdin/mn.yml | 51 ----- .../pdf_export/config/locales/crowdin/ne.yml | 51 ----- .../pdf_export/config/locales/crowdin/nl.yml | 51 ----- .../pdf_export/config/locales/crowdin/no.yml | 51 ----- .../pdf_export/config/locales/crowdin/pl.yml | 51 ----- .../pdf_export/config/locales/crowdin/pt.yml | 51 ----- .../pdf_export/config/locales/crowdin/ro.yml | 51 ----- .../pdf_export/config/locales/crowdin/ru.yml | 51 ----- .../pdf_export/config/locales/crowdin/rw.yml | 51 ----- .../pdf_export/config/locales/crowdin/si.yml | 51 ----- .../pdf_export/config/locales/crowdin/sk.yml | 51 ----- .../pdf_export/config/locales/crowdin/sl.yml | 51 ----- .../pdf_export/config/locales/crowdin/sr.yml | 51 ----- .../pdf_export/config/locales/crowdin/sv.yml | 51 ----- .../pdf_export/config/locales/crowdin/th.yml | 51 ----- .../pdf_export/config/locales/crowdin/tr.yml | 51 ----- .../pdf_export/config/locales/crowdin/uk.yml | 51 ----- .../pdf_export/config/locales/crowdin/vi.yml | 51 ----- .../config/locales/crowdin/zh-CN.yml | 51 ----- .../config/locales/crowdin/zh-TW.yml | 51 ----- modules/pdf_export/config/locales/da.yml | 30 --- modules/pdf_export/config/locales/de.yml | 30 --- modules/pdf_export/config/locales/en.yml | 59 ----- modules/pdf_export/config/locales/es-ES.yml | 30 --- modules/pdf_export/config/locales/et.yml | 30 --- modules/pdf_export/config/locales/fi.yml | 30 --- modules/pdf_export/config/locales/fr.yml | 30 --- modules/pdf_export/config/locales/hr.yml | 30 --- modules/pdf_export/config/locales/it.yml | 30 --- modules/pdf_export/config/locales/ko.yml | 30 --- modules/pdf_export/config/locales/lt.yml | 30 --- modules/pdf_export/config/locales/no.yml | 30 --- modules/pdf_export/config/locales/pl.yml | 30 --- modules/pdf_export/config/locales/pt-BR.yml | 30 --- modules/pdf_export/config/locales/pt-PT.yml | 30 --- modules/pdf_export/config/locales/ru.yml | 30 --- modules/pdf_export/config/locales/sk.yml | 30 --- modules/pdf_export/config/locales/sv-SE.yml | 30 --- modules/pdf_export/config/locales/zh-CN.yml | 30 --- modules/pdf_export/config/locales/zh-TW.yml | 30 --- modules/pdf_export/config/routes.rb | 36 ---- ...132617_create_export_card_configuration.rb | 39 ---- ...dd_active_to_export_card_configurations.rb | 33 --- ...scription_to_export_card_configurations.rb | 33 --- .../db/seeds/export_card_configurations.rb | 35 --- .../pdf_export/lib/open_project/pdf_export.rb | 33 --- .../lib/open_project/pdf_export/engine.rb | 47 ---- .../lib/open_project/pdf_export/exceptions.rb | 32 --- .../pdf_export/export_card/card_element.rb | 161 -------------- .../pdf_export/export_card/column_element.rb | 202 ------------------ .../export_card/document_generator.rb | 107 ---------- .../pdf_export/export_card/group_element.rb | 78 ------- .../model_display/work_package_display.rb | 7 - .../pdf_export/export_card/row_element.rb | 130 ----------- .../pdf_export/lib/openproject-pdf_export.rb | 29 --- .../pdf_export/openproject-pdf_export.gemspec | 15 -- ...ort_card_configurations_controller_spec.rb | 179 ---------------- .../export_card/document_generator_spec.rb | 96 --------- .../export_card_configuration_factory.rb | 85 -------- .../export_card_configurations_admin_spec.rb | 83 ------- modules/pdf_export/spec/shared_examples.rb | 17 -- modules/pdf_export/spec/spec_helper.rb | 34 --- .../spec/views/edit.html.erb_spec.rb | 49 ----- .../spec/views/index.html.erb_spec.rb | 47 ---- .../spec/views/new.html.erb_spec.rb | 47 ---- nix/gemset.nix | 12 +- 125 files changed, 18 insertions(+), 5907 deletions(-) create mode 100644 db/migrate/20230717104700_drop_export_card_configurations.rb delete mode 100644 modules/backlogs/app/controllers/rb_export_card_configurations_controller.rb delete mode 100644 modules/backlogs/app/views/rb_export_card_configurations/index.html.erb delete mode 100644 modules/backlogs/spec/models/work_package_export_spec.rb delete mode 100644 modules/backlogs/spec/routing/rb_taskboard_card_configurations_routing_spec.rb delete mode 100644 modules/backlogs/spec/spec_helper.rb delete mode 100644 modules/pdf_export/README.md delete mode 100644 modules/pdf_export/app/controllers/export_card_configurations_controller.rb delete mode 100644 modules/pdf_export/app/models/export_card_configuration.rb delete mode 100644 modules/pdf_export/app/views/export_card_configurations/_form.html.erb delete mode 100644 modules/pdf_export/app/views/export_card_configurations/_rows_format_help.html.erb delete mode 100644 modules/pdf_export/app/views/export_card_configurations/edit.html.erb delete mode 100644 modules/pdf_export/app/views/export_card_configurations/index.html.erb delete mode 100644 modules/pdf_export/app/views/export_card_configurations/new.html.erb delete mode 100644 modules/pdf_export/config/locales/ar.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/af.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ar.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/az.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/be.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/bg.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ca.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ckb-IR.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/cs.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/da.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/de.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/el.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/eo.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/es.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/et.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/eu.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/fa.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/fi.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/fil.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/fr.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/he.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/hi.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/hr.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/hu.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/id.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/it.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ja.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ka.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ko.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/lt.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/lv.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/mn.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ne.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/nl.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/no.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/pl.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/pt.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ro.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/ru.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/rw.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/si.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/sk.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/sl.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/sr.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/sv.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/th.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/tr.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/uk.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/vi.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/zh-CN.yml delete mode 100644 modules/pdf_export/config/locales/crowdin/zh-TW.yml delete mode 100644 modules/pdf_export/config/locales/da.yml delete mode 100644 modules/pdf_export/config/locales/de.yml delete mode 100644 modules/pdf_export/config/locales/en.yml delete mode 100644 modules/pdf_export/config/locales/es-ES.yml delete mode 100644 modules/pdf_export/config/locales/et.yml delete mode 100644 modules/pdf_export/config/locales/fi.yml delete mode 100644 modules/pdf_export/config/locales/fr.yml delete mode 100644 modules/pdf_export/config/locales/hr.yml delete mode 100644 modules/pdf_export/config/locales/it.yml delete mode 100644 modules/pdf_export/config/locales/ko.yml delete mode 100644 modules/pdf_export/config/locales/lt.yml delete mode 100644 modules/pdf_export/config/locales/no.yml delete mode 100644 modules/pdf_export/config/locales/pl.yml delete mode 100644 modules/pdf_export/config/locales/pt-BR.yml delete mode 100644 modules/pdf_export/config/locales/pt-PT.yml delete mode 100644 modules/pdf_export/config/locales/ru.yml delete mode 100644 modules/pdf_export/config/locales/sk.yml delete mode 100644 modules/pdf_export/config/locales/sv-SE.yml delete mode 100644 modules/pdf_export/config/locales/zh-CN.yml delete mode 100644 modules/pdf_export/config/locales/zh-TW.yml delete mode 100644 modules/pdf_export/config/routes.rb delete mode 100644 modules/pdf_export/db/migrate/20140113132617_create_export_card_configuration.rb delete mode 100644 modules/pdf_export/db/migrate/20140129103924_add_active_to_export_card_configurations.rb delete mode 100644 modules/pdf_export/db/migrate/20140207134248_add_description_to_export_card_configurations.rb delete mode 100644 modules/pdf_export/db/seeds/export_card_configurations.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export/engine.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export/exceptions.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export/export_card/card_element.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export/export_card/column_element.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export/export_card/document_generator.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export/export_card/group_element.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export/export_card/model_display/work_package_display.rb delete mode 100644 modules/pdf_export/lib/open_project/pdf_export/export_card/row_element.rb delete mode 100644 modules/pdf_export/lib/openproject-pdf_export.rb delete mode 100644 modules/pdf_export/openproject-pdf_export.gemspec delete mode 100644 modules/pdf_export/spec/controllers/export_card_configurations_controller_spec.rb delete mode 100644 modules/pdf_export/spec/export_card/document_generator_spec.rb delete mode 100644 modules/pdf_export/spec/factories/export_card_configuration_factory.rb delete mode 100644 modules/pdf_export/spec/features/export_card_configurations_admin_spec.rb delete mode 100644 modules/pdf_export/spec/shared_examples.rb delete mode 100644 modules/pdf_export/spec/spec_helper.rb delete mode 100644 modules/pdf_export/spec/views/edit.html.erb_spec.rb delete mode 100644 modules/pdf_export/spec/views/index.html.erb_spec.rb delete mode 100644 modules/pdf_export/spec/views/new.html.erb_spec.rb diff --git a/Gemfile.lock b/Gemfile.lock index 79a7ad61f72d..44f2f4240bb2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -74,7 +74,6 @@ PATH specs: openproject-backlogs (1.0.0) acts_as_list (~> 1.1.0) - openproject-pdf_export PATH remote: modules/bim @@ -162,13 +161,6 @@ PATH overviews (1.0.0) grids -PATH - remote: modules/pdf_export - specs: - openproject-pdf_export (1.0.0) - pdf-inspector (~> 1.3.0) - prawn (~> 2.2) - PATH remote: modules/recaptcha specs: @@ -213,7 +205,6 @@ PATH GEM remote: https://rubygems.org/ specs: - Ascii85 (1.1.0) actioncable (7.0.6) actionpack (= 7.0.6) activesupport (= 7.0.6) @@ -303,7 +294,6 @@ GEM addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) aes_key_wrap (1.1.0) - afm (0.2.2) airbrake (13.0.3) airbrake-ruby (~> 6.0) airbrake-ruby (6.2.1) @@ -528,7 +518,6 @@ GEM gravatar_image_tag (1.2.0) hana (1.3.7) hashdiff (1.0.1) - hashery (2.1.2) hashie (3.6.0) html-pipeline (2.14.3) activesupport (>= 2) @@ -672,14 +661,6 @@ GEM ast (~> 2.4.1) racc pdf-core (0.9.0) - pdf-inspector (1.3.0) - pdf-reader (>= 1.0, < 3.0.a) - pdf-reader (2.11.0) - Ascii85 (~> 1.0) - afm (~> 0.2.1) - hashery (~> 2.0) - ruby-rc4 - ttfunk pg (1.5.3) plaintext (0.3.4) activesupport (> 2.2.1) @@ -866,7 +847,6 @@ GEM ruby-ole (1.2.12.2) ruby-prof (1.6.3) ruby-progressbar (1.13.0) - ruby-rc4 (0.1.5) ruby-saml (1.15.0) nokogiri (>= 1.13.10) rexml @@ -1091,7 +1071,6 @@ DEPENDENCIES openproject-ldap_groups! openproject-meeting! openproject-openid_connect! - openproject-pdf_export! openproject-recaptcha! openproject-reporting! openproject-storages! diff --git a/Gemfile.modules b/Gemfile.modules index cbfc2a1b0688..0b00b4c69329 100644 --- a/Gemfile.modules +++ b/Gemfile.modules @@ -28,7 +28,6 @@ group :opf_plugins do gem 'costs', path: 'modules/costs' gem 'openproject-reporting', path: 'modules/reporting' gem 'openproject-meeting', path: 'modules/meeting' - gem 'openproject-pdf_export', path: 'modules/pdf_export' gem "openproject-backlogs", path: 'modules/backlogs' gem 'openproject-avatars', path: 'modules/avatars' gem 'openproject-two_factor_authentication', path: 'modules/two_factor_authentication' diff --git a/config/configuration.yml.example b/config/configuration.yml.example index 3ea7186309db..47154aaea3da 100644 --- a/config/configuration.yml.example +++ b/config/configuration.yml.example @@ -139,7 +139,6 @@ # - settings # - ldap_authentication # - colors -# - export_card_configurations # - plugins # - info # @@ -153,7 +152,6 @@ # blacklisted_routes: # - 'admin/info' # - 'admin/plugins' -# - 'export_card_configurations' # - 'colors' # - 'settings' # - 'admin/enumerations' diff --git a/db/migrate/20230717104700_drop_export_card_configurations.rb b/db/migrate/20230717104700_drop_export_card_configurations.rb new file mode 100644 index 000000000000..a3bc4155d266 --- /dev/null +++ b/db/migrate/20230717104700_drop_export_card_configurations.rb @@ -0,0 +1,13 @@ +class DropExportCardConfigurations < ActiveRecord::Migration[7.0] + def change + drop_table :export_card_configurations, if_exists: true do |t| + t.string :name + t.integer :per_page + t.string :page_size + t.string :orientation + t.text :rows + t.text :description + t.boolean :active, default: true + end + end +end diff --git a/docs/installation-and-operations/configuration/README.md b/docs/installation-and-operations/configuration/README.md index 2c44e3d0f59d..36b95137750e 100644 --- a/docs/installation-and-operations/configuration/README.md +++ b/docs/installation-and-operations/configuration/README.md @@ -430,7 +430,7 @@ OPENPROJECT_HIDDEN__MENU__ITEMS_ADMIN__MENU="roles types" The following example disables all menu items except 'Users', 'Groups' and 'Custom fields' under 'Administration': ```yaml -OPENPROJECT_HIDDEN__MENU__ITEMS_ADMIN__MENU="roles types statuses workflows enumerations settings ldap_authentication colors project_types export_card_configurations plugins info" +OPENPROJECT_HIDDEN__MENU__ITEMS_ADMIN__MENU="roles types statuses workflows enumerations settings ldap_authentication colors project_types plugins info" ``` ### blacklisted routes @@ -442,7 +442,7 @@ You can blacklist specific routes The following example forbid all routes for the second example at the 'hidden menu items admin menu': ```yaml -OPENPROJECT_BLACKLISTED__ROUTES="admin/info admin/plugins export_card_configurations project_types colors settings admin/enumerations workflows/* statuses types admin/roles" +OPENPROJECT_BLACKLISTED__ROUTES="admin/info admin/plugins project_types colors settings admin/enumerations workflows/* statuses types admin/roles" ``` ### disabled modules diff --git a/frontend/src/app/features/backlogs/openproject-backlogs.routes.ts b/frontend/src/app/features/backlogs/openproject-backlogs.routes.ts index aebe20593518..5360302476e4 100644 --- a/frontend/src/app/features/backlogs/openproject-backlogs.routes.ts +++ b/frontend/src/app/features/backlogs/openproject-backlogs.routes.ts @@ -48,10 +48,4 @@ export const BACKLOGS_ROUTES:Ng2StateDeclaration[] = [ url: '/sprints/{sprintId:int}/burndown_chart', component: BacklogsPageComponent, }, - { - name: 'backlogs_export', - parent: 'optional_project', - url: '/sprints/{sprintId:int}/export_card_configurations', - component: BacklogsPageComponent, - }, ]; diff --git a/modules/backlogs/app/controllers/rb_export_card_configurations_controller.rb b/modules/backlogs/app/controllers/rb_export_card_configurations_controller.rb deleted file mode 100644 index 7105a3bf1450..000000000000 --- a/modules/backlogs/app/controllers/rb_export_card_configurations_controller.rb +++ /dev/null @@ -1,60 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 RbExportCardConfigurationsController < RbApplicationController - include OpenProject::PDFExport::ExportCard - - before_action :load_project_and_sprint - - def index - @configs = ExportCardConfiguration.active - end - - def show - config = ExportCardConfiguration.find(params[:id]) - - cards_document = OpenProject::PDFExport::ExportCard::DocumentGenerator.new(config, @sprint.stories(@project)) - - filename = "#{@project}-#{@sprint}-#{Time.now.strftime('%B-%d-%Y')}.pdf" - respond_to do |format| - format.pdf do - send_data(cards_document.render, - disposition: 'attachment', - type: 'application/pdf', - filename:) - end - end - end - - private - - def load_project_and_sprint - @project = Project.find(params[:project_id]) - @sprint = Sprint.find(@sprint_id) - end -end diff --git a/modules/backlogs/app/controllers/rb_master_backlogs_controller.rb b/modules/backlogs/app/controllers/rb_master_backlogs_controller.rb index 303239917bbb..3014350058a9 100644 --- a/modules/backlogs/app/controllers/rb_master_backlogs_controller.rb +++ b/modules/backlogs/app/controllers/rb_master_backlogs_controller.rb @@ -29,8 +29,6 @@ class RbMasterBacklogsController < RbApplicationController menu_item :backlogs - before_action :set_export_card_config_meta - def index @owner_backlogs = Backlog.owner_backlogs(@project) @sprint_backlogs = Backlog.sprint_backlogs(@project) @@ -40,13 +38,6 @@ def index private - def set_export_card_config_meta - @export_card_config_meta = { - count: ExportCardConfiguration.active.count, - default: ExportCardConfiguration.default - } - end - def default_breadcrumb I18n.t(:label_backlogs) end diff --git a/modules/backlogs/app/controllers/rb_stories_controller.rb b/modules/backlogs/app/controllers/rb_stories_controller.rb index e1dd3919e6d8..773968c26567 100644 --- a/modules/backlogs/app/controllers/rb_stories_controller.rb +++ b/modules/backlogs/app/controllers/rb_stories_controller.rb @@ -27,8 +27,6 @@ #++ class RbStoriesController < RbApplicationController - include OpenProject::PDFExport::ExportCard - # This is a constant here because we will recruit it elsewhere to whitelist # attributes. This is necessary for now as we still directly use `attributes=` # in non-controller code. diff --git a/modules/backlogs/app/helpers/rb_master_backlogs_helper.rb b/modules/backlogs/app/helpers/rb_master_backlogs_helper.rb index 6906bfe142b5..a61baccdee1c 100644 --- a/modules/backlogs/app/helpers/rb_master_backlogs_helper.rb +++ b/modules/backlogs/app/helpers/rb_master_backlogs_helper.rb @@ -72,10 +72,6 @@ def common_backlog_menu_items_for(backlog) project_id: @project, sprint_id: backlog.sprint) - if @export_card_config_meta[:count] > 0 - items[:configs] = export_export_cards_link(backlog) - end - if current_user.allowed_to?(:manage_versions, @project) items[:properties] = properties_link(backlog) end @@ -83,20 +79,6 @@ def common_backlog_menu_items_for(backlog) items end - def export_export_cards_link(backlog) - if @export_card_config_meta[:count] == 1 - link_to(I18n.t(:label_backlogs_export_card_export), - controller: '/rb_export_card_configurations', - action: 'show', - project_id: @project, - sprint_id: backlog.sprint, - id: @export_card_config_meta[:default], - format: :pdf) - else - export_modal_link(backlog) - end - end - def properties_link(backlog) back_path = backlogs_project_backlogs_path(@project) @@ -105,12 +87,6 @@ def properties_link(backlog) link_to(I18n.t(:'backlogs.properties'), version_path) end - def export_modal_link(backlog, options = {}) - path = backlogs_project_sprint_export_card_configurations_path(@project.id, backlog.sprint.id) - html_id = "modal_work_package_#{SecureRandom.hex(10)}" - link_to(I18n.t(:label_backlogs_export_card_export), path, options.merge(id: html_id, 'data-modal': '')) - end - def sprint_backlog_menu_items_for(backlog) items = {} diff --git a/modules/backlogs/app/views/rb_export_card_configurations/index.html.erb b/modules/backlogs/app/views/rb_export_card_configurations/index.html.erb deleted file mode 100644 index a1c3f99349b4..000000000000 --- a/modules/backlogs/app/views/rb_export_card_configurations/index.html.erb +++ /dev/null @@ -1,51 +0,0 @@ -<%#-- copyright -OpenProject is an open source project management software. -Copyright (C) 2012-2023 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. - -++#%> - - -

    -<%= toolbar title: t(:label_backlogs_export_card_config_select) %> -<% html_title t(:label_backlogs_export_card_config_select) %> -
      -<% @configs.each do |config| %> -
    • -

      - <%= link_to(config.name, - :controller => '/rb_export_card_configurations', - :action => 'show', - :project_id => @project.id, - :sprint_id => @sprint.id, - :id => config.id, - :format => :pdf) %> - <% if !!config.description && !config.description.empty? %> - <%= " - #{config.description}" %> - <% end %> -

      -
    • -<% end %> -
    diff --git a/modules/backlogs/config/routes.rb b/modules/backlogs/config/routes.rb index b3fb4297e1d3..cce169ec4106 100644 --- a/modules/backlogs/config/routes.rb +++ b/modules/backlogs/config/routes.rb @@ -44,8 +44,6 @@ resources :tasks, controller: :rb_tasks, only: %i[create update] - resources :export_card_configurations, controller: :rb_export_card_configurations, only: %i[index show] - resources :stories, controller: :rb_stories, only: %i[create update] end diff --git a/modules/backlogs/lib/open_project/backlogs/engine.rb b/modules/backlogs/lib/open_project/backlogs/engine.rb index 771235d524fb..d367b0859561 100644 --- a/modules/backlogs/lib/open_project/backlogs/engine.rb +++ b/modules/backlogs/lib/open_project/backlogs/engine.rb @@ -76,8 +76,7 @@ def self.settings rb_wikis: :show, rb_stories: %i[index show], rb_queries: :show, - rb_burndown_charts: :show, - rb_export_card_configurations: %i[index show] + rb_burndown_charts: :show permission :view_taskboards, rb_taskboards: :show, @@ -86,8 +85,7 @@ def self.settings rb_tasks: %i[index show], rb_impediments: %i[index show], rb_wikis: :show, - rb_burndown_charts: :show, - rb_export_card_configurations: %i[index show] + rb_burndown_charts: :show permission :select_done_statuses, { diff --git a/modules/backlogs/openproject-backlogs.gemspec b/modules/backlogs/openproject-backlogs.gemspec index 9ce102acb261..69fe162f5f9a 100644 --- a/modules/backlogs/openproject-backlogs.gemspec +++ b/modules/backlogs/openproject-backlogs.gemspec @@ -10,8 +10,6 @@ Gem::Specification.new do |s| s.add_dependency 'acts_as_list', '~> 1.1.0' - s.add_dependency 'openproject-pdf_export' - s.add_development_dependency 'factory_girl_rails', '~> 4.0' s.metadata['rubygems_mfa_required'] = 'true' end diff --git a/modules/backlogs/spec/features/stories_in_backlog_spec.rb b/modules/backlogs/spec/features/stories_in_backlog_spec.rb index e13ef9f9079b..cd5e030ed823 100644 --- a/modules/backlogs/spec/features/stories_in_backlog_spec.rb +++ b/modules/backlogs/spec/features/stories_in_backlog_spec.rb @@ -131,13 +131,6 @@ version: sprint, story_points: 10) end - let!(:export_card_configurations) do - ExportCardConfiguration.create!(name: 'Default', - per_page: 1, - page_size: 'A4', - orientation: 'landscape', - rows: "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n has_label: false") - end let(:backlogs_page) { Pages::Backlogs.new(project) } before do @@ -320,12 +313,6 @@ status: default_status.name, type: other_story.name) - # The pdf export is reachable via the menu - SeleniumHubWaiter.wait - backlogs_page - .click_in_backlog_menu(sprint, 'Export') - # Will download something that is currently not speced - # Clicking would lead to having the burndown chart opened in another tab # which seems hard to test with selenium. backlogs_page diff --git a/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb b/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb index fa5bce91c654..78390db6aa52 100644 --- a/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb +++ b/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb @@ -137,13 +137,6 @@ version: sprint, story_points: 10) end - let!(:export_card_configurations) do - ExportCardConfiguration.create!(name: 'Default', - per_page: 1, - page_size: 'A4', - orientation: 'landscape', - rows: "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n has_label: false") - end let(:taskboard_page) { Pages::Taskboard.new(project, sprint) } before do diff --git a/modules/backlogs/spec/models/work_package_export_spec.rb b/modules/backlogs/spec/models/work_package_export_spec.rb deleted file mode 100644 index 3b0e62d3e5b8..000000000000 --- a/modules/backlogs/spec/models/work_package_export_spec.rb +++ /dev/null @@ -1,47 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 File.expand_path(File.dirname(__FILE__) + '/../spec_helper') - -RSpec.describe WorkPackage::PDFExport::WorkPackageToPdf do - let(:project) { create(:project) } - let(:query) { Query.new_default(project:) } - - subject { described_class.new query } - - before do - query.column_names << :story_points - end - - describe 'backlogs column' do - it 'contains the story_points column in valid export column names' do - backlog_column = subject.columns.detect { |c| c.name == :story_points } - expect(backlog_column).to be_present - end - end -end diff --git a/modules/backlogs/spec/routing/rb_taskboard_card_configurations_routing_spec.rb b/modules/backlogs/spec/routing/rb_taskboard_card_configurations_routing_spec.rb deleted file mode 100644 index 6f7c8f2b2865..000000000000 --- a/modules/backlogs/spec/routing/rb_taskboard_card_configurations_routing_spec.rb +++ /dev/null @@ -1,48 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 RbExportCardConfigurationsController do - describe 'routing' do - it { - expect(get('/projects/project_42/sprints/21/export_card_configurations/10')).to route_to(controller: 'rb_export_card_configurations', - action: 'show', - project_id: 'project_42', - sprint_id: '21', - id: '10') - } - - it { - expect(get('/projects/project_42/sprints/21/export_card_configurations')).to route_to(controller: 'rb_export_card_configurations', - action: 'index', - project_id: 'project_42', - sprint_id: '21') - } - end -end diff --git a/modules/backlogs/spec/spec_helper.rb b/modules/backlogs/spec/spec_helper.rb deleted file mode 100644 index 8f1f022eebaa..000000000000 --- a/modules/backlogs/spec/spec_helper.rb +++ /dev/null @@ -1,34 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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. -#++ - -# -- load spec_helper from OpenProject core -require 'spec_helper' - -# load gem dependencies -require 'prawn' -require 'pdf/inspector' diff --git a/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb b/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb index 4a0e07c0bea5..112ef99111a4 100644 --- a/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb +++ b/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb @@ -88,33 +88,4 @@ # We directly force the creation of stories by calling the method stories end - - it 'shows link to export with the default export card configuration' do - default_export_card_config = create(:export_card_configuration) - assign(:export_card_config_meta, { - default: default_export_card_config, - count: 1 - }) - - render - - assert_select '.menu ul.items a' do |a| - url = backlogs_project_sprint_export_card_configuration_path(project.identifier, sprint.id, default_export_card_config.id, - format: :pdf) - expect(a.last).to have_content 'Export' - expect(a.last).to have_css("a[href='#{url}']") - end - end - - it 'shows link to display export card configuration choice modal' do - assign(:export_card_config_meta, { count: 2 }) - render - - assert_select '.menu ul.items a' do |a| - url = backlogs_project_sprint_export_card_configurations_path(project.id, sprint.id) - expect(a.last).to have_content 'Export' - expect(a.last).to have_css("a[href='#{url}']") - expect(a.last).to have_css('a[data-modal]') - end - end end diff --git a/modules/pdf_export/README.md b/modules/pdf_export/README.md deleted file mode 100644 index 34f25b0dae4e..000000000000 --- a/modules/pdf_export/README.md +++ /dev/null @@ -1,83 +0,0 @@ -Usage ------------- - -The plugin provides an admin interface for ExportCardConfiguration CRUD. Existing ExportCardConfigurations can then be used to export data in PDF form, the configuration defining the layout of the card and the specific data which appears in it. The DocumentGenerator init takes a ExportCardConfiguration and an array of any object. It is left to the developer to make sure the fields in the config match the given data. A ExportCardConfiguration currently allows for the following fields to be defined: - -* Name - A unique identifier for the configuration. -* Per Page - The number of export cards which will appear on each page of the exported PDF. -* Page Size - Currently we only support A4 paper size. -* Orientation - Portrait of Landscape. -* Rows - A YAML text block which defines in detail what should appear in each row and column of the export cards. - -The following sample YAML shows the required form and all of the available configuration options: - -```yaml -group1: - has_border: false - rows: - row1: - priority: 1 - columns: - id: - has_label: false - min_font_size: 10 - max_font_size: 20 - font_size: 20 - font_style: bold - text_align: left - minimum_lines: 2 - render_if_empty: false - width: 30% - subject: - has_label: false - font_size: 15 - font_style: italic - minimum_lines: 2 - render_if_empty: false - width: 70% - row2: - priority: 2 - columns: - status: - has_label: true - indented: true - font_size: 15 - font_style: normal - minimum_lines: 1 - render_if_empty: true -group2: - has_border: true - rows: - row1: - priority: 2 - columns: - description: - has_label: true - indented: false - font_size: 15 - font_style: normal - minimum_lines: 1 - render_if_empty: true - row2: - priority: 2 - columns: - status: - has_label: true - font_size: 15 - font_style: normal - minimum_lines: 1 - render_if_empty: true - row3: - priority: 2 - columns: - subject: - has_label: true - font_size: 15 - minimum_lines: 1 -``` - -The config is divided into groups. A group can have a height property which will enforce the minimum height of the group in pixels. The has_border property can be set to true which will draw a border around the rows in the group. - -Any number of rows can be defined. The font_size and minimum_lines properties define how much height on the card is given to the row. The plugin will attempt to assign enough space to each of the rows, however space will be assigned based on the priorities of the the rows, with rows with lower priority (higher numbers) being reduced and removed first if there is not enough for all the data. The row height can be forced by giving a value, in pixels, for the row height property. This will override the assigned row height. - -The name of the column informs the plugin which data should be read from the model (status, due_date, id, etc.). There can be any number of columns per row. Custom field names can also be used. Columns are given an equal share of the row width unless a specific width % is given. If there is more text in the column than can fit into its assigned space on the card then the text will be truncated. diff --git a/modules/pdf_export/app/controllers/export_card_configurations_controller.rb b/modules/pdf_export/app/controllers/export_card_configurations_controller.rb deleted file mode 100644 index 417ad526b07b..000000000000 --- a/modules/pdf_export/app/controllers/export_card_configurations_controller.rb +++ /dev/null @@ -1,126 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 ExportCardConfigurationsController < ApplicationController - layout 'admin' - - before_action :require_admin - before_action :load_config, only: %i[show update edit destroy activate deactivate] - before_action :load_configs, only: [:index] - - def index; end - - def show; end - - def edit; end - - def new - @config = ExportCardConfiguration.new - end - - def create - @config = ExportCardConfiguration.new(export_card_configurations_params) - if @config.save - flash[:notice] = I18n.t(:notice_successful_create) - redirect_to action: 'index' - else - render "new" - end - end - - def update - if cannot_update_default - flash[:error] = I18n.t(:error_can_not_change_name_of_default_configuration) - render "edit" - elsif @config.update(export_card_configurations_params) - flash[:notice] = I18n.t(:notice_successful_update) - redirect_to action: 'index' - else - render "edit" - end - end - - def destroy - flash[:notice] = if !@config.is_default? && @config.destroy - I18n.t(:notice_successful_delete) - else - I18n.t(:error_can_not_delete_export_card_configuration) - end - redirect_to action: 'index' - end - - def activate - flash[:notice] = if @config.activate - I18n.t(:notice_export_card_configuration_activated) - else - I18n.t(:error_can_not_activate_export_card_configuration) - end - redirect_to action: 'index' - end - - def deactivate - flash[:notice] = if @config.deactivate - I18n.t(:notice_export_card_configuration_deactivated) - else - I18n.t(:error_can_not_deactivate_export_card_configuration) - end - redirect_to action: 'index' - end - - def show_local_breadcrumb - true - end - - private - - def cannot_update_default - @config.is_default? && export_card_configurations_params[:name].downcase != "default" - end - - def export_card_configurations_params - params.require(:export_card_configuration).permit(:name, :rows, :per_page, :page_size, :orientation, :description) - end - - def load_config - @config = ExportCardConfiguration.find(params[:id]) - end - - def load_configs - @configs = ExportCardConfiguration.all - end - - protected - - def default_breadcrumb - if action_name == 'index' - t('label_export_card_configuration') - else - ActionController::Base.helpers.link_to(t('label_export_card_configuration'), pdf_export_export_card_configurations_path) - end - end -end diff --git a/modules/pdf_export/app/models/export_card_configuration.rb b/modules/pdf_export/app/models/export_card_configuration.rb deleted file mode 100644 index 2e675f2381b4..000000000000 --- a/modules/pdf_export/app/models/export_card_configuration.rb +++ /dev/null @@ -1,156 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 ExportCardConfiguration < ApplicationRecord - class RowsYamlValidator < ActiveModel::Validator - REQUIRED_GROUP_KEYS = ["rows"] - VALID_GROUP_KEYS = ["rows", "has_border", "height"] - REQUIRED_ROW_KEYS = ["columns"] - VALID_ROW_KEYS = ["columns", "height", "priority"] - # TODO: Security Consideration - # Should we define which model properties are visible and if so how? - # VALID_MODEL_PROPERTIES = [""] - REQUIRED_COLUMN_KEYS = [] - VALID_COLUMN_KEYS = ["has_label", "min_font_size", "max_font_size", - "font_size", "font_style", "text_align", "minimum_lines", "render_if_empty", - "width", "indented", "custom_label", "has_count"] - NUMERIC_COLUMN_VALUE = ["min_font_size", "max_font_size", "font_size", "minimum_lines"] - - def raise_yaml_error - raise ArgumentError, I18n.t('validation_error_yaml_is_badly_formed') - end - - def assert_required_keys(hash, valid_keys, required_keys) - raise_yaml_error if !hash.is_a?(Hash) - - begin - hash.assert_valid_keys valid_keys - rescue ArgumentError => e - # Small hack alert: Catch a raise error again but with localised text - raise ArgumentError, "#{I18n.t('validation_error_uknown_key')} '#{e.message.split(': ')[1]}'" - end - - pending_keys = required_keys - hash.keys - unless pending_keys.empty? - raise(ArgumentError, - "#{I18n.t('validation_error_required_keys_not_present')} #{pending_keys.join(', ')}") - end - end - - def check_valid_value_type(value, type) - raise(ArgumentError, I18n.t('validation_error_yaml_is_badly_formed').to_s) unless value.is_a? type - end - - def validate(record) - begin - if record.rows.nil? || !YAML::load(record.rows).is_a?(Hash) - record.errors.add(:rows, I18n.t('validation_error_yaml_is_badly_formed')) - return false - end - rescue Psych::SyntaxError => e - record.errors.add(:rows, I18n.t('validation_error_yaml_is_badly_formed')) - return false - end - - begin - groups = YAML::load(record.rows) - groups.each do |_gk, gv| - assert_required_keys(gv, VALID_GROUP_KEYS, REQUIRED_GROUP_KEYS) - raise_yaml_error if !gv["rows"].is_a?(Hash) - gv["rows"].each do |_rk, rv| - assert_required_keys(rv, VALID_ROW_KEYS, REQUIRED_ROW_KEYS) - raise_yaml_error if !rv["columns"].is_a?(Hash) - rv["columns"].each do |_ck, cv| - assert_required_keys(cv, VALID_COLUMN_KEYS, REQUIRED_COLUMN_KEYS) - cv.map { |cname, cvalue| check_valid_value_type(cvalue, Numeric) if NUMERIC_COLUMN_VALUE.include?(cname) } - end - end - end - rescue ArgumentError => e - record.errors.add(:rows, "#{I18n.t('yaml_error')} #{e.message}") - end - end - end - - include OpenProject::PDFExport::Exceptions - - validates :name, presence: true - validates :rows, rows_yaml: true - validates :per_page, numericality: { only_integer: true, greater_than_or_equal_to: 1 } - validates :page_size, inclusion: { in: %w(A4) }, allow_nil: false - validates :orientation, inclusion: { in: %w(landscape portrait) }, allow_nil: true - - scope :active, -> { where(active: true) } - - def self.default - ExportCardConfiguration.active.select { |c| c.is_default? }.first || ExportCardConfiguration.active.first - end - - def activate - update!({ active: true }) - end - - def deactivate - if is_default? - false - else - update!({ active: false }) - end - end - - def landscape? - !portrait? - end - - def portrait? - orientation == "portrait" - end - - def rows_hash - config = YAML::load(rows) - raise BadlyFormedExportCardConfigurationError.new(I18n.t('validation_error_yaml_is_badly_formed')) if !config.is_a?(Hash) - - config - end - - def is_default? - name.downcase == "default" - end - - def can_delete? - !is_default? - end - - def can_activate? - !active - end - - def can_deactivate? - active && !is_default? - end -end diff --git a/modules/pdf_export/app/views/export_card_configurations/_form.html.erb b/modules/pdf_export/app/views/export_card_configurations/_form.html.erb deleted file mode 100644 index 1f717473e733..000000000000 --- a/modules/pdf_export/app/views/export_card_configurations/_form.html.erb +++ /dev/null @@ -1,57 +0,0 @@ -<%#-- copyright -OpenProject is an open source project management software. -Copyright (C) 2012-2023 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. - -++#%> - -
    - <%= f.text_field :name, required: true, container_class: '-wide' %> -
    -
    - <%= f.text_area :description, container_class: '-middle' %> -
    -
    - <%= f.number_field :per_page, - required: true, - label: I18n.t('export_config_per_page'), - container_class: '-xslim' %> -
    -
    - <%= f.text_field :page_size, - required: true, - value: "A4", - readonly: true, - label: I18n.t('export_config_page_size'), - container_class: '-xslim' %> -
    -
    - <%= f.select :orientation, - [:landscape, :portrait], - :required => true, - :label => I18n.t('export_config_orientation'), - container_class: '-slim' %> -
    -<%= render partial: "rows_format_help", locals: { f: f } %> diff --git a/modules/pdf_export/app/views/export_card_configurations/_rows_format_help.html.erb b/modules/pdf_export/app/views/export_card_configurations/_rows_format_help.html.erb deleted file mode 100644 index fc098c03b2aa..000000000000 --- a/modules/pdf_export/app/views/export_card_configurations/_rows_format_help.html.erb +++ /dev/null @@ -1,15 +0,0 @@ -
    - <%= f.text_area :rows, - required: true, - label: I18n.t('export_config_rows'), - container_class: '-wide' %> -
    -
    diff --git a/modules/pdf_export/app/views/export_card_configurations/edit.html.erb b/modules/pdf_export/app/views/export_card_configurations/edit.html.erb deleted file mode 100644 index abc538dff4b6..000000000000 --- a/modules/pdf_export/app/views/export_card_configurations/edit.html.erb +++ /dev/null @@ -1,43 +0,0 @@ -<%#-- copyright -OpenProject is an open source project management software. -Copyright (C) 2012-2023 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. - -++#%> - -<% html_title t(:label_administration), "#{t(:label_edit)} #{t(:label_export_card_configuration)} #{@config.name}" %> - -<%= error_messages_for 'config' %> - -<% local_assigns[:additional_breadcrumb] = @config.name %> - -<%= breadcrumb_toolbar @config.name %> - -<%= labelled_tabular_form_for @config, url: pdf_export_export_card_configuration_path(@config) do |f| -%> - <%= render partial: 'form', locals: { f: f } %> -
    - <%= styled_button_tag t(:button_save), class: "-highlight -with-icon icon-checkmark" %> -<% end %> - diff --git a/modules/pdf_export/app/views/export_card_configurations/index.html.erb b/modules/pdf_export/app/views/export_card_configurations/index.html.erb deleted file mode 100644 index 59b866a75257..000000000000 --- a/modules/pdf_export/app/views/export_card_configurations/index.html.erb +++ /dev/null @@ -1,147 +0,0 @@ -<%#-- copyright -OpenProject is an open source project management software. -Copyright (C) 2012-2023 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. - -++#%> - -<% html_title t(:label_administration), t(:label_export_card_configuration_plural) %> - -

    <%=t(:label_export_card_configuration_plural)%>

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - <% for config in @configs %> - - - - - - - - - <% end %> - -
    -
    -
    - - <%= Type.human_attribute_name(:name) %> - -
    -
    -
    -
    -
    - - <%= t(:export_config_page_size) %> - -
    -
    -
    -
    -
    - - <%= t(:export_config_per_page) %> - -
    -
    -
    -
    -
    - - <%= t(:export_config_orientation) %> - -
    -
    -
    -
    -
    - - <%= Type.human_attribute_name(:active) %> - -
    -
    -
    <%= link_to config.name, edit_pdf_export_export_card_configuration_path(config) %><%= config.page_size %><%= config.per_page %><%= config.orientation %><%= config.active %> - <% if config.can_delete? %> - <%= link_to pdf_export_export_card_configuration_path(config), - :method => :delete, - :confirm => t(:text_are_you_sure), - :class => 'icon-context icon-delete', - :title => t(:button_delete) do %> - <%=h config.name %> - <% end %> - <% end %> - <% if config.can_activate? %> - <%= link_to activate_pdf_export_export_card_configuration_path(config), - :method => :post, - :class => 'icon-context icon-unlocked', - :title => t(:label_export_card_activate) do %> - <%= t(:label_export_card_activate) %> - <%=h config.name %> - <% end %> - <% end %> - <% if config.can_deactivate? %> - <%= link_to deactivate_pdf_export_export_card_configuration_path(config), - :method => :post, - :class => 'icon-context icon-locked', - :title => t(:label_export_card_deactivate) do %> - <%= t(:label_export_card_deactivate) %> - <%=h config.name %> - <% end %> - <% end %> -
    - -
    -
    -
    - <%= link_to({action: 'new'}, - { class: 'button -alt-highlight', - aria: {label: t(:label_export_card_configuration_new)}, - title: t(:label_export_card_configuration_new)}) do %> - <%= op_icon('button--icon icon-add') %> - <%= t(:label_export_card_configuration) %> - <% end %> -
    diff --git a/modules/pdf_export/app/views/export_card_configurations/new.html.erb b/modules/pdf_export/app/views/export_card_configurations/new.html.erb deleted file mode 100644 index 3b182be33948..000000000000 --- a/modules/pdf_export/app/views/export_card_configurations/new.html.erb +++ /dev/null @@ -1,42 +0,0 @@ -<%#-- copyright -OpenProject is an open source project management software. -Copyright (C) 2012-2023 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. - -++#%> - -<% html_title t(:label_administration), t(:label_export_card_configuration_new) %> - -<%= error_messages_for 'config' %> - -<% local_assigns[:additional_breadcrumb] = t(:label_export_card_configuration_new) %> - -<%= breadcrumb_toolbar t(:label_export_card_configuration_new) %> - -<%= labelled_tabular_form_for @config, url: pdf_export_export_card_configurations_path do |f| -%> - <%= render partial: 'form', locals: { f: f } %> -
    - <%= styled_button_tag t(:button_create), class: "-highlight -with-icon icon-checkmark" %> -<% end %> diff --git a/modules/pdf_export/config/locales/ar.yml b/modules/pdf_export/config/locales/ar.yml deleted file mode 100644 index 524b27142ded..000000000000 --- a/modules/pdf_export/config/locales/ar.yml +++ /dev/null @@ -1,30 +0,0 @@ -ar: - error_can_not_delete_export_card_configuration: "لا يمكن حذف هذا التنسيق." - error_can_not_change_name_of_default_configuration: "لا يمكن تغيير اسم الترتيب الافتراضي." - label_backlogs_export_card_config_select: "قُم باختيار تنسيق بطاقة التصدير" - label_backlogs_export_card_export: "التصدير" - label_export_card_configuration_new: "تنسيق بطاقة التصدير الجديد" - label_export_card_configuration: "تنسيق بطاقة التصدير" - label_export_card_configuration_plural: "تنسيقات بطاقة التصدير" - label_export_card_activate: "تفعيل" - label_export_card_deactivate: "تعطيل" - notice_export_card_configuration_activated: "تم تفعيل التنسيق بنجاح" - notice_export_card_configuration_deactivated: "تم تعطيل التنسيق بنجاح" - error_can_not_activate_export_card_configuration: "هذا التنسيق لا يمكن تفعيله" - error_can_not_deactivate_export_card_configuration: "هذا التنسق لا يمكن تعطيله" - validation_error_required_keys_not_present: "مطلوب مفتاح(مفاتيح) غير موجودة:" - validation_error_yaml_is_badly_formed: "ليس له تصميم YAML صالح." - validation_error_uknown_key: "مفتاح غير معروف:" - yaml_error: "خطأ YAML:" - help_link_rows_format: "تنسيق الصفوف" - export_config_per_page: "لكل صفحة" - export_config_page_size: "حجم الصفحة" - export_config_orientation: "الاتجاه" - export_config_rows: "الصفوف" - activerecord: - attributes: - export_card_configuration: - rows: "الصفوف" - per_page: "لكل صفحة" - page_size: "حجم الصفحة" - orientation: "الاتجاه" diff --git a/modules/pdf_export/config/locales/crowdin/af.yml b/modules/pdf_export/config/locales/crowdin/af.yml deleted file mode 100644 index 8777c3b05fdb..000000000000 --- a/modules/pdf_export/config/locales/crowdin/af.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -af: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per bladsy" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per bladsy" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/ar.yml b/modules/pdf_export/config/locales/crowdin/ar.yml deleted file mode 100644 index 525482fc9ba6..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ar.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ar: - error_can_not_delete_export_card_configuration: "لا يمكن حذف هذا التنسيق." - error_can_not_change_name_of_default_configuration: "لا يمكن تغيير اسم الترتيب الافتراضي." - label_backlogs_export_card_config_select: "قُم باختيار تنسيق بطاقة التصدير" - label_backlogs_export_card_export: "التصدير" - label_export_card_configuration_new: "تنسيق بطاقة التصدير الجديد" - label_export_card_configuration: "تنسيق بطاقة التصدير" - label_export_card_configuration_plural: "تنسيقات بطاقة التصدير" - label_export_card_activate: "تفعيل" - label_export_card_deactivate: "تعطيل" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "هذا التنسيق لا يمكن تفعيله" - error_can_not_deactivate_export_card_configuration: "هذا التنسق لا يمكن تعطيله" - validation_error_required_keys_not_present: "مطلوب مفتاح(مفاتيح) غير موجودة:" - validation_error_yaml_is_badly_formed: "ليس له تصميم YAML صالح." - validation_error_uknown_key: "مفتاح غير معروف:" - yaml_error: "خطأ YAML:" - help_link_rows_format: "تنسيق الصفوف" - export_config_per_page: "لكل صفحة" - export_config_page_size: "حجم الصفحة" - export_config_orientation: "الاتجاه" - export_config_rows: "الصفوف" - activerecord: - attributes: - export_card_configuration: - rows: "الصفوف" - per_page: "في كل صفحة" - page_size: "حجم الصفحة" - orientation: "الاتجاه" diff --git a/modules/pdf_export/config/locales/crowdin/az.yml b/modules/pdf_export/config/locales/crowdin/az.yml deleted file mode 100644 index 4f27abd13c09..000000000000 --- a/modules/pdf_export/config/locales/crowdin/az.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -az: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "İxrac et" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/be.yml b/modules/pdf_export/config/locales/crowdin/be.yml deleted file mode 100644 index e58cadbe3293..000000000000 --- a/modules/pdf_export/config/locales/crowdin/be.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -be: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/bg.yml b/modules/pdf_export/config/locales/crowdin/bg.yml deleted file mode 100644 index 3a9202a6ab0e..000000000000 --- a/modules/pdf_export/config/locales/crowdin/bg.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -bg: - error_can_not_delete_export_card_configuration: "Тази конфигурация не може да бъде изтрита." - error_can_not_change_name_of_default_configuration: "Името на конфигурацията по подразбиране не може да бъде променяно." - label_backlogs_export_card_config_select: "Изберете експортиране картата на конфигурацията" - label_backlogs_export_card_export: "Експортиране" - label_export_card_configuration_new: "Нова карта на конфигурация за експортиране" - label_export_card_configuration: "Експортиране карта на конфигурация" - label_export_card_configuration_plural: "Експортиране карта на конфигурации" - label_export_card_activate: "Активиране" - label_export_card_deactivate: "Деактивиране" - notice_export_card_configuration_activated: "Конфигурацията е активирана успешно" - notice_export_card_configuration_deactivated: "Конфигурацията е деактивирана успешно" - error_can_not_activate_export_card_configuration: "Тази конфигурация не може да бъде активирана." - error_can_not_deactivate_export_card_configuration: "Тази конфигурация не може да бъде деактивирана." - validation_error_required_keys_not_present: "Задължителният ключ(ове) не присъства(т):" - validation_error_yaml_is_badly_formed: "няма валиден YAML формат." - validation_error_uknown_key: "Неизвестен ключ:" - yaml_error: "YAML грешка:" - help_link_rows_format: "Форматиране на редове" - export_config_per_page: "На страница" - export_config_page_size: "Размер на страницата" - export_config_orientation: "Ориентация" - export_config_rows: "Редове" - activerecord: - attributes: - export_card_configuration: - rows: "Редове" - per_page: "На страница" - page_size: "Размер на страницата" - orientation: "Ориентация" diff --git a/modules/pdf_export/config/locales/crowdin/ca.yml b/modules/pdf_export/config/locales/crowdin/ca.yml deleted file mode 100644 index 151fa49e84e3..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ca.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ca: - error_can_not_delete_export_card_configuration: "Aquesta configuració no pot ser eliminada." - error_can_not_change_name_of_default_configuration: "El nom de la configuració per defecte no es pot modificar." - label_backlogs_export_card_config_select: "Selecciona l'exportació de la targeta de configuració " - label_backlogs_export_card_export: "Exportar" - label_export_card_configuration_new: "Nova exportació de la targeta de configuració" - label_export_card_configuration: "Exporta la targeta de configuració" - label_export_card_configuration_plural: "Exporta la targeta de configuracions" - label_export_card_activate: "Activar" - label_export_card_deactivate: "Desactivat" - notice_export_card_configuration_activated: "Configuració activada correctament" - notice_export_card_configuration_deactivated: "Configuració desactivada correctament" - error_can_not_activate_export_card_configuration: "Aquesta configuració no pot ser activada" - error_can_not_deactivate_export_card_configuration: "Aquesta configuració no pot ser desactivada" - validation_error_required_keys_not_present: "No hi ha la clau(s) necessàries:" - validation_error_yaml_is_badly_formed: "té un format YAML invàlid." - validation_error_uknown_key: "Clau desconeguda:" - yaml_error: "Error YAML:" - help_link_rows_format: "Format de files" - export_config_per_page: "Per pàgina" - export_config_page_size: "Mida de pàgina" - export_config_orientation: "Orientació" - export_config_rows: "Files" - activerecord: - attributes: - export_card_configuration: - rows: "Files" - per_page: "Per pàgina" - page_size: "Mida de pàgina" - orientation: "Orientació" diff --git a/modules/pdf_export/config/locales/crowdin/ckb-IR.yml b/modules/pdf_export/config/locales/crowdin/ckb-IR.yml deleted file mode 100644 index b7c4920d86d0..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ckb-IR.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ckb-IR: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/cs.yml b/modules/pdf_export/config/locales/crowdin/cs.yml deleted file mode 100644 index 1fe29da83d09..000000000000 --- a/modules/pdf_export/config/locales/crowdin/cs.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -cs: - error_can_not_delete_export_card_configuration: "Tuto konfiguraci nelze odstranit." - error_can_not_change_name_of_default_configuration: "Název výchozí konfigurace nelze změnit." - label_backlogs_export_card_config_select: "Vyberte konfiguraci karty exportu " - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "Konfigurace nové karty exportu " - label_export_card_configuration: "Konfigurace karty exportu " - label_export_card_configuration_plural: "Konfigurace karet exportu " - label_export_card_activate: "Aktivovat" - label_export_card_deactivate: "De-aktivovat" - notice_export_card_configuration_activated: "Nastavení bylo úspěšně aktivováno" - notice_export_card_configuration_deactivated: "Konfigurace úspěšně deaktivována" - error_can_not_activate_export_card_configuration: "Tuto konfiguraci nelze aktivovat" - error_can_not_deactivate_export_card_configuration: "Tuto konfiguraci nelze deaktivovat" - validation_error_required_keys_not_present: "Požadovaný klíč není k dispozici:" - validation_error_yaml_is_badly_formed: "nemá platný formát YAML." - validation_error_uknown_key: "Neznámý klíč:" - yaml_error: "YAML chyba:" - help_link_rows_format: "Formátování řádků" - export_config_per_page: "Na stránku" - export_config_page_size: "Velikost stránky" - export_config_orientation: "Orientace" - export_config_rows: "Řádky" - activerecord: - attributes: - export_card_configuration: - rows: "Řádky" - per_page: "Na stránku" - page_size: "Velikost stránky" - orientation: "Orientace" diff --git a/modules/pdf_export/config/locales/crowdin/da.yml b/modules/pdf_export/config/locales/crowdin/da.yml deleted file mode 100644 index cf9d5aca8382..000000000000 --- a/modules/pdf_export/config/locales/crowdin/da.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -da: - error_can_not_delete_export_card_configuration: "Denne opsætning kan ikke slettes." - error_can_not_change_name_of_default_configuration: "Navnet på standardopsætningen kan ikke ændres." - label_backlogs_export_card_config_select: "Vælg eksportkortopsætning" - label_backlogs_export_card_export: "Eksportér" - label_export_card_configuration_new: "Ny eksportkortopsætning" - label_export_card_configuration: "Eksportkortopsætning" - label_export_card_configuration_plural: "Eksport kortopsætninger" - label_export_card_activate: "Aktivér" - label_export_card_deactivate: "Deaktivér" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "Denne opsætning kan ikke aktiveres" - error_can_not_deactivate_export_card_configuration: "Denne opsætning kan ikke deaktiveres" - validation_error_required_keys_not_present: "Påkrævede nøgle(-r) ikke til stede:" - validation_error_yaml_is_badly_formed: "har intet gyldigt YAML-format." - validation_error_uknown_key: "Ukendt nøgle:" - yaml_error: "YAML-fejl:" - help_link_rows_format: "Rækkeformatering" - export_config_per_page: "Per side" - export_config_page_size: "Sidestørrelse" - export_config_orientation: "Retning" - export_config_rows: "Rækker" - activerecord: - attributes: - export_card_configuration: - rows: "Rækker" - per_page: "Per side" - page_size: "Sidestørrelse" - orientation: "Retning" diff --git a/modules/pdf_export/config/locales/crowdin/de.yml b/modules/pdf_export/config/locales/crowdin/de.yml deleted file mode 100644 index ab6929439a23..000000000000 --- a/modules/pdf_export/config/locales/crowdin/de.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -de: - error_can_not_delete_export_card_configuration: "Diese Konfiguration kann nicht gelöscht werden." - error_can_not_change_name_of_default_configuration: "Der Name der Standardkonfiguration kann nicht geändert werden." - label_backlogs_export_card_config_select: "Bitte wählen Sie eine Export-Kartenkonfiguration" - label_backlogs_export_card_export: "Exportieren" - label_export_card_configuration_new: "Neue Export-Kartenkonfiguration" - label_export_card_configuration: "Export-Kartenkonfiguration" - label_export_card_configuration_plural: "Export-Kartenkonfigurationen" - label_export_card_activate: "Aktivieren" - label_export_card_deactivate: "De-aktivieren" - notice_export_card_configuration_activated: "Konfiguration erfolgreich aktiviert" - notice_export_card_configuration_deactivated: "Konfiguration erfolgreich deaktiviert" - error_can_not_activate_export_card_configuration: "Diese Konfiguration kann nicht aktiviert werden" - error_can_not_deactivate_export_card_configuration: "Diese Konfiguration kann nicht de-aktiviert werden" - validation_error_required_keys_not_present: "Erfordete(r) Schlüssel nicht vorhanden:" - validation_error_yaml_is_badly_formed: "hat kein gültiges YAML-Format." - validation_error_uknown_key: "Unbekannter Schlüssel:" - yaml_error: "YAML Fehler:" - help_link_rows_format: "Reihen formatieren" - export_config_per_page: "Pro Seite" - export_config_page_size: "Seitengröße" - export_config_orientation: "Ausrichtung" - export_config_rows: "Reihen" - activerecord: - attributes: - export_card_configuration: - rows: "Zeilen" - per_page: "Pro Seite" - page_size: "Seitengröße" - orientation: "Ausrichtung" diff --git a/modules/pdf_export/config/locales/crowdin/el.yml b/modules/pdf_export/config/locales/crowdin/el.yml deleted file mode 100644 index 2d8385dc4b28..000000000000 --- a/modules/pdf_export/config/locales/crowdin/el.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -el: - error_can_not_delete_export_card_configuration: "Αυτό το αρχείο ρυθμίσεων δεν μπορεί να διαγραφεί." - error_can_not_change_name_of_default_configuration: "Το όνομα του προεπιλεγμένου αρχείου ρυθμίσεων δεν μπορεί να αλλάξει." - label_backlogs_export_card_config_select: "Επιλέξτε διαμόρφωση εξαγωγής κάρτας" - label_backlogs_export_card_export: "Εξαγωγή" - label_export_card_configuration_new: "Νέες ρυθμίσεις εξαγωγής κάρτας" - label_export_card_configuration: "Ρύθμιση Εξαγωγής Κάρτας" - label_export_card_configuration_plural: "Ρυθμίσεις Εξαγωγής Κάρτας" - label_export_card_activate: "Ενεργοποίηση" - label_export_card_deactivate: "Απενεργοποίηση" - notice_export_card_configuration_activated: "Οι ρυθμίσεις ενεργοποιήθηκαν επιτυχώς" - notice_export_card_configuration_deactivated: "Οι ρυθμίσεις απενεργοποιήθηκαν επιτυχώς" - error_can_not_activate_export_card_configuration: "Αυτό το αρχείο ρυθμίσεων δεν μπορεί να ενεργοποιηθεί" - error_can_not_deactivate_export_card_configuration: "Αυτό το αρχείο ρυθμίσεων δεν μπορεί να απενεργοποιηθεί" - validation_error_required_keys_not_present: "Τα απαιτούμενα κλειδιά δεν υπάρχουν:" - validation_error_yaml_is_badly_formed: "δεν έχει έγκυρη μορφή YAML." - validation_error_uknown_key: "Άγνωστο κλειδί:" - yaml_error: "Σφάλμα YAML:" - help_link_rows_format: "Μορφοποίηση Σειρών" - export_config_per_page: "Ανά σελίδα" - export_config_page_size: "Μέγεθος σελίδας" - export_config_orientation: "Προσανατολισμός" - export_config_rows: "Σειρές" - activerecord: - attributes: - export_card_configuration: - rows: "Σειρές" - per_page: "Ανά σελίδα" - page_size: "Μέγεθος σελίδας" - orientation: "Προσανατολισμός" diff --git a/modules/pdf_export/config/locales/crowdin/eo.yml b/modules/pdf_export/config/locales/crowdin/eo.yml deleted file mode 100644 index 37a2ec0e5b2f..000000000000 --- a/modules/pdf_export/config/locales/crowdin/eo.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -eo: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Eksporti" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Agordo sukcese ŝaltita" - notice_export_card_configuration_deactivated: "Agordo sukcese malŝaltita" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML eraro:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Vicoj" - activerecord: - attributes: - export_card_configuration: - rows: "Vicoj" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/es.yml b/modules/pdf_export/config/locales/crowdin/es.yml deleted file mode 100644 index 8541f36eca69..000000000000 --- a/modules/pdf_export/config/locales/crowdin/es.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -es: - error_can_not_delete_export_card_configuration: "Esta configuración no puede ser eliminada." - error_can_not_change_name_of_default_configuration: "No se puede cambiar el nombre de la configuración predeterminada." - label_backlogs_export_card_config_select: "Seleccionar exportar configuración de la tarjeta" - label_backlogs_export_card_export: "Exportar" - label_export_card_configuration_new: "Nueva exportación de la configuración de la tarjeta" - label_export_card_configuration: "Exportar configuración de tarjetas" - label_export_card_configuration_plural: "Exportar configuraciones de tarjetas" - label_export_card_activate: "Activar" - label_export_card_deactivate: "Desactivar" - notice_export_card_configuration_activated: "Configuración activada exitosamente." - notice_export_card_configuration_deactivated: "Configuración desactivada exitosamente." - error_can_not_activate_export_card_configuration: "Esta configuración no puede activarse" - error_can_not_deactivate_export_card_configuration: "Esta configuración no puede desactivarse" - validation_error_required_keys_not_present: "Clave(s) obligatorias no presentes:" - validation_error_yaml_is_badly_formed: "tiene un formato YAML no válido." - validation_error_uknown_key: "Clave desconocida:" - yaml_error: "Error YAML:" - help_link_rows_format: "Formato de filas" - export_config_per_page: "Por página" - export_config_page_size: "Tamaño de la página" - export_config_orientation: "Orientación" - export_config_rows: "Filas" - activerecord: - attributes: - export_card_configuration: - rows: "Filas" - per_page: "Por página" - page_size: "Tamaño de página" - orientation: "Orientación" diff --git a/modules/pdf_export/config/locales/crowdin/et.yml b/modules/pdf_export/config/locales/crowdin/et.yml deleted file mode 100644 index dbf6106f2c60..000000000000 --- a/modules/pdf_export/config/locales/crowdin/et.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -et: - error_can_not_delete_export_card_configuration: "Seda seadistust ei saa kustutada." - error_can_not_change_name_of_default_configuration: "Vaikimisi seadistuse nime ei saa muuta." - label_backlogs_export_card_config_select: "Vali eksportimise kaardi seadistus" - label_backlogs_export_card_export: "Ekspordi" - label_export_card_configuration_new: "Uus eksportimise kaardi seadistus" - label_export_card_configuration: "Eksportimise kaardi seadistus" - label_export_card_configuration_plural: "Eksportimise kaardi seadistused" - label_export_card_activate: "Aktiveeri" - label_export_card_deactivate: "Desaktiveeri" - notice_export_card_configuration_activated: "Konfiguratsioon on edukalt aktiveeritud" - notice_export_card_configuration_deactivated: "Konfiguratsiooni deaktiveerimine õnnestus" - error_can_not_activate_export_card_configuration: "Seda seadistust ei saa aktiveerida" - error_can_not_deactivate_export_card_configuration: "Seda seadistust ei saa deaktiveerida" - validation_error_required_keys_not_present: "Võitud võtit (võtmeid) pole:" - validation_error_yaml_is_badly_formed: "pole korrektses YAML vormingus." - validation_error_uknown_key: "Tundmatu võti:" - yaml_error: "YAML viga:" - help_link_rows_format: "Ridade vormindamine" - export_config_per_page: "Lehekülje kohta" - export_config_page_size: "Lehekülje suurus" - export_config_orientation: "Suund" - export_config_rows: "Ridasid" - activerecord: - attributes: - export_card_configuration: - rows: "Read" - per_page: "Lehekülje kohta" - page_size: "Lehekülje suurus" - orientation: "Suund" diff --git a/modules/pdf_export/config/locales/crowdin/eu.yml b/modules/pdf_export/config/locales/crowdin/eu.yml deleted file mode 100644 index 4679b1b9acf5..000000000000 --- a/modules/pdf_export/config/locales/crowdin/eu.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -eu: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/fa.yml b/modules/pdf_export/config/locales/crowdin/fa.yml deleted file mode 100644 index bdc6dcfc95b6..000000000000 --- a/modules/pdf_export/config/locales/crowdin/fa.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -fa: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "خروجی" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "پیکربندی با موفقیت فعال شد" - notice_export_card_configuration_deactivated: "پیکربندی با موفقیت غیرفعال شد" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/fi.yml b/modules/pdf_export/config/locales/crowdin/fi.yml deleted file mode 100644 index 3e6331c1454a..000000000000 --- a/modules/pdf_export/config/locales/crowdin/fi.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -fi: - error_can_not_delete_export_card_configuration: "Tätä konfiguraatioa ei voi poistaa." - error_can_not_change_name_of_default_configuration: "Oletuskonfiguraation nimeä ei voi muuttaa." - label_backlogs_export_card_config_select: "Valitse viennin konfiguraatio" - label_backlogs_export_card_export: "Vie" - label_export_card_configuration_new: "Uusi viennin konfiguraatio" - label_export_card_configuration: "Viennin konfiguraatio" - label_export_card_configuration_plural: "Viennin konfiguraatiot" - label_export_card_activate: "Aktivoi" - label_export_card_deactivate: "Poista käytöstä" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "Tätä konfiguraatiota ei voi aktivoida" - error_can_not_deactivate_export_card_configuration: "Tätä konfiguraatioa ei voi poistaa käytöstä" - validation_error_required_keys_not_present: "Tarvittavia avaimia ei ole:" - validation_error_yaml_is_badly_formed: "ei kelvollista YAML-muotoa." - validation_error_uknown_key: "Tuntematon avain:" - yaml_error: "YAML virhe:" - help_link_rows_format: "Rivien muotoilu" - export_config_per_page: "Per sivu" - export_config_page_size: "Sivun koko" - export_config_orientation: "Suunta" - export_config_rows: "Rivit" - activerecord: - attributes: - export_card_configuration: - rows: "Rivit" - per_page: "Per sivu" - page_size: "Sivun koko" - orientation: "Suunta" diff --git a/modules/pdf_export/config/locales/crowdin/fil.yml b/modules/pdf_export/config/locales/crowdin/fil.yml deleted file mode 100644 index 28f534d56e99..000000000000 --- a/modules/pdf_export/config/locales/crowdin/fil.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -fil: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "I-export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Aktibo" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Bawat pahina" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Bawat pahina" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/fr.yml b/modules/pdf_export/config/locales/crowdin/fr.yml deleted file mode 100644 index ee40d127ae87..000000000000 --- a/modules/pdf_export/config/locales/crowdin/fr.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -fr: - error_can_not_delete_export_card_configuration: "Cette configuration ne peut pas être supprimée." - error_can_not_change_name_of_default_configuration: "Le nom de la configuration par défaut ne peut pas être modifié." - label_backlogs_export_card_config_select: "Sélectionnez la configuration de la carte d'exportation" - label_backlogs_export_card_export: "Exporter" - label_export_card_configuration_new: "Nouvelle configuration de la carte d'exportation" - label_export_card_configuration: "Configuration de la carte d'exportation" - label_export_card_configuration_plural: "Configuration des cartes d'exportation" - label_export_card_activate: "Activer" - label_export_card_deactivate: "Désactiver" - notice_export_card_configuration_activated: "Configuration bien activée" - notice_export_card_configuration_deactivated: "Configuration bien désactivée" - error_can_not_activate_export_card_configuration: "Cette configuration ne peut pas être activée" - error_can_not_deactivate_export_card_configuration: "Cette configuration ne peut pas être désactivée" - validation_error_required_keys_not_present: "La/Les clé(s) requise(nt) est/sont abente(s) :" - validation_error_yaml_is_badly_formed: "n'a aucun format YAML valide." - validation_error_uknown_key: "Clé inconnue :" - yaml_error: "Erreur YAML :" - help_link_rows_format: "Mise en forme des lignes" - export_config_per_page: "Par page" - export_config_page_size: "Taille de la page" - export_config_orientation: "Orientation" - export_config_rows: "Lignes" - activerecord: - attributes: - export_card_configuration: - rows: "Lignes" - per_page: "Par page" - page_size: "Taille de la page" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/he.yml b/modules/pdf_export/config/locales/crowdin/he.yml deleted file mode 100644 index f4258b69e11c..000000000000 --- a/modules/pdf_export/config/locales/crowdin/he.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -he: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "ייצוא" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "הפעל" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "שורות" - activerecord: - attributes: - export_card_configuration: - rows: "שורות" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/hi.yml b/modules/pdf_export/config/locales/crowdin/hi.yml deleted file mode 100644 index c3cbfc849f7e..000000000000 --- a/modules/pdf_export/config/locales/crowdin/hi.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -hi: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "निर्यात" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "प्रति पृष्ठ" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "प्रति पृष्ठ" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/hr.yml b/modules/pdf_export/config/locales/crowdin/hr.yml deleted file mode 100644 index 596bb4d0104c..000000000000 --- a/modules/pdf_export/config/locales/crowdin/hr.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -hr: - error_can_not_delete_export_card_configuration: "Ova konfiguracija ne može biti izbrisana." - error_can_not_change_name_of_default_configuration: "Naziv postavljene konfiguracije ne može biti promijenjen." - label_backlogs_export_card_config_select: "Odaberite konfiguraciju kartice za izvoz" - label_backlogs_export_card_export: "Izvezi" - label_export_card_configuration_new: "Nova konfiguracija kartice za izvoz" - label_export_card_configuration: "Konfiguracija kartice za izvoz" - label_export_card_configuration_plural: "Sve konfiguracije kartice za izvoz" - label_export_card_activate: "Aktiviraj" - label_export_card_deactivate: "De-aktiviraj" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "Ova konfiguracija ne može biti aktivirana" - error_can_not_deactivate_export_card_configuration: "Ova konfiguracija ne može biti de-aktivirana" - validation_error_required_keys_not_present: "Potrebni ključ(evi) nisu prisutni:" - validation_error_yaml_is_badly_formed: "neposjeduje ispravan YAML format." - validation_error_uknown_key: "Nepoznat ključ:" - yaml_error: "YAML greška:" - help_link_rows_format: "Oblikovanja redaka" - export_config_per_page: "Po stranici" - export_config_page_size: "Veličina stranice" - export_config_orientation: "Orijentacija" - export_config_rows: "Redci" - activerecord: - attributes: - export_card_configuration: - rows: "Redci" - per_page: "Po stranici" - page_size: "Veličina stranice" - orientation: "Orijentacija" diff --git a/modules/pdf_export/config/locales/crowdin/hu.yml b/modules/pdf_export/config/locales/crowdin/hu.yml deleted file mode 100644 index 2ee288937f6e..000000000000 --- a/modules/pdf_export/config/locales/crowdin/hu.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -hu: - error_can_not_delete_export_card_configuration: "Ez az elrendezés nem törölhető." - error_can_not_change_name_of_default_configuration: "Az alapértelmezett elrendezés neve nem módosítható." - label_backlogs_export_card_config_select: "Export kártya elrendezés kiválasztása" - label_backlogs_export_card_export: "Exportálás" - label_export_card_configuration_new: "Új export kártya elrendezés" - label_export_card_configuration: "Export kártya elrendezés" - label_export_card_configuration_plural: "Export kártya elrendezések" - label_export_card_activate: "Aktiválás" - label_export_card_deactivate: "Deaktiválás" - notice_export_card_configuration_activated: "Elrendezés sikeresen aktiválva." - notice_export_card_configuration_deactivated: "Elrendezés sikeresen deaktiválva." - error_can_not_activate_export_card_configuration: "Ez az elrendezés nem aktiválható" - error_can_not_deactivate_export_card_configuration: "Ez az elrendezés nem deaktiválható" - validation_error_required_keys_not_present: "Szükséges kulcs(ok) nincs(enek) jelen:" - validation_error_yaml_is_badly_formed: "nincs érvényes YAML formátuma." - validation_error_uknown_key: "Ismeretlen kulcs:" - yaml_error: "YAML hiba:" - help_link_rows_format: "Sor formázása" - export_config_per_page: "Oldalanként" - export_config_page_size: "Oldal mérete" - export_config_orientation: "Tájolás" - export_config_rows: "Sorok" - activerecord: - attributes: - export_card_configuration: - rows: "Sorok" - per_page: "Oldalanként" - page_size: "Oldal mérete" - orientation: "Tájolás" diff --git a/modules/pdf_export/config/locales/crowdin/id.yml b/modules/pdf_export/config/locales/crowdin/id.yml deleted file mode 100644 index 9caaebf95682..000000000000 --- a/modules/pdf_export/config/locales/crowdin/id.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -id: - error_can_not_delete_export_card_configuration: "Konfigurasi ini tidak dapat dihapus." - error_can_not_change_name_of_default_configuration: "Nama konfigurasi default tidak dapat diubah." - label_backlogs_export_card_config_select: "Pilih konfigurasi kartu ekspor" - label_backlogs_export_card_export: "Ekspor" - label_export_card_configuration_new: "Konfigurasi kartu ekspor baru" - label_export_card_configuration: "Konfigurasi kartu ekspor" - label_export_card_configuration_plural: "Konfigurasi kartu ekspor" - label_export_card_activate: "Aktif" - label_export_card_deactivate: "Non-aktifkan" - notice_export_card_configuration_activated: "Konfigurasi berhasil diaktifkan." - notice_export_card_configuration_deactivated: "Konfigurasi berhasil dinonaktifkan." - error_can_not_activate_export_card_configuration: "Konfigurasi ini tidak dapat diaktifkan" - error_can_not_deactivate_export_card_configuration: "Konfigurasi ini tidak dapat dimatikan" - validation_error_required_keys_not_present: "Satu atau beberapa kunci yang diperlukan tidak ada:" - validation_error_yaml_is_badly_formed: "format AML tidak valid." - validation_error_uknown_key: "Kunci tidak diketahui:" - yaml_error: "YAML error:" - help_link_rows_format: "Format baris" - export_config_per_page: "Per halaman" - export_config_page_size: "Ukuran halaman" - export_config_orientation: "Orientasi" - export_config_rows: "Baris" - activerecord: - attributes: - export_card_configuration: - rows: "Baris" - per_page: "Per halaman" - page_size: "Ukuran halaman" - orientation: "Orientasi" diff --git a/modules/pdf_export/config/locales/crowdin/it.yml b/modules/pdf_export/config/locales/crowdin/it.yml deleted file mode 100644 index d9e418f28369..000000000000 --- a/modules/pdf_export/config/locales/crowdin/it.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -it: - error_can_not_delete_export_card_configuration: "Questa configurazione non può essere eliminata." - error_can_not_change_name_of_default_configuration: "Il nome della configurazione predefinita non può essere modificato." - label_backlogs_export_card_config_select: "Selezionare esporta configurazione della scheda" - label_backlogs_export_card_export: "Esporta" - label_export_card_configuration_new: "Nuova esportazione scheda Config" - label_export_card_configuration: "Esporta la configurazione della scheda" - label_export_card_configuration_plural: "Esporta le configurazioni della scheda" - label_export_card_activate: "Attivare" - label_export_card_deactivate: "Disattivare" - notice_export_card_configuration_activated: "Configurazione attivata con successo" - notice_export_card_configuration_deactivated: "Configurazione disattivata con successo." - error_can_not_activate_export_card_configuration: "La configurazione non può essere attivata" - error_can_not_deactivate_export_card_configuration: "La configurazione non può essere disattivata" - validation_error_required_keys_not_present: "Chiave(i) richiesta non presente:" - validation_error_yaml_is_badly_formed: "non ha alcun valido formato YAML." - validation_error_uknown_key: "Chiave sconosciuta:" - yaml_error: "Errore YAML:" - help_link_rows_format: "Formattazione di righe" - export_config_per_page: "Per pagina" - export_config_page_size: "Dimensioni della pagina" - export_config_orientation: "Orientamento" - export_config_rows: "Righe" - activerecord: - attributes: - export_card_configuration: - rows: "Righe" - per_page: "Per pagina" - page_size: "Dimensioni della pagina" - orientation: "Orientamento" diff --git a/modules/pdf_export/config/locales/crowdin/ja.yml b/modules/pdf_export/config/locales/crowdin/ja.yml deleted file mode 100644 index 55f01a6fdd9d..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ja.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ja: - error_can_not_delete_export_card_configuration: "この設定は削除できません。" - error_can_not_change_name_of_default_configuration: "デフォルトの設定の名前は変更できません。" - label_backlogs_export_card_config_select: "エクスポートカードの設定を選択" - label_backlogs_export_card_export: "エクスポート" - label_export_card_configuration_new: "新しいエクスポートカードの設定" - label_export_card_configuration: "エクスポートカード設定" - label_export_card_configuration_plural: "エクスポートカード設定" - label_export_card_activate: "有効化する" - label_export_card_deactivate: "無効化" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "この設定を有効にすることはできません" - error_can_not_deactivate_export_card_configuration: "この設定を無効にすることはできません" - validation_error_required_keys_not_present: "必須のキーがありません:" - validation_error_yaml_is_badly_formed: "有効な YAML フォーマットはありません。" - validation_error_uknown_key: "不明なキー:" - yaml_error: "YAML エディタ:" - help_link_rows_format: "行の書式設定" - export_config_per_page: "1ページあたり" - export_config_page_size: "ページサイズ" - export_config_orientation: "オリエンテーション" - export_config_rows: "行" - activerecord: - attributes: - export_card_configuration: - rows: "行" - per_page: "ページ毎" - page_size: "ページサイズ" - orientation: "オリエンテーション" diff --git a/modules/pdf_export/config/locales/crowdin/ka.yml b/modules/pdf_export/config/locales/crowdin/ka.yml deleted file mode 100644 index e38aacae80dd..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ka.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ka: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/ko.yml b/modules/pdf_export/config/locales/crowdin/ko.yml deleted file mode 100644 index b45a23bdfbda..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ko.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ko: - error_can_not_delete_export_card_configuration: "이 구성은 삭제할 수 없습니다" - error_can_not_change_name_of_default_configuration: "기본 구성의 이름은 변경할 수 없습니다." - label_backlogs_export_card_config_select: "내보내기 카드 구성 선택" - label_backlogs_export_card_export: "내보내기" - label_export_card_configuration_new: "새로운 내보내기 카드 구성" - label_export_card_configuration: "카드 구성 내보내기" - label_export_card_configuration_plural: "카드 구성 내보내기" - label_export_card_activate: "활성화" - label_export_card_deactivate: "비활성화" - notice_export_card_configuration_activated: "구성이 활성화됨" - notice_export_card_configuration_deactivated: "구성이 비활성화됨" - error_can_not_activate_export_card_configuration: "이 구성은 활성화할 수 없습니다" - error_can_not_deactivate_export_card_configuration: "이 구성은 비활성화할 수 없습니다" - validation_error_required_keys_not_present: "필요한 키가 없음:" - validation_error_yaml_is_badly_formed: "에는 유효한 YAML 형식이 없습니다." - validation_error_uknown_key: "알 수 없는 키:" - yaml_error: "YAML 오류:" - help_link_rows_format: "행 서식 지정" - export_config_per_page: "페이지당" - export_config_page_size: "페이지 크기" - export_config_orientation: "방향" - export_config_rows: "행" - activerecord: - attributes: - export_card_configuration: - rows: "행" - per_page: "페이지당" - page_size: "페이지 크기" - orientation: "방향" diff --git a/modules/pdf_export/config/locales/crowdin/lt.yml b/modules/pdf_export/config/locales/crowdin/lt.yml deleted file mode 100644 index c9f85bbac58e..000000000000 --- a/modules/pdf_export/config/locales/crowdin/lt.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lt: - error_can_not_delete_export_card_configuration: "Ši konfigūracija negali būti ištrinta." - error_can_not_change_name_of_default_configuration: "Numatytosios konfigūracijos pavadinimas negali būti pakeistas." - label_backlogs_export_card_config_select: "Pasirinkti eksportavimo kortelės konfigūraciją" - label_backlogs_export_card_export: "Eksportuoti" - label_export_card_configuration_new: "Nauja eksportavimo kortelės konfigūracija" - label_export_card_configuration: "Eksportavimo kortelės konfigūracija" - label_export_card_configuration_plural: "Eksportavimo kortelės konfigūracijos" - label_export_card_activate: "Aktyvuoti" - label_export_card_deactivate: "De-aktyvuoti" - notice_export_card_configuration_activated: "Konfigūracija sėkmingai aktyvuota" - notice_export_card_configuration_deactivated: "Konfigūracija sėkmingai de-aktyvuota." - error_can_not_activate_export_card_configuration: "Ši konfigūracija negali būti aktyvuota" - error_can_not_deactivate_export_card_configuration: "Ši konfigūracija negali būti de-aktyvuota" - validation_error_required_keys_not_present: "Reikalingas(-i) raktas(-ai) neegzistuoja:" - validation_error_yaml_is_badly_formed: "neturi tinkamo YAML formato." - validation_error_uknown_key: "Nežinomas raktas:" - yaml_error: "YAML klaida:" - help_link_rows_format: "Eilučių formatavimas" - export_config_per_page: "Per puslapį" - export_config_page_size: "Puslapio dydis" - export_config_orientation: "Orientacija" - export_config_rows: "Eilutės" - activerecord: - attributes: - export_card_configuration: - rows: "Eilutės" - per_page: "Per puslapį" - page_size: "Puslapio dydis" - orientation: "Orientacija" diff --git a/modules/pdf_export/config/locales/crowdin/lv.yml b/modules/pdf_export/config/locales/crowdin/lv.yml deleted file mode 100644 index fccf08e386c9..000000000000 --- a/modules/pdf_export/config/locales/crowdin/lv.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -lv: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Eksportēt" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Katrā lappusē" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Katrā lappusē" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/mn.yml b/modules/pdf_export/config/locales/crowdin/mn.yml deleted file mode 100644 index 8bdc48d255f3..000000000000 --- a/modules/pdf_export/config/locales/crowdin/mn.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -mn: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/ne.yml b/modules/pdf_export/config/locales/crowdin/ne.yml deleted file mode 100644 index 31d150abf767..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ne.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ne: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/nl.yml b/modules/pdf_export/config/locales/crowdin/nl.yml deleted file mode 100644 index c3353017c43f..000000000000 --- a/modules/pdf_export/config/locales/crowdin/nl.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -nl: - error_can_not_delete_export_card_configuration: "Deze configuratie kan niet verwijderd worden." - error_can_not_change_name_of_default_configuration: "Standaardconfiguratie naam kan niet gewijzigd worden." - label_backlogs_export_card_config_select: "Kies export kaartinstellingen" - label_backlogs_export_card_export: "Exporteren" - label_export_card_configuration_new: "Nieuwe Export Card Instelling" - label_export_card_configuration: "Export Card Instelling" - label_export_card_configuration_plural: "Export Card Instellingen" - label_export_card_activate: "Activeren" - label_export_card_deactivate: "De-activeren" - notice_export_card_configuration_activated: "Configuratie succesvol geactiveerd" - notice_export_card_configuration_deactivated: "Configuratie succesvol gedeactiveerd" - error_can_not_activate_export_card_configuration: "Deze configuratie kan niet geactiveerd worden" - error_can_not_deactivate_export_card_configuration: "Deze configuratie kan niet gedeactiveerd worden" - validation_error_required_keys_not_present: "Vereiste sleutel(s) is(zijn) niet aanwezig:" - validation_error_yaml_is_badly_formed: "heeft geen geldig YAML-formaat." - validation_error_uknown_key: "Onbekende sleutel:" - yaml_error: "YAML fout:" - help_link_rows_format: "Rijen opmaken" - export_config_per_page: "Per pagina" - export_config_page_size: "Paginagrootte" - export_config_orientation: "Oriëntatie" - export_config_rows: "Rijen" - activerecord: - attributes: - export_card_configuration: - rows: "Rijen" - per_page: "Per pagina" - page_size: "Paginagrootte" - orientation: "Oriëntatie" diff --git a/modules/pdf_export/config/locales/crowdin/no.yml b/modules/pdf_export/config/locales/crowdin/no.yml deleted file mode 100644 index 5f3ea2052076..000000000000 --- a/modules/pdf_export/config/locales/crowdin/no.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -"no": - error_can_not_delete_export_card_configuration: "Denne konfigurasjonen kan ikke slettes." - error_can_not_change_name_of_default_configuration: "Navnet på standard konfigurasjonen kan ikke forandres." - label_backlogs_export_card_config_select: "Vel eksportkort konfigurasjon" - label_backlogs_export_card_export: "Eksporter" - label_export_card_configuration_new: "Ny eksportkort konfigurasjon" - label_export_card_configuration: "Eksportkort konfigurasjon" - label_export_card_configuration_plural: "Eksportkort konfigurasjoner" - label_export_card_activate: "Aktiver" - label_export_card_deactivate: "Deaktiver" - notice_export_card_configuration_activated: "Konfigurasjon aktivert." - notice_export_card_configuration_deactivated: "Konfigurasjon deaktivert." - error_can_not_activate_export_card_configuration: "Denne konfigurasjonen kan ikke aktiveres" - error_can_not_deactivate_export_card_configuration: "Denne konfigurasjonen kan ikke deaktiveres" - validation_error_required_keys_not_present: "Nødvendig nøkle(r) er utilgjengelige:" - validation_error_yaml_is_badly_formed: "har ikke gyldig YAML format." - validation_error_uknown_key: "Ukjent nøkkel:" - yaml_error: "YAML feil:" - help_link_rows_format: "Formatering av rader" - export_config_per_page: "Per side" - export_config_page_size: "Sidestørrelse" - export_config_orientation: "Orientering" - export_config_rows: "Rader" - activerecord: - attributes: - export_card_configuration: - rows: "Rader" - per_page: "Pr. side" - page_size: "Sidestørrelse" - orientation: "Retning" diff --git a/modules/pdf_export/config/locales/crowdin/pl.yml b/modules/pdf_export/config/locales/crowdin/pl.yml deleted file mode 100644 index c731eefd178a..000000000000 --- a/modules/pdf_export/config/locales/crowdin/pl.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -pl: - error_can_not_delete_export_card_configuration: "Konfiguracja nie może być usunięta." - error_can_not_change_name_of_default_configuration: "Nie można zmienić nazwy domyślnej konfiguracji." - label_backlogs_export_card_config_select: "Wybierz opcję eksportu karty konfiguracji" - label_backlogs_export_card_export: "Eksportuj" - label_export_card_configuration_new: "Nowa Karta Eksportu" - label_export_card_configuration: "Karty Eksportu" - label_export_card_configuration_plural: "Export Konfiguracji" - label_export_card_activate: "Aktywuj" - label_export_card_deactivate: "Deaktywuj" - notice_export_card_configuration_activated: "Konfiguracja aktywowana pomyślnie" - notice_export_card_configuration_deactivated: "Konfiguracje wyłączona pomyślnie" - error_can_not_activate_export_card_configuration: "Konfiguracja nie może być aktywowana" - error_can_not_deactivate_export_card_configuration: "Konfiguracja nie może być deaktywowana" - validation_error_required_keys_not_present: "Wymagany/e klucz(e) nie istnieją:" - validation_error_yaml_is_badly_formed: "nie ma prawidłowego formatu YAML." - validation_error_uknown_key: "Nieznany klucz:" - yaml_error: "Błąd YAML:" - help_link_rows_format: "Formatowanie YAML" - export_config_per_page: "Na stronie" - export_config_page_size: "Rozmiar strony" - export_config_orientation: "Orientacja" - export_config_rows: "Skrypt YAML" - activerecord: - attributes: - export_card_configuration: - rows: "Wiersze" - per_page: "Na stronie" - page_size: "Rozmiar strony" - orientation: "Orientacja" diff --git a/modules/pdf_export/config/locales/crowdin/pt.yml b/modules/pdf_export/config/locales/crowdin/pt.yml deleted file mode 100644 index 39f31db416bd..000000000000 --- a/modules/pdf_export/config/locales/crowdin/pt.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -pt: - error_can_not_delete_export_card_configuration: "Esta configuração não pode ser excluída." - error_can_not_change_name_of_default_configuration: "O nome da configuração padrão não pode ser alterado." - label_backlogs_export_card_config_select: "Selecione configuração de exportação de cartão" - label_backlogs_export_card_export: "Exportar" - label_export_card_configuration_new: "Nova configuração de exportação de cartões" - label_export_card_configuration: "Configuração de exportação de cartões" - label_export_card_configuration_plural: "Configurações de exportação de cartões" - label_export_card_activate: "Ativar" - label_export_card_deactivate: "Desativar" - notice_export_card_configuration_activated: "Configuração ativada com sucesso." - notice_export_card_configuration_deactivated: "Configuração desativada com sucesso." - error_can_not_activate_export_card_configuration: "Esta configuração não pode ser ativada" - error_can_not_deactivate_export_card_configuration: "Esta configuração não pode ser desativada" - validation_error_required_keys_not_present: "Chave(s) necessária(s) não está(ão) presente(s):" - validation_error_yaml_is_badly_formed: "não há nenhum formato YAML válido." - validation_error_uknown_key: "Chave desconhecida:" - yaml_error: "Erro YAML:" - help_link_rows_format: "Formatação das linhas" - export_config_per_page: "Por página" - export_config_page_size: "Tamanho da página" - export_config_orientation: "Orientação" - export_config_rows: "Linhas" - activerecord: - attributes: - export_card_configuration: - rows: "Linhas" - per_page: "Por página" - page_size: "Tamanho da página" - orientation: "Orientação" diff --git a/modules/pdf_export/config/locales/crowdin/ro.yml b/modules/pdf_export/config/locales/crowdin/ro.yml deleted file mode 100644 index a19effe37cd5..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ro.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ro: - error_can_not_delete_export_card_configuration: "Această configurație nu poate fi ștearsă." - error_can_not_change_name_of_default_configuration: "Numele configurației implicite nu poate fi modificat." - label_backlogs_export_card_config_select: "Selectați configurația cardului de export" - label_backlogs_export_card_export: "Exportare" - label_export_card_configuration_new: "Noua configurare a cardului de export" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Exportați configurațiile cardurilor" - label_export_card_activate: "Activare" - label_export_card_deactivate: "Dezactivează" - notice_export_card_configuration_activated: "Configurație activată cu succes" - notice_export_card_configuration_deactivated: "Configurația a fost dezactivată cu succes" - error_can_not_activate_export_card_configuration: "Această configurație nu poate fi activată" - error_can_not_deactivate_export_card_configuration: "Această configurație nu poate fi dezactivată" - validation_error_required_keys_not_present: "Cheia (cheile) necesară (necesare) nu este (sunt) prezentă (prezente):" - validation_error_yaml_is_badly_formed: "nu are un format YAML valid." - validation_error_uknown_key: "Cheie necunoscută:" - yaml_error: "Eroare YAML:" - help_link_rows_format: "Formatarea rândurilor" - export_config_per_page: "Pe pagină" - export_config_page_size: "Dimensiune pagină PDF" - export_config_orientation: "Orientare" - export_config_rows: "Rânduri" - activerecord: - attributes: - export_card_configuration: - rows: "Rânduri" - per_page: "Pe pagină" - page_size: "Dimensiune pagină PDF" - orientation: "Orientare" diff --git a/modules/pdf_export/config/locales/crowdin/ru.yml b/modules/pdf_export/config/locales/crowdin/ru.yml deleted file mode 100644 index 8b155b7e3778..000000000000 --- a/modules/pdf_export/config/locales/crowdin/ru.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -ru: - error_can_not_delete_export_card_configuration: "Невозможно удалить эту конфигурацию." - error_can_not_change_name_of_default_configuration: "Имя конфигурации по умолчанию не может быть изменено." - label_backlogs_export_card_config_select: "Выберите экспорт карты конфигурации" - label_backlogs_export_card_export: "Экспорт" - label_export_card_configuration_new: "Новый экспорт карт конфигурации" - label_export_card_configuration: "Экспорт карты конфигурации" - label_export_card_configuration_plural: "Экспорт карт конфигураций" - label_export_card_activate: "Активировать" - label_export_card_deactivate: "Деактивировать" - notice_export_card_configuration_activated: "Конфигурация успешно активирована" - notice_export_card_configuration_deactivated: "Конфигурация успешно деактивирована" - error_can_not_activate_export_card_configuration: "Эта конфигурация не может быть активирована" - error_can_not_deactivate_export_card_configuration: "Эта конфигурация не может быть деактивирована" - validation_error_required_keys_not_present: "Требуемые ключи не предъявлены:" - validation_error_yaml_is_badly_formed: "имеет не действительный формат YAML." - validation_error_uknown_key: "Неизвестный ключ:" - yaml_error: "Ошибка YAML:" - help_link_rows_format: "Форматирование строк" - export_config_per_page: "Постранично" - export_config_page_size: "Размер страницы" - export_config_orientation: "Ориентация" - export_config_rows: "Строк" - activerecord: - attributes: - export_card_configuration: - rows: "Строки" - per_page: "Постранично" - page_size: "Размер страницы" - orientation: "Ориентация" diff --git a/modules/pdf_export/config/locales/crowdin/rw.yml b/modules/pdf_export/config/locales/crowdin/rw.yml deleted file mode 100644 index 655eb5fd2c20..000000000000 --- a/modules/pdf_export/config/locales/crowdin/rw.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -rw: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/si.yml b/modules/pdf_export/config/locales/crowdin/si.yml deleted file mode 100644 index aa1796712b6c..000000000000 --- a/modules/pdf_export/config/locales/crowdin/si.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -si: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "අපනයන" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "සක්රිය කරන්න" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "පිටුවකට" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "පිටුවකට" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/sk.yml b/modules/pdf_export/config/locales/crowdin/sk.yml deleted file mode 100644 index f5e443c818b3..000000000000 --- a/modules/pdf_export/config/locales/crowdin/sk.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -sk: - error_can_not_delete_export_card_configuration: "Táto konfigurácia nemôže byť odstránená." - error_can_not_change_name_of_default_configuration: "Názov predvolenej konfigurácie nie je možné zmeniť." - label_backlogs_export_card_config_select: "Zvoľte Konfiguráciu export karty" - label_backlogs_export_card_export: "Exportovať" - label_export_card_configuration_new: "Nová konfigurácia export karty" - label_export_card_configuration: "Konfigurácia export karty" - label_export_card_configuration_plural: "Konfigurácie export karty" - label_export_card_activate: "Aktivovať" - label_export_card_deactivate: "Deaktivovať" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "Túto konfiguráciu nie je možné aktivovať" - error_can_not_deactivate_export_card_configuration: "Túto konfiguráciu nie je možné deaktivovať" - validation_error_required_keys_not_present: "Požadovaný kľúč (kľúče) nenájdené:" - validation_error_yaml_is_badly_formed: "obsahuje neplatné YAML formátovanie." - validation_error_uknown_key: "Neznámy kľúč:" - yaml_error: "YAML chyba:" - help_link_rows_format: "Formátovanie riadkov" - export_config_per_page: "Na stránku" - export_config_page_size: "Veľkosť stránky" - export_config_orientation: "Orientácia" - export_config_rows: "Riadky" - activerecord: - attributes: - export_card_configuration: - rows: "Riadky" - per_page: "Na stranu" - page_size: "Veľkosť stránky" - orientation: "Orientácia" diff --git a/modules/pdf_export/config/locales/crowdin/sl.yml b/modules/pdf_export/config/locales/crowdin/sl.yml deleted file mode 100644 index 5a79b8655e17..000000000000 --- a/modules/pdf_export/config/locales/crowdin/sl.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -sl: - error_can_not_delete_export_card_configuration: "Te konfiguracije ni mogoče izbrisati." - error_can_not_change_name_of_default_configuration: "Imena te privzete konfiguracije ni mogoče spremeniti." - label_backlogs_export_card_config_select: "Izberite izvozno kartico konfiguracije." - label_backlogs_export_card_export: "Izvozi" - label_export_card_configuration_new: "Nova izvozna kartica konfiguracije" - label_export_card_configuration: "Izvozna kartica konfiguracije" - label_export_card_configuration_plural: "Izvozne kartice konfiguracije" - label_export_card_activate: "Aktiviraj" - label_export_card_deactivate: "Onemogoči" - notice_export_card_configuration_activated: "Konfiguracija je uspešno aktivirana" - notice_export_card_configuration_deactivated: "Konfiguracija je uspešno onemogočena" - error_can_not_activate_export_card_configuration: "Te konfiguracije ni mogoče aktivirati" - error_can_not_deactivate_export_card_configuration: "Te konfiguracije ni mogoče onemogočiti" - validation_error_required_keys_not_present: "Potrebni ključ(i) ne obstaja(jo):" - validation_error_yaml_is_badly_formed: "ni veljavnega YAML formata." - validation_error_uknown_key: "Nepoznan ključ:" - yaml_error: "YAML napaka:" - help_link_rows_format: "Oblikovanje Vrstic" - export_config_per_page: "na stran" - export_config_page_size: "Velikost strani" - export_config_orientation: "Usmerjenost" - export_config_rows: "Vrstice" - activerecord: - attributes: - export_card_configuration: - rows: "Vrstice" - per_page: "na stran" - page_size: "Velikost strani" - orientation: "Usmerjenost" diff --git a/modules/pdf_export/config/locales/crowdin/sr.yml b/modules/pdf_export/config/locales/crowdin/sr.yml deleted file mode 100644 index dd82c753bfce..000000000000 --- a/modules/pdf_export/config/locales/crowdin/sr.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -sr: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/sv.yml b/modules/pdf_export/config/locales/crowdin/sv.yml deleted file mode 100644 index 4c1cb3761eca..000000000000 --- a/modules/pdf_export/config/locales/crowdin/sv.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -sv: - error_can_not_delete_export_card_configuration: "Denna konfiguration kan inte tas bort." - error_can_not_change_name_of_default_configuration: "Namnet på standardkonfigurationen kan inte ändras." - label_backlogs_export_card_config_select: "Välj Export-kort konfiguration" - label_backlogs_export_card_export: "Exportera" - label_export_card_configuration_new: "Ny Export-kort konfiguration" - label_export_card_configuration: "Export-kort konfiguration" - label_export_card_configuration_plural: "Export-kort konfigurationer" - label_export_card_activate: "Aktivera" - label_export_card_deactivate: "De-aktivera" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "Denna konfiguration kan inte aktiveras" - error_can_not_deactivate_export_card_configuration: "Denna konfiguration kan inte deaktiveras" - validation_error_required_keys_not_present: "Krävda nycklar är inte tillgängliga:" - validation_error_yaml_is_badly_formed: "har inget giltig YAML-format." - validation_error_uknown_key: "Okänd nyckel:" - yaml_error: "YAML fel:" - help_link_rows_format: "Radformatering" - export_config_per_page: "Per sida" - export_config_page_size: "Sidstorlek" - export_config_orientation: "Orientering" - export_config_rows: "Rader" - activerecord: - attributes: - export_card_configuration: - rows: "Rader" - per_page: "Per sida" - page_size: "Sidstorlek" - orientation: "Orientering" diff --git a/modules/pdf_export/config/locales/crowdin/th.yml b/modules/pdf_export/config/locales/crowdin/th.yml deleted file mode 100644 index 4c6e0b9542e0..000000000000 --- a/modules/pdf_export/config/locales/crowdin/th.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -th: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "เปิดใช้งาน" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "ต่อหน้า" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "ต่อหน้า" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/tr.yml b/modules/pdf_export/config/locales/crowdin/tr.yml deleted file mode 100644 index 7e5bde081169..000000000000 --- a/modules/pdf_export/config/locales/crowdin/tr.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -tr: - error_can_not_delete_export_card_configuration: "Konfigürasyon Silinemedi." - error_can_not_change_name_of_default_configuration: "Standart ayarların adı değiştirilemez." - label_backlogs_export_card_config_select: "Dışa aktarım Kart Ayarı Seçin" - label_backlogs_export_card_export: "Dışa Aktar" - label_export_card_configuration_new: "Yeni Dışa aktarım Kart Ayarı" - label_export_card_configuration: "Dışa aktarım Kart Ayarı" - label_export_card_configuration_plural: "Dışa aktarım Kart Ayarları" - label_export_card_activate: "Etkinleştir" - label_export_card_deactivate: "Devre dışı bırakın" - notice_export_card_configuration_activated: "Yapılandırma başarıyla etkinleştirildi" - notice_export_card_configuration_deactivated: "Yapılandırma başarıyla devre dışı bırakıldı" - error_can_not_activate_export_card_configuration: "Bu ayar etkinleştirilemez" - error_can_not_deactivate_export_card_configuration: "Bu ayar devre dışı bırakılamaz" - validation_error_required_keys_not_present: "Gerekli anahtar(lar) mevcut değil:" - validation_error_yaml_is_badly_formed: "geçerli bir YAML biçimine sahip değil." - validation_error_uknown_key: "Bilinmeyen anahtar:" - yaml_error: "YAML hatası:" - help_link_rows_format: "Satır Biçimlendirme" - export_config_per_page: "Sayfa başına" - export_config_page_size: "Sayfa boyutu" - export_config_orientation: "Yönlendirme" - export_config_rows: "Satırlar" - activerecord: - attributes: - export_card_configuration: - rows: "Satırlar" - per_page: "Sayfa başına" - page_size: "Sayfa boyutu" - orientation: "Yönlendirme" diff --git a/modules/pdf_export/config/locales/crowdin/uk.yml b/modules/pdf_export/config/locales/crowdin/uk.yml deleted file mode 100644 index 2cc90cd3a613..000000000000 --- a/modules/pdf_export/config/locales/crowdin/uk.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -uk: - error_can_not_delete_export_card_configuration: "Цей файл неможливо видалити." - error_can_not_change_name_of_default_configuration: "Ім'я налаштування за замовчуванням не може бути змінено." - label_backlogs_export_card_config_select: "Виберіть конфігурацію карти експорту" - label_backlogs_export_card_export: "Експорт" - label_export_card_configuration_new: "Нова конфігурація експортної картки" - label_export_card_configuration: "Експорт конфігурації картки" - label_export_card_configuration_plural: "Експорт конфігурацій картки" - label_export_card_activate: "Активувати" - label_export_card_deactivate: "Деактивувати" - notice_export_card_configuration_activated: "Конфігурацію активовано" - notice_export_card_configuration_deactivated: "Конфігурацію деактивовано" - error_can_not_activate_export_card_configuration: "Цю конфігурацію не можна активувати" - error_can_not_deactivate_export_card_configuration: "Цей конфігурацію не можна деактивувати" - validation_error_required_keys_not_present: "Необхідний ключ(і) відсутній:" - validation_error_yaml_is_badly_formed: "має не правильний формат YAML." - validation_error_uknown_key: "Невідомий ключ:" - yaml_error: "Помилка YAML:" - help_link_rows_format: "Форматування рядків" - export_config_per_page: "На сторінці" - export_config_page_size: "Розмір сторінки" - export_config_orientation: "Орієнтація" - export_config_rows: "Рядки" - activerecord: - attributes: - export_card_configuration: - rows: "Рядки" - per_page: "На сторінці" - page_size: "Розмір сторінки" - orientation: "Орієнтація" diff --git a/modules/pdf_export/config/locales/crowdin/vi.yml b/modules/pdf_export/config/locales/crowdin/vi.yml deleted file mode 100644 index fea7aa287cb0..000000000000 --- a/modules/pdf_export/config/locales/crowdin/vi.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -vi: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Xuất" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "không có định dạng YAML hợp lệ." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Mỗi trang" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Mỗi trang" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/crowdin/zh-CN.yml b/modules/pdf_export/config/locales/crowdin/zh-CN.yml deleted file mode 100644 index 8951bdf0ffbd..000000000000 --- a/modules/pdf_export/config/locales/crowdin/zh-CN.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -zh-CN: - error_can_not_delete_export_card_configuration: "无法删除此配置。" - error_can_not_change_name_of_default_configuration: "无法更改默认配置的名称。" - label_backlogs_export_card_config_select: "选择导出卡片配置" - label_backlogs_export_card_export: "导出" - label_export_card_configuration_new: "新导出卡片配置" - label_export_card_configuration: "导出卡片配置" - label_export_card_configuration_plural: "导出卡片配置" - label_export_card_activate: "激活" - label_export_card_deactivate: "取消激活" - notice_export_card_configuration_activated: "配置成功激活" - notice_export_card_configuration_deactivated: "配置成功取消激活" - error_can_not_activate_export_card_configuration: "无法激活此配置" - error_can_not_deactivate_export_card_configuration: "无法取消激活此配置" - validation_error_required_keys_not_present: "所需的密钥不存在:" - validation_error_yaml_is_badly_formed: "无有效的 YAML 格式。" - validation_error_uknown_key: "未知的密钥:" - yaml_error: "YAML 错误:" - help_link_rows_format: "行格式" - export_config_per_page: "每页" - export_config_page_size: "页面大小" - export_config_orientation: "页面方向" - export_config_rows: "行" - activerecord: - attributes: - export_card_configuration: - rows: "行" - per_page: "每页" - page_size: "页面大小" - orientation: "页面方向" diff --git a/modules/pdf_export/config/locales/crowdin/zh-TW.yml b/modules/pdf_export/config/locales/crowdin/zh-TW.yml deleted file mode 100644 index e746cb67b186..000000000000 --- a/modules/pdf_export/config/locales/crowdin/zh-TW.yml +++ /dev/null @@ -1,51 +0,0 @@ -#-- copyright -#OpenProject is an open source project management software. -#Copyright (C) 2012-2023 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. -#++ -zh-TW: - error_can_not_delete_export_card_configuration: "不能刪除設定。" - error_can_not_change_name_of_default_configuration: "預設設定的名稱不能更改。" - label_backlogs_export_card_config_select: "選擇匯出卡設置" - label_backlogs_export_card_export: "匯出" - label_export_card_configuration_new: "新匯出卡設定" - label_export_card_configuration: "匯出卡設定" - label_export_card_configuration_plural: "匯出卡設定" - label_export_card_activate: "啟動" - label_export_card_deactivate: "關閉" - notice_export_card_configuration_activated: "設定成功啟動" - notice_export_card_configuration_deactivated: "設定成功關閉" - error_can_not_activate_export_card_configuration: "設定不能啟動" - error_can_not_deactivate_export_card_configuration: "設定不能關閉" - validation_error_required_keys_not_present: "所需的鍵不存在 ︰" - validation_error_yaml_is_badly_formed: "有無效的 YAML 格式。" - validation_error_uknown_key: "未知鍵:" - yaml_error: "YAML 錯誤 ︰" - help_link_rows_format: "行格式" - export_config_per_page: "每頁" - export_config_page_size: "頁面大小" - export_config_orientation: "頁面方向" - export_config_rows: "行" - activerecord: - attributes: - export_card_configuration: - rows: "列" - per_page: "每頁" - page_size: "頁面大小" - orientation: "頁面方向" diff --git a/modules/pdf_export/config/locales/da.yml b/modules/pdf_export/config/locales/da.yml deleted file mode 100644 index 3abd36012536..000000000000 --- a/modules/pdf_export/config/locales/da.yml +++ /dev/null @@ -1,30 +0,0 @@ -da: - error_can_not_delete_export_card_configuration: "Denne opsætning kan ikke slettes." - error_can_not_change_name_of_default_configuration: "Navnet på standardopsætningen kan ikke ændres." - label_backlogs_export_card_config_select: "Vælg eksportkortopsætning" - label_backlogs_export_card_export: "Eksportér" - label_export_card_configuration_new: "Ny eksportkortopsætning" - label_export_card_configuration: "Eksportkortopsætning" - label_export_card_configuration_plural: "Eksport kortopsætninger" - label_export_card_activate: "Aktivér" - label_export_card_deactivate: "Deaktivér" - notice_export_card_configuration_activated: "Opsætning aktiveret" - notice_export_card_configuration_deactivated: "Opsætning deaktiveret" - error_can_not_activate_export_card_configuration: "Denne opsætning kan ikke aktiveres" - error_can_not_deactivate_export_card_configuration: "Denne opsætning kan ikke deaktiveres" - validation_error_required_keys_not_present: "Påkrævede nøgle(-r) ikke til stede:" - validation_error_yaml_is_badly_formed: "har intet gyldigt YAML-format." - validation_error_uknown_key: "Ukendt nøgle:" - yaml_error: "YAML-fejl:" - help_link_rows_format: "Rækkeformatering" - export_config_per_page: "Per side" - export_config_page_size: "Sidestørrelse" - export_config_orientation: "Retning" - export_config_rows: "Rækker" - activerecord: - attributes: - export_card_configuration: - rows: "Rækker" - per_page: "Per side" - page_size: "Sidestørrelse" - orientation: "Retning" diff --git a/modules/pdf_export/config/locales/de.yml b/modules/pdf_export/config/locales/de.yml deleted file mode 100644 index 7d0de5505b6c..000000000000 --- a/modules/pdf_export/config/locales/de.yml +++ /dev/null @@ -1,30 +0,0 @@ -de: - error_can_not_delete_export_card_configuration: "Diese Konfiguration kann nicht gelöscht werden." - error_can_not_change_name_of_default_configuration: "Der Name der Standardkonfiguration kann nicht geändert werden." - label_backlogs_export_card_config_select: "Bitte wählen Sie eine Export-Kartenkonfiguration" - label_backlogs_export_card_export: "Exportieren" - label_export_card_configuration_new: "Neue Export-Kartenkonfiguration" - label_export_card_configuration: "Export-Kartenkonfiguration" - label_export_card_configuration_plural: "Export-Kartenkonfigurationen" - label_export_card_activate: "Aktivieren" - label_export_card_deactivate: "De-aktivieren" - notice_export_card_configuration_activated: "Export-Kartenkonfiguration erfolgreich aktiviert" - notice_export_card_configuration_deactivated: "Export-Kartenkonfiguration erfolgreich de-aktiviert" - error_can_not_activate_export_card_configuration: "Diese Konfiguration kann nicht aktiviert werden" - error_can_not_deactivate_export_card_configuration: "Diese Konfiguration kann nicht de-aktiviert werden" - validation_error_required_keys_not_present: "Erfordete(r) Schlüssel nicht vorhanden:" - validation_error_yaml_is_badly_formed: "hat kein gültiges YAML-Format." - validation_error_uknown_key: "Unbekannter Schlüssel:" - yaml_error: "YAML Fehler:" - help_link_rows_format: "Reihen formatieren" - export_config_per_page: "Pro Seite" - export_config_page_size: "Seitengröße" - export_config_orientation: "Ausrichtung" - export_config_rows: "Reihen" - activerecord: - attributes: - export_card_configuration: - rows: "Reihen" - per_page: "Pro Seite" - page_size: "Seitengröße" - orientation: "Ausrichtung" diff --git a/modules/pdf_export/config/locales/en.yml b/modules/pdf_export/config/locales/en.yml deleted file mode 100644 index aa6d72c2033f..000000000000 --- a/modules/pdf_export/config/locales/en.yml +++ /dev/null @@ -1,59 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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. -#++ - - -en: - error_can_not_delete_export_card_configuration: "This config cannot be deleted." - error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." - label_backlogs_export_card_config_select: "Select export card configuration" - label_backlogs_export_card_export: "Export" - label_export_card_configuration_new: "New Export Card Config" - label_export_card_configuration: "Export Card Config" - label_export_card_configuration_plural: "Export Card Configs" - label_export_card_activate: "Activate" - label_export_card_deactivate: "De-activate" - notice_export_card_configuration_activated: "Config successfully activated" - notice_export_card_configuration_deactivated: "Config successfully de-activated" - error_can_not_activate_export_card_configuration: "This config cannot be activated" - error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" - validation_error_required_keys_not_present: "Required key(s) not present:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Unknown key:" - yaml_error: "YAML error:" - help_link_rows_format: "Rows Formatting" - export_config_per_page: "Per page" - export_config_page_size: "Page size" - export_config_orientation: "Orientation" - export_config_rows: "Rows" - activerecord: - attributes: - export_card_configuration: - rows: "Rows" - per_page: "Per page" - page_size: "Page size" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/es-ES.yml b/modules/pdf_export/config/locales/es-ES.yml deleted file mode 100644 index ea69da34bb23..000000000000 --- a/modules/pdf_export/config/locales/es-ES.yml +++ /dev/null @@ -1,30 +0,0 @@ -es: - error_can_not_delete_export_card_configuration: "Esta configuración no puede ser eliminada." - error_can_not_change_name_of_default_configuration: "No se puede cambiar el nombre de la configuración predeterminada." - label_backlogs_export_card_config_select: "Seleccionar exportar configuración de la tarjeta" - label_backlogs_export_card_export: "Exportar" - label_export_card_configuration_new: "Nueva exportación de la configuración de la tarjeta" - label_export_card_configuration: "Exportar configuración de tarjetas" - label_export_card_configuration_plural: "Exportar configuraciones de tarjetas" - label_export_card_activate: "Activar" - label_export_card_deactivate: "Desactivar" - notice_export_card_configuration_activated: "Configuración activada correctamente" - notice_export_card_configuration_deactivated: "Configuración desactivada correctamente" - error_can_not_activate_export_card_configuration: "Esta configuración no puede activarse" - error_can_not_deactivate_export_card_configuration: "Esta configuración no puede desactivarse" - validation_error_required_keys_not_present: "Clave(s) obligatorias no presentes:" - validation_error_yaml_is_badly_formed: "tiene un formato YAML no válido." - validation_error_uknown_key: "Clave desconocida:" - yaml_error: "Error YAML:" - help_link_rows_format: "Formato de filas" - export_config_per_page: "Por página" - export_config_page_size: "Tamaño de la página" - export_config_orientation: "Orientación" - export_config_rows: "Filas" - activerecord: - attributes: - export_card_configuration: - rows: "Filas" - per_page: "Por página" - page_size: "Tamaño de la página" - orientation: "Orientación" diff --git a/modules/pdf_export/config/locales/et.yml b/modules/pdf_export/config/locales/et.yml deleted file mode 100644 index 030fd391cf69..000000000000 --- a/modules/pdf_export/config/locales/et.yml +++ /dev/null @@ -1,30 +0,0 @@ -et: - error_can_not_delete_export_card_configuration: "Seda seadistust ei saa kustutada." - error_can_not_change_name_of_default_configuration: "Vaikimisi seadistuse nime ei saa muuta." - label_backlogs_export_card_config_select: "Vali eksportimise kaardi seadistus" - label_backlogs_export_card_export: "Ekspordi" - label_export_card_configuration_new: "Uus eksportimise kaardi seadistus" - label_export_card_configuration: "Eksportimise kaardi seadistus" - label_export_card_configuration_plural: "Eksportimise kaardi seadistused" - label_export_card_activate: "Aktiveeri" - label_export_card_deactivate: "Desaktiveeri" - notice_export_card_configuration_activated: "Seaded on aktiveeritud" - notice_export_card_configuration_deactivated: "Seaded on deaktiveeritud" - error_can_not_activate_export_card_configuration: "Seda seadistust ei saa aktiveerida" - error_can_not_deactivate_export_card_configuration: "Seda seadistust ei saa deaktiveerida" - validation_error_required_keys_not_present: "Võitud võtit (võtmeid) pole:" - validation_error_yaml_is_badly_formed: "pole korrektses YAML vormingus." - validation_error_uknown_key: "Tundmatu võti:" - yaml_error: "YAML viga:" - help_link_rows_format: "Ridade vormindamine" - export_config_per_page: "Lehekülje kohta" - export_config_page_size: "Lehekülje suurus" - export_config_orientation: "Suund" - export_config_rows: "Ridasid" - activerecord: - attributes: - export_card_configuration: - rows: "Ridasid" - per_page: "Lehekülje kohta" - page_size: "Lehekülje suurus" - orientation: "Suund" diff --git a/modules/pdf_export/config/locales/fi.yml b/modules/pdf_export/config/locales/fi.yml deleted file mode 100644 index 1a0a2a804979..000000000000 --- a/modules/pdf_export/config/locales/fi.yml +++ /dev/null @@ -1,30 +0,0 @@ -fi: - error_can_not_delete_export_card_configuration: "Tätä konfiguraatioa ei voi poistaa." - error_can_not_change_name_of_default_configuration: "Oletuskonfiguraation nimeä ei voi muuttaa." - label_backlogs_export_card_config_select: "Valitse viennin konfiguraatio" - label_backlogs_export_card_export: "Vie" - label_export_card_configuration_new: "Uusi viennin konfiguraatio" - label_export_card_configuration: "Viennin konfiguraatio" - label_export_card_configuration_plural: "Viennin konfiguraatiot" - label_export_card_activate: "Aktivoi" - label_export_card_deactivate: "Poista käytöstä" - notice_export_card_configuration_activated: "Konfiguraatio aktivoitu onnistuneesti" - notice_export_card_configuration_deactivated: "Konfiguraatio poistettu käytöstä onnistuneesti" - error_can_not_activate_export_card_configuration: "Tätä konfiguraatiota ei voi aktivoida" - error_can_not_deactivate_export_card_configuration: "Tätä konfiguraatioa ei voi poistaa käytöstä" - validation_error_required_keys_not_present: "Tarvittavia avaimia ei ole:" - validation_error_yaml_is_badly_formed: "ei kelvollista YAML-muotoa." - validation_error_uknown_key: "Tuntematon avain:" - yaml_error: "YAML virhe:" - help_link_rows_format: "Rivien muotoilu" - export_config_per_page: "Per sivu" - export_config_page_size: "Sivun koko" - export_config_orientation: "Suunta" - export_config_rows: "Rivit" - activerecord: - attributes: - export_card_configuration: - rows: "Rivit" - per_page: "Per sivu" - page_size: "Sivun koko" - orientation: "Suunta" diff --git a/modules/pdf_export/config/locales/fr.yml b/modules/pdf_export/config/locales/fr.yml deleted file mode 100644 index 4c9c01ab928d..000000000000 --- a/modules/pdf_export/config/locales/fr.yml +++ /dev/null @@ -1,30 +0,0 @@ -fr: - error_can_not_delete_export_card_configuration: "Cette configuration ne peut pas être supprimée." - error_can_not_change_name_of_default_configuration: "Le nom de la configuration par défaut ne peut pas être modifié." - label_backlogs_export_card_config_select: "Sélectionnez la configuration de la carte d'exportation" - label_backlogs_export_card_export: "Exporter" - label_export_card_configuration_new: "Nouvelle configuration de la carte d'exportation" - label_export_card_configuration: "Configuration de la carte d'exportation" - label_export_card_configuration_plural: "Configuration des cartes d'exportation" - label_export_card_activate: "Activer" - label_export_card_deactivate: "Désactiver" - notice_export_card_configuration_activated: "Configuration activée avec succès" - notice_export_card_configuration_deactivated: "Configuration désactivée avec succès" - error_can_not_activate_export_card_configuration: "Cette configuration ne peut pas être activée" - error_can_not_deactivate_export_card_configuration: "Cette configuration ne peut pas être désactivée" - validation_error_required_keys_not_present: "La/Les clé(s) requise(nt) est/sont abente(s) :" - validation_error_yaml_is_badly_formed: "n'a aucun format YAML valide." - validation_error_uknown_key: "Clé inconnue :" - yaml_error: "Erreur YAML :" - help_link_rows_format: "Mise en forme des lignes" - export_config_per_page: "Par page" - export_config_page_size: "Taille de la page" - export_config_orientation: "Orientation" - export_config_rows: "Lignes" - activerecord: - attributes: - export_card_configuration: - rows: "Lignes" - per_page: "Par page" - page_size: "Taille de la page" - orientation: "Orientation" diff --git a/modules/pdf_export/config/locales/hr.yml b/modules/pdf_export/config/locales/hr.yml deleted file mode 100644 index 68f621c928a3..000000000000 --- a/modules/pdf_export/config/locales/hr.yml +++ /dev/null @@ -1,30 +0,0 @@ -hr: - error_can_not_delete_export_card_configuration: "Ova konfiguracija ne može biti izbrisana." - error_can_not_change_name_of_default_configuration: "Naziv postavljene konfiguracije ne može biti promijenjen." - label_backlogs_export_card_config_select: "Odaberite konfiguraciju kartice za izvoz" - label_backlogs_export_card_export: "Izvezi" - label_export_card_configuration_new: "Nova konfiguracija kartice za izvoz" - label_export_card_configuration: "Konfiguracija kartice za izvoz" - label_export_card_configuration_plural: "Sve konfiguracije kartice za izvoz" - label_export_card_activate: "Aktiviraj" - label_export_card_deactivate: "De-aktiviraj" - notice_export_card_configuration_activated: "Konfiguracija uspješno aktivirana" - notice_export_card_configuration_deactivated: "Konfiguracija uspješno de-aktivirana" - error_can_not_activate_export_card_configuration: "Ova konfiguracija ne može biti aktivirana" - error_can_not_deactivate_export_card_configuration: "Ova konfiguracija ne može biti de-aktivirana" - validation_error_required_keys_not_present: "Potrebni ključ(evi) nisu prisutni:" - validation_error_yaml_is_badly_formed: "neposjeduje ispravan YAML format." - validation_error_uknown_key: "Nepoznat ključ:" - yaml_error: "YAML greška:" - help_link_rows_format: "Oblikovanja redaka" - export_config_per_page: "Po stranici" - export_config_page_size: "Veličina stranice" - export_config_orientation: "Orijentacija" - export_config_rows: "Redci" - activerecord: - attributes: - export_card_configuration: - rows: "Redci" - per_page: "Po stranici" - page_size: "Veličina stranice" - orientation: "Orijentacija" diff --git a/modules/pdf_export/config/locales/it.yml b/modules/pdf_export/config/locales/it.yml deleted file mode 100644 index 70a8842da215..000000000000 --- a/modules/pdf_export/config/locales/it.yml +++ /dev/null @@ -1,30 +0,0 @@ -it: - error_can_not_delete_export_card_configuration: "Questa configurazione non può essere eliminata." - error_can_not_change_name_of_default_configuration: "Il nome della configurazione predefinita non può essere modificato." - label_backlogs_export_card_config_select: "Selezionare esporta configurazione della scheda" - label_backlogs_export_card_export: "Esporta" - label_export_card_configuration_new: "Nuova esportazione scheda Config" - label_export_card_configuration: "Esporta la configurazione della scheda" - label_export_card_configuration_plural: "Esporta le configurazioni della scheda" - label_export_card_activate: "Attivare" - label_export_card_deactivate: "Disattivare" - notice_export_card_configuration_activated: "Configurazione attivata con successo" - notice_export_card_configuration_deactivated: "Configurazione disattivata con successo" - error_can_not_activate_export_card_configuration: "La configurazione non può essere attivata" - error_can_not_deactivate_export_card_configuration: "La configurazione non può essere disattivata" - validation_error_required_keys_not_present: "Chiave(i) richiesta non presente:" - validation_error_yaml_is_badly_formed: "non ha alcun valido formato YAML." - validation_error_uknown_key: "Chiave sconosciuta:" - yaml_error: "Errore YAML:" - help_link_rows_format: "Formattazione di righe" - export_config_per_page: "Per pagina" - export_config_page_size: "Dimensioni della pagina" - export_config_orientation: "Orientamento" - export_config_rows: "Righe" - activerecord: - attributes: - export_card_configuration: - rows: "Righe" - per_page: "Per pagina" - page_size: "Dimensioni della pagina" - orientation: "Orientamento" diff --git a/modules/pdf_export/config/locales/ko.yml b/modules/pdf_export/config/locales/ko.yml deleted file mode 100644 index 443b54f2d616..000000000000 --- a/modules/pdf_export/config/locales/ko.yml +++ /dev/null @@ -1,30 +0,0 @@ -ko: - error_can_not_delete_export_card_configuration: "이 구성은 삭제할 수 없습니다" - error_can_not_change_name_of_default_configuration: "기본 구성의 이름은 변경할 수 없습니다." - label_backlogs_export_card_config_select: "내보내기 카드 구성 선택" - label_backlogs_export_card_export: "내보내기" - label_export_card_configuration_new: "새로운 내보내기 카드 구성" - label_export_card_configuration: "카드 구성 내보내기" - label_export_card_configuration_plural: "카드 구성 내보내기" - label_export_card_activate: "활성화" - label_export_card_deactivate: "비활성화" - notice_export_card_configuration_activated: "구성이 활성화됨" - notice_export_card_configuration_deactivated: "구성이 비활성화됨" - error_can_not_activate_export_card_configuration: "이 구성은 활성화할 수 없습니다" - error_can_not_deactivate_export_card_configuration: "이 구성은 비활성화할 수 없습니다" - validation_error_required_keys_not_present: "필요한 키가 없음:" - validation_error_yaml_is_badly_formed: "에는 유효한 YAML 형식이 없습니다." - validation_error_uknown_key: "알 수 없는 키:" - yaml_error: "YAML 오류:" - help_link_rows_format: "행 서식 지정" - export_config_per_page: "페이지당" - export_config_page_size: "페이지 크기" - export_config_orientation: "방향" - export_config_rows: "행" - activerecord: - attributes: - export_card_configuration: - rows: "행" - per_page: "페이지당" - page_size: "페이지 크기" - orientation: "방향" diff --git a/modules/pdf_export/config/locales/lt.yml b/modules/pdf_export/config/locales/lt.yml deleted file mode 100644 index b0a141f95f51..000000000000 --- a/modules/pdf_export/config/locales/lt.yml +++ /dev/null @@ -1,30 +0,0 @@ -lt: - error_can_not_delete_export_card_configuration: "Ši konfigūracija negali būti ištrinta." - error_can_not_change_name_of_default_configuration: "Numatytosios konfigūracijos pavadinimas negali būti pakeistas." - label_backlogs_export_card_config_select: "Pasirinkti eksportavimo kortelės konfigūraciją" - label_backlogs_export_card_export: "Eksportuoti" - label_export_card_configuration_new: "Nauja eksportavimo kortelės konfigūracija" - label_export_card_configuration: "Eksportavimo kortelės konfigūracija" - label_export_card_configuration_plural: "Eksportavimo kortelės konfigūracijos" - label_export_card_activate: "Aktyvuoti" - label_export_card_deactivate: "De-aktyvuoti" - notice_export_card_configuration_activated: "Konfigūracija sėkmingai aktyvuota" - notice_export_card_configuration_deactivated: "Konfigūracija sėkmingai de-aktyvuota" - error_can_not_activate_export_card_configuration: "Ši konfigūracija negali būti aktyvuota" - error_can_not_deactivate_export_card_configuration: "Ši konfigūracija negali būti de-aktyvuota" - validation_error_required_keys_not_present: "Reikalingas(-i) raktas(-ai) neegzistuoja:" - validation_error_yaml_is_badly_formed: "neturi tinkamo YAML formato." - validation_error_uknown_key: "Nežinomas raktas:" - yaml_error: "YAML klaida:" - help_link_rows_format: "Eilučių formatavimas" - export_config_per_page: "Per puslapį" - export_config_page_size: "Puslapio dydis" - export_config_orientation: "Orientacija" - export_config_rows: "Eilutės" - activerecord: - attributes: - export_card_configuration: - rows: "Eilutės" - per_page: "Per puslapį" - page_size: "Puslapio dydis" - orientation: "Orientacija" diff --git a/modules/pdf_export/config/locales/no.yml b/modules/pdf_export/config/locales/no.yml deleted file mode 100644 index c688c47ef491..000000000000 --- a/modules/pdf_export/config/locales/no.yml +++ /dev/null @@ -1,30 +0,0 @@ -"no": - error_can_not_delete_export_card_configuration: "Denne konfigurasjonen kan ikke slettes." - error_can_not_change_name_of_default_configuration: "Navnet på standard konfigurasjonen kan ikke forandres." - label_backlogs_export_card_config_select: "Vel eksportkort konfigurasjon" - label_backlogs_export_card_export: "Eksporter" - label_export_card_configuration_new: "Ny eksportkort konfigurasjon" - label_export_card_configuration: "Eksportkort konfigurasjon" - label_export_card_configuration_plural: "Eksportkort konfigurasjoner" - label_export_card_activate: "Aktiver" - label_export_card_deactivate: "Deaktiver" - notice_export_card_configuration_activated: "Konfigurasjonen er aktivert" - notice_export_card_configuration_deactivated: "Konfigurasjonen er deaktivert" - error_can_not_activate_export_card_configuration: "Denne konfigurasjonen kan ikke aktiveres" - error_can_not_deactivate_export_card_configuration: "Denne konfigurasjonen kan ikke deaktiveres" - validation_error_required_keys_not_present: "Nødvendig nøkle(r) er utilgjengelige:" - validation_error_yaml_is_badly_formed: "har ikke gyldig YAML format." - validation_error_uknown_key: "Ukjent nøkkel:" - yaml_error: "YAML feil:" - help_link_rows_format: "Formatering av rader" - export_config_per_page: "Per side" - export_config_page_size: "Sidestørrelse" - export_config_orientation: "Orientering" - export_config_rows: "Rader" - activerecord: - attributes: - export_card_configuration: - rows: "Rader" - per_page: "Per side" - page_size: "Sidestørrelse" - orientation: "Orientering" diff --git a/modules/pdf_export/config/locales/pl.yml b/modules/pdf_export/config/locales/pl.yml deleted file mode 100644 index 025425dc177e..000000000000 --- a/modules/pdf_export/config/locales/pl.yml +++ /dev/null @@ -1,30 +0,0 @@ -pl: - error_can_not_delete_export_card_configuration: "Konfiguracja nie może być usunięta." - error_can_not_change_name_of_default_configuration: "Nie można zmienić nazwy domyślnej konfiguracji." - label_backlogs_export_card_config_select: "Wybierz opcję eksportu karty konfiguracji" - label_backlogs_export_card_export: "Eksportuj" - label_export_card_configuration_new: "Nowa Karta Eksportu" - label_export_card_configuration: "Karty Eksportu" - label_export_card_configuration_plural: "Export Konfiguracji" - label_export_card_activate: "Aktywuj" - label_export_card_deactivate: "Deaktywuj" - notice_export_card_configuration_activated: "Konfiguracja włączona pomyślnie" - notice_export_card_configuration_deactivated: "Konfiguracje pomyślnie wyłączona" - error_can_not_activate_export_card_configuration: "Konfiguracja nie może być aktywowana" - error_can_not_deactivate_export_card_configuration: "Konfiguracja nie może być deaktywowana" - validation_error_required_keys_not_present: "Wymagany/e klucz(e) nie istnieją:" - validation_error_yaml_is_badly_formed: "nie ma prawidłowego formatu YAML." - validation_error_uknown_key: "Nieznany klucz:" - yaml_error: "Błąd YAML:" - help_link_rows_format: "Formatowanie YAML" - export_config_per_page: "Na stronie" - export_config_page_size: "Rozmiar strony" - export_config_orientation: "Orientacja" - export_config_rows: "Skrypt YAML" - activerecord: - attributes: - export_card_configuration: - rows: "Skrypt YAML" - per_page: "Na stronie" - page_size: "Rozmiar strony" - orientation: "Orientacja" diff --git a/modules/pdf_export/config/locales/pt-BR.yml b/modules/pdf_export/config/locales/pt-BR.yml deleted file mode 100644 index d43e6420692a..000000000000 --- a/modules/pdf_export/config/locales/pt-BR.yml +++ /dev/null @@ -1,30 +0,0 @@ -pt-BR: - error_can_not_delete_export_card_configuration: "Esta configuração não pode ser excluída." - error_can_not_change_name_of_default_configuration: "O nome da configuração padrão não pode ser alterado." - label_backlogs_export_card_config_select: "Selecione configuração de exportação de cartão" - label_backlogs_export_card_export: "Exportar" - label_export_card_configuration_new: "Nova configuração de exportação de cartões" - label_export_card_configuration: "Configuração de exportação de cartões" - label_export_card_configuration_plural: "Configurações de exportação de cartões" - label_export_card_activate: "Ativar" - label_export_card_deactivate: "Desativar" - notice_export_card_configuration_activated: "Configuração ativada com sucesso" - notice_export_card_configuration_deactivated: "Configuração desativada com sucesso" - error_can_not_activate_export_card_configuration: "Esta configuração não pode ser ativada" - error_can_not_deactivate_export_card_configuration: "Esta configuração não pode ser desativada" - validation_error_required_keys_not_present: "Chave(s) necessária(s) não está(ão) presente(s):" - validation_error_yaml_is_badly_formed: "não há nenhum formato YAML válido." - validation_error_uknown_key: "Chave desconhecida:" - yaml_error: "Erro YAML:" - help_link_rows_format: "Formatação das linhas" - export_config_per_page: "Por página" - export_config_page_size: "Tamanho da página" - export_config_orientation: "Orientação" - export_config_rows: "Linhas" - activerecord: - attributes: - export_card_configuration: - rows: "Linhas" - per_page: "Por página" - page_size: "Tamanho da página" - orientation: "Orientação" diff --git a/modules/pdf_export/config/locales/pt-PT.yml b/modules/pdf_export/config/locales/pt-PT.yml deleted file mode 100644 index bc62d1ca5c9e..000000000000 --- a/modules/pdf_export/config/locales/pt-PT.yml +++ /dev/null @@ -1,30 +0,0 @@ -pt: - error_can_not_delete_export_card_configuration: "Esta configuração não pode ser apagada." - error_can_not_change_name_of_default_configuration: "O nome da configuração padrão não pode ser alterado." - label_backlogs_export_card_config_select: "Selecione exportar configuração de cartão" - label_backlogs_export_card_export: "Exportar" - label_export_card_configuration_new: "Nova exportação de configuração de cartão" - label_export_card_configuration: "Exportar configuração de cartão" - label_export_card_configuration_plural: "Exportar configurações de cartão" - label_export_card_activate: "Ativar" - label_export_card_deactivate: "Desativar" - notice_export_card_configuration_activated: "Configuração ativada com sucesso" - notice_export_card_configuration_deactivated: "Configuração desativada com sucesso" - error_can_not_activate_export_card_configuration: "Esta configuração não pode ser ativada" - error_can_not_deactivate_export_card_configuration: "Esta configuração não pode ser desativada" - validation_error_required_keys_not_present: "A(s) chave(s) necessárias não estão presentes:" - validation_error_yaml_is_badly_formed: "não tem nenhum formato YAML válido." - validation_error_uknown_key: "Chave desconhecida:" - yaml_error: "Erro YAML:" - help_link_rows_format: "Formatação de linhas" - export_config_per_page: "Por página" - export_config_page_size: "Tamanho da página" - export_config_orientation: "Orientação" - export_config_rows: "Linhas" - activerecord: - attributes: - export_card_configuration: - rows: "Linhas" - per_page: "Por página" - page_size: "Tamanho da página" - orientation: "Orientação" diff --git a/modules/pdf_export/config/locales/ru.yml b/modules/pdf_export/config/locales/ru.yml deleted file mode 100644 index f6c798c694da..000000000000 --- a/modules/pdf_export/config/locales/ru.yml +++ /dev/null @@ -1,30 +0,0 @@ -ru: - error_can_not_delete_export_card_configuration: "Невозможно удалить эту конфигурацию." - error_can_not_change_name_of_default_configuration: "Имя конфигурации по умолчанию не может быть изменено." - label_backlogs_export_card_config_select: "Выберите экспорт карты конфигурации" - label_backlogs_export_card_export: "Экспорт" - label_export_card_configuration_new: "Новый экспорт карт конфигурации" - label_export_card_configuration: "Экспорт карты конфигурации" - label_export_card_configuration_plural: "Экспорт карт конфигураций" - label_export_card_activate: "Активировать" - label_export_card_deactivate: "Деактивировать" - notice_export_card_configuration_activated: "Конфигурация успешно активирована" - notice_export_card_configuration_deactivated: "Конфигурация успешно деактивирована" - error_can_not_activate_export_card_configuration: "Эта конфигурация не может быть активирована" - error_can_not_deactivate_export_card_configuration: "Эта конфигурация не может быть деактивирована" - validation_error_required_keys_not_present: "Требуемые ключи не предъявлены:" - validation_error_yaml_is_badly_formed: "имеет не действительный формат YAML." - validation_error_uknown_key: "Неизвестный ключ:" - yaml_error: "Ошибка YAML:" - help_link_rows_format: "Форматирование строк" - export_config_per_page: "Постранично" - export_config_page_size: "Размер страницы" - export_config_orientation: "Ориентация" - export_config_rows: "Строк" - activerecord: - attributes: - export_card_configuration: - rows: "Строк" - per_page: "Постранично" - page_size: "Размер страницы" - orientation: "Ориентация" diff --git a/modules/pdf_export/config/locales/sk.yml b/modules/pdf_export/config/locales/sk.yml deleted file mode 100644 index 11472b80555c..000000000000 --- a/modules/pdf_export/config/locales/sk.yml +++ /dev/null @@ -1,30 +0,0 @@ -sk: - error_can_not_delete_export_card_configuration: "Táto konfigurácia nemôže byť odstránená." - error_can_not_change_name_of_default_configuration: "Názov predvolenej konfigurácie nie je možné zmeniť." - label_backlogs_export_card_config_select: "Zvoľte Konfiguráciu export karty" - label_backlogs_export_card_export: "Exportovať" - label_export_card_configuration_new: "Nová konfigurácia export karty" - label_export_card_configuration: "Konfigurácia export karty" - label_export_card_configuration_plural: "Konfigurácie export karty" - label_export_card_activate: "Aktivovať" - label_export_card_deactivate: "Deaktivovať" - notice_export_card_configuration_activated: "Konfigurácia úspešne aktivovaná" - notice_export_card_configuration_deactivated: "Konfigurácia úspešne deaktivovaná" - error_can_not_activate_export_card_configuration: "Túto konfiguráciu nie je možné aktivovať" - error_can_not_deactivate_export_card_configuration: "Túto konfiguráciu nie je možné deaktivovať" - validation_error_required_keys_not_present: "Požadovaný kľúč (kľúče) nenájdené:" - validation_error_yaml_is_badly_formed: "obsahuje neplatné YAML formátovanie." - validation_error_uknown_key: "Neznámy kľúč:" - yaml_error: "YAML chyba:" - help_link_rows_format: "Formátovanie riadkov" - export_config_per_page: "Na stránku" - export_config_page_size: "Veľkosť stránky" - export_config_orientation: "Orientácia" - export_config_rows: "Riadky" - activerecord: - attributes: - export_card_configuration: - rows: "Riadky" - per_page: "Na stránku" - page_size: "Veľkosť stránky" - orientation: "Orientácia" diff --git a/modules/pdf_export/config/locales/sv-SE.yml b/modules/pdf_export/config/locales/sv-SE.yml deleted file mode 100644 index 7c2c94244d4a..000000000000 --- a/modules/pdf_export/config/locales/sv-SE.yml +++ /dev/null @@ -1,30 +0,0 @@ -sv: - error_can_not_delete_export_card_configuration: "Denna konfiguration kan inte tas bort." - error_can_not_change_name_of_default_configuration: "Namnet på standardkonfigurationen kan inte ändras." - label_backlogs_export_card_config_select: "Välj Export-kort konfiguration" - label_backlogs_export_card_export: "Exportera" - label_export_card_configuration_new: "Ny Export-kort konfiguration" - label_export_card_configuration: "Export-kort konfiguration" - label_export_card_configuration_plural: "Export-kort konfigurationer" - label_export_card_activate: "Aktivera" - label_export_card_deactivate: "De-aktivera" - notice_export_card_configuration_activated: "Konfigurationen aktiverad" - notice_export_card_configuration_deactivated: "Konfigurationen deaktiverad" - error_can_not_activate_export_card_configuration: "Denna konfiguration kan inte aktiveras" - error_can_not_deactivate_export_card_configuration: "Denna konfiguration kan inte deaktiveras" - validation_error_required_keys_not_present: "Krävda nycklar är inte tillgängliga:" - validation_error_yaml_is_badly_formed: "has no valid YAML format." - validation_error_uknown_key: "Okänd nyckel:" - yaml_error: "YAML fel:" - help_link_rows_format: "Radformatering" - export_config_per_page: "Per sida" - export_config_page_size: "Sidstorlek" - export_config_orientation: "Orientering" - export_config_rows: "Rader" - activerecord: - attributes: - export_card_configuration: - rows: "Rader" - per_page: "Per sida" - page_size: "Sidstorlek" - orientation: "Orientering" diff --git a/modules/pdf_export/config/locales/zh-CN.yml b/modules/pdf_export/config/locales/zh-CN.yml deleted file mode 100644 index 54c0f425eb53..000000000000 --- a/modules/pdf_export/config/locales/zh-CN.yml +++ /dev/null @@ -1,30 +0,0 @@ -zh-CN: - error_can_not_delete_export_card_configuration: "无法删除此配置。" - error_can_not_change_name_of_default_configuration: "无法更改默认配置的名称。" - label_backlogs_export_card_config_select: "选择导出卡片配置" - label_backlogs_export_card_export: "导出" - label_export_card_configuration_new: "新导出卡片配置" - label_export_card_configuration: "导出卡片配置" - label_export_card_configuration_plural: "导出卡片配置" - label_export_card_activate: "激活" - label_export_card_deactivate: "取消激活" - notice_export_card_configuration_activated: "配置成功激活" - notice_export_card_configuration_deactivated: "配置成功取消激活" - error_can_not_activate_export_card_configuration: "无法激活此配置" - error_can_not_deactivate_export_card_configuration: "无法取消激活此配置" - validation_error_required_keys_not_present: "所需的密钥不存在:" - validation_error_yaml_is_badly_formed: "无有效的 YAML 格式。" - validation_error_uknown_key: "未知的密钥:" - yaml_error: "YAML 错误:" - help_link_rows_format: "行格式" - export_config_per_page: "每页" - export_config_page_size: "页面大小" - export_config_orientation: "页面方向" - export_config_rows: "行" - activerecord: - attributes: - export_card_configuration: - rows: "行" - per_page: "每页" - page_size: "页面大小" - orientation: "页面方向" diff --git a/modules/pdf_export/config/locales/zh-TW.yml b/modules/pdf_export/config/locales/zh-TW.yml deleted file mode 100644 index 54324aec36b9..000000000000 --- a/modules/pdf_export/config/locales/zh-TW.yml +++ /dev/null @@ -1,30 +0,0 @@ -zh-TW: - error_can_not_delete_export_card_configuration: "不能刪除設定。" - error_can_not_change_name_of_default_configuration: "預設設定的名稱不能更改。" - label_backlogs_export_card_config_select: "選擇匯出卡設置" - label_backlogs_export_card_export: "匯出" - label_export_card_configuration_new: "新匯出卡設定" - label_export_card_configuration: "匯出卡設定" - label_export_card_configuration_plural: "匯出卡設定" - label_export_card_activate: "啟動" - label_export_card_deactivate: "關閉" - notice_export_card_configuration_activated: "設定成功啟動" - notice_export_card_configuration_deactivated: "設定成功關閉" - error_can_not_activate_export_card_configuration: "設定不能啟動" - error_can_not_deactivate_export_card_configuration: "設定不能關閉" - validation_error_required_keys_not_present: "所需的鍵不存在 ︰" - validation_error_yaml_is_badly_formed: "有無效的 YAML 格式。" - validation_error_uknown_key: "未知鍵:" - yaml_error: "YAML 錯誤 ︰" - help_link_rows_format: "行格式" - export_config_per_page: "每頁" - export_config_page_size: "頁面大小" - export_config_orientation: "頁面方向" - export_config_rows: "行" - activerecord: - attributes: - export_card_configuration: - rows: "行" - per_page: "每頁" - page_size: "頁面大小" - orientation: "頁面方向" diff --git a/modules/pdf_export/config/routes.rb b/modules/pdf_export/config/routes.rb deleted file mode 100644 index b515b27e3f9b..000000000000 --- a/modules/pdf_export/config/routes.rb +++ /dev/null @@ -1,36 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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. -#++ - -OpenProject::Application.routes.draw do - scope "", as: "pdf_export" do - resources :export_card_configurations, controller: :export_card_configurations do - post 'activate', on: :member - post 'deactivate', on: :member - end - end -end diff --git a/modules/pdf_export/db/migrate/20140113132617_create_export_card_configuration.rb b/modules/pdf_export/db/migrate/20140113132617_create_export_card_configuration.rb deleted file mode 100644 index c0adea0002ff..000000000000 --- a/modules/pdf_export/db/migrate/20140113132617_create_export_card_configuration.rb +++ /dev/null @@ -1,39 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 CreateExportCardConfiguration < ActiveRecord::Migration[5.0] - def change - create_table :export_card_configurations do |t| - t.string :name - t.integer :per_page - t.string :page_size - t.string :orientation - t.text :rows - end - end -end diff --git a/modules/pdf_export/db/migrate/20140129103924_add_active_to_export_card_configurations.rb b/modules/pdf_export/db/migrate/20140129103924_add_active_to_export_card_configurations.rb deleted file mode 100644 index 259f47aaa899..000000000000 --- a/modules/pdf_export/db/migrate/20140129103924_add_active_to_export_card_configurations.rb +++ /dev/null @@ -1,33 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 AddActiveToExportCardConfigurations < ActiveRecord::Migration[5.0] - def change - add_column :export_card_configurations, :active, :boolean, default: true - end -end diff --git a/modules/pdf_export/db/migrate/20140207134248_add_description_to_export_card_configurations.rb b/modules/pdf_export/db/migrate/20140207134248_add_description_to_export_card_configurations.rb deleted file mode 100644 index 3d4f26482da0..000000000000 --- a/modules/pdf_export/db/migrate/20140207134248_add_description_to_export_card_configurations.rb +++ /dev/null @@ -1,33 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 AddDescriptionToExportCardConfigurations < ActiveRecord::Migration[5.0] - def change - add_column :export_card_configurations, :description, :text - end -end diff --git a/modules/pdf_export/db/seeds/export_card_configurations.rb b/modules/pdf_export/db/seeds/export_card_configurations.rb deleted file mode 100644 index ff91edded708..000000000000 --- a/modules/pdf_export/db/seeds/export_card_configurations.rb +++ /dev/null @@ -1,35 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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. -#++ - -if ExportCardConfiguration.find_by_identifier("default").nil? - ExportCardConfiguration.create({ name: "Default", - per_page: 2, - page_size: "A4", - orientation: "landscape", - rows: "rows:\n row1:\n has_border: false\n columns:\n id:\n has_label: false\n font_size: 20\n font_style: bold\n priority: 1\n minimum_lines: 2\n render_if_empty: false\n width: 30%\n due_date:\n has_label: false\n font_size: 15\n font_style: italic\n priority: 1\n minimum_lines: 2\n render_if_empty: false\n width: 70%\n row2:\n has_border: false\n columns:\n description:\n has_label: false\n font_size: 15\n font_style: normal\n priority: 4\n minimum_lines: 5\n render_if_empty: false\n width: 100%\n" }) -end diff --git a/modules/pdf_export/lib/open_project/pdf_export.rb b/modules/pdf_export/lib/open_project/pdf_export.rb deleted file mode 100644 index 034bdb4afe55..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export.rb +++ /dev/null @@ -1,33 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 PDFExport - require "open_project/pdf_export/engine" - end -end diff --git a/modules/pdf_export/lib/open_project/pdf_export/engine.rb b/modules/pdf_export/lib/open_project/pdf_export/engine.rb deleted file mode 100644 index 699fb52f7839..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export/engine.rb +++ /dev/null @@ -1,47 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 'open_project/plugins' - -module OpenProject::PDFExport - class Engine < ::Rails::Engine - engine_name :openproject_pdf_export - - include OpenProject::Plugins::ActsAsOpEngine - - register 'openproject-pdf_export', - author_url: 'https://www.openproject.org', - bundled: true do - menu :admin_menu, - :export_card_configurations, - { controller: '/export_card_configurations', action: 'index' }, - caption: :label_export_card_configuration_plural, - parent: :admin_backlogs - end - end -end diff --git a/modules/pdf_export/lib/open_project/pdf_export/exceptions.rb b/modules/pdf_export/lib/open_project/pdf_export/exceptions.rb deleted file mode 100644 index e22e542da929..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export/exceptions.rb +++ /dev/null @@ -1,32 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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::PDFExport::Exceptions - class BadlyFormedExportCardConfigurationError < StandardError - end -end diff --git a/modules/pdf_export/lib/open_project/pdf_export/export_card/card_element.rb b/modules/pdf_export/lib/open_project/pdf_export/export_card/card_element.rb deleted file mode 100644 index 92df1df0c9bb..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export/export_card/card_element.rb +++ /dev/null @@ -1,161 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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::PDFExport::ExportCard - class CardElement - include OpenProject::PDFExport::Exceptions - - def initialize(pdf, orientation, groups_config, work_package) - @pdf = pdf - @orientation = orientation - @groups_config = groups_config - @work_package = work_package - @group_elements = [] - - # Simpler to remove empty rows before calculating the row sizes - RowElement.prune_empty_groups(@groups_config, work_package) - - # NEW - all_heights = assign_all_heights_new(@groups_config) - reduce_rows(all_heights) - - text_padding = @orientation[:text_padding] - group_padding = @orientation[:group_padding] - current_row = 0 - current_y_offset = text_padding - - # Initialize groups - @groups_config.each_with_index do |(_g_key, g_value), i| - row_count = g_value["rows"].count - row_heights = all_heights[:row_heights].select { |row| row[:group] == i }.pluck(:height) - group_height = all_heights[:group_heights][i] - group_orientation = { - y_offset: @orientation[:height] - current_y_offset, - x_offset: 0, - width: @orientation[:width], - height: group_height, - row_heights:, - text_padding:, - group_padding: - } - @group_elements << GroupElement.new(@pdf, group_orientation, g_value, @work_package) - - current_y_offset += group_height - current_row += row_count - end - end - - def assign_all_heights_new(groups) - available = @orientation[:height] - (@orientation[:group_padding] * 2) - group_heights = Array.new - row_heights = Array.new - - groups.each_with_index do |(_gk, gv), i| - enforced_group_height = gv["height"] || -1 - used_group_height = 0 - - gv["rows"].each do |_rk, rv| - # The + 1 on the height is needed as prawn does not seem to render - # when the string to render has the same size as the row height. - if rv["height"] - used_group_height += rv["height"] + 1 - row_heights << { height: rv["height"] + 1, group: i, priority: rv["priority"] || 10 } - else - used_group_height += min_row_height(rv) + 1 - row_heights << { height: min_row_height(rv) + 1, group: i, priority: rv["priority"] || 10 } - end - end - - group_heights << [used_group_height, enforced_group_height].max - end - - { group_heights:, row_heights: } - end - - def reduce_rows(heights) - available = @orientation[:height] - (@orientation[:group_padding] * 2) - diff = available - heights[:group_heights].sum - return false if diff >= 0 - - diff *= -1 - - rows = heights[:row_heights] - groups = heights[:group_heights] - - priorities = *(0..rows.count - 1) - .zip(rows.map { |row| row[:priority] or 10 }) - .sort { |x, y| y[1] <=> x[1] } - .map { |x| x[0] } - - priorities.each do |p| - to_reduce = rows[p] - if to_reduce[:height] >= diff - to_reduce[:height] -= diff - groups[to_reduce[:group]] -= diff - break - else - diff -= to_reduce[:height] - groups[to_reduce[:group]] -= to_reduce[:height] - to_reduce[:height] = 0 - end - end - - heights - end - - def min_row_height(row) - return row["enforced_group_height"] if row["enforced_group_height"] - - # Look through each of the row's columns for the column with the largest minimum height - largest = 0 - row["columns"].each do |_rk, rv| - min_lines = rv["minimum_lines"] || 1 - font_size = rv["min_font_size"] || rv["font_size"] || 10 - min_col_height = (@pdf.font.height_at(font_size) * min_lines).floor - largest = min_col_height if min_col_height > largest - end - largest - end - - def draw - top_left = [@orientation[:x_offset], @orientation[:y_offset]] - bounds = @orientation.slice(:width, :height) - - @pdf.bounding_box(top_left, bounds) do - @pdf.stroke_color '000000' - - # Draw rows - @group_elements.each do |group| - group.draw - end - - @pdf.stroke_bounds - end - end - end -end diff --git a/modules/pdf_export/lib/open_project/pdf_export/export_card/column_element.rb b/modules/pdf_export/lib/open_project/pdf_export/export_card/column_element.rb deleted file mode 100644 index 82146fc85947..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export/export_card/column_element.rb +++ /dev/null @@ -1,202 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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::PDFExport::ExportCard - class ColumnElement - def initialize(pdf, property_name, config, orientation, work_package) - @pdf = pdf - @property_name = property_name - @config = config - @orientation = orientation - @work_package = work_package - end - - def draw - # Get value from model - value = if @work_package.respond_to?(@property_name) - extract_property - else - extract_custom_field - end - - draw_value(value) - end - - private - - def extract_property - value = @work_package.send(@property_name) - - case @property_name.to_s - when 'children' - return value.to_a - end - - value - end - - def extract_custom_field - # Look in Custom Fields - custom_value = @work_package.custom_field_values.find do |cf| - cf.custom_field.name == @property_name - end - return "" unless custom_value - - @custom_field = custom_value.custom_field - @work_package.send(@custom_field.attribute_name) - end - - def label_text(value) - return "" unless @has_label - - label_text = - if @config['custom_label'] - @config['custom_label'].to_s - elsif @custom_field - @custom_field.name - else - WorkPackage.human_attribute_name(@property_name) - end - if @config['has_count'] && value.is_a?(Array) - label_text = "#{label_text} (#{value.count})" - end - - "#{label_text}: " - end - - def abbreviated_text(text, options) - options = options.merge!({ document: @pdf }) - text_box = Prawn::Text::Box.new(text, options) - left_over = text_box.render(dry_run: true) - - # Be sure to do length arithmetics on chars, not bytes! - left_over = left_over.mb_chars - text = text.to_s.mb_chars - - text = left_over.size > 0 ? text[0...-(left_over.size + 5)] + "[...]" : text - text.to_s - rescue Prawn::Errors::CannotFit - '' - end - - def draw_value(value) - # Font size - if @config['font_size'] - # Specific size given - overflow = :truncate - font_size = Integer(@config['font_size']) - - elsif @config['min_font_size'] - # Range given - overflow = :shrink_to_fit - min_font_size = Integer(@config['min_font_size']) - font_size = if @config['max_font_size'] - Integer(@config['max_font_size']) - else - min_font_size - end - else - # Default - font_size = 12 - overflow = :truncate - end - - font_style = (@config['font_style'] or "normal").to_sym - text_align = (@config['text_align'] or "left").to_sym - - # Label and text - @has_label = @config['has_label'] - indented = @config['indented'] - - # Flatten value to a display string - display_value = value - display_value = display_value.map { |c| c.to_s }.join("\n") if display_value.is_a?(Array) - display_value = display_value.to_s if !display_value.is_a?(String) - - if @has_label && indented - width_ratio = 0.2 # Note: I don't think it's worth having this in the config - - # Label Textbox - offset = [@orientation[:x_offset], @orientation[:height] - (@orientation[:text_padding] / 2)] - box = @pdf.text_box(label_text(value), - { height: @orientation[:height], - width: @orientation[:width] * width_ratio, - at: offset, - style: :bold, - overflow:, - size: font_size, - min_font_size:, - align: :left }) - - # Get abbraviated text - options = { height: @orientation[:height], - width: @orientation[:width] * (1 - width_ratio), - at: offset, - style: font_style, - overflow:, - size: font_size, - min_font_size:, - align: text_align } - text = abbreviated_text(display_value, options) - offset = [@orientation[:x_offset] + (@orientation[:width] * width_ratio), - @orientation[:height] - (@orientation[:text_padding] / 2)] - - # Content Textbox - box = @pdf.text_box(text, { height: @orientation[:height], - width: @orientation[:width] * (1 - width_ratio), - at: offset, - style: font_style, - overflow:, - size: font_size, - min_font_size:, - align: text_align }) - else - options = { height: @orientation[:height], - width: @orientation[:width], - at: offset, - style: font_style, - overflow:, - min_font_size:, - align: text_align } - - text = abbreviated_text(display_value, options) - texts = [{ text: label_text(value), styles: [:bold], size: font_size }, { text:, size: font_size }] - - # Label and Content Textbox - offset = [@orientation[:x_offset], @orientation[:height] - (@orientation[:text_padding] / 2)] - box = @pdf.formatted_text_box(texts, { height: @orientation[:height], - width: @orientation[:width], - at: offset, - style: font_style, - overflow:, - min_font_size:, - align: text_align }) - end - end - end -end diff --git a/modules/pdf_export/lib/open_project/pdf_export/export_card/document_generator.rb b/modules/pdf_export/lib/open_project/pdf_export/export_card/document_generator.rb deleted file mode 100644 index 4b97b080c060..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export/export_card/document_generator.rb +++ /dev/null @@ -1,107 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 'prawn' - -module OpenProject::PDFExport::ExportCard - require "open_project/pdf_export/export_card/model_display/work_package_display" - class DocumentGenerator - attr_reader :config, :work_packages, :pdf, :current_position, :paper_width, :paper_height - - def initialize(config, work_packages) - patch_models - - defaults = { page_size: "A4" } - - @config = config - @work_packages = work_packages - - page_layout = config.landscape? ? :landscape : :portrait - page_size = config.page_size or defaults[:page_size] - - @pdf = Prawn::Document.new( - page_layout:, - left_margin: 0, - right_margin: 0, - top_margin: 0, - bottom_margin: 0, - page_size: - ) - - view = ::WorkPackage::PDFExport::View.new(I18n.locale) - view.register_fonts! @pdf - @pdf.set_font @pdf.font('NotoSans') - - @paper_width = @pdf.bounds.width - @paper_height = @pdf.bounds.height - end - - def render - render_pages - pdf.render - end - - def render_pages - card_padding = 10 - group_padding = 5 - text_padding = 5 - card_width = pdf.bounds.width - (card_padding * 2) - card_height = ((pdf.bounds.height - (card_padding * config.per_page)) / config.per_page) - (card_padding / config.per_page) - card_y_offset = pdf.bounds.height - card_padding - - @work_packages.each_with_index do |wp, i| - orientation = { - y_offset: card_y_offset, - x_offset: card_padding, - width: card_width.floor, - height: card_height.floor, - card_padding:, - group_padding:, - text_padding: - } - - card_element = CardElement.new(pdf, orientation, config.rows_hash, wp) - if i > 0 && i % config.per_page == 0 - pdf.start_new_page - end - card_element.draw - - if (i + 1) % config.per_page == 0 - card_y_offset = pdf.bounds.height - card_padding - else - card_y_offset -= (card_height + card_padding) - end - end - end - - def patch_models - # Note: Can't seem to patch the models when initializing for reasons which I don't understand - WorkPackage.include OpenProject::PDFExport::ExportCard::ModelDisplay::WorkPackageDisplay - end - end -end diff --git a/modules/pdf_export/lib/open_project/pdf_export/export_card/group_element.rb b/modules/pdf_export/lib/open_project/pdf_export/export_card/group_element.rb deleted file mode 100644 index c46fb6915420..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export/export_card/group_element.rb +++ /dev/null @@ -1,78 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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::PDFExport::ExportCard - class GroupElement - include OpenProject::PDFExport::Exceptions - - def initialize(pdf, orientation, config, work_package) - @pdf = pdf - @orientation = orientation - @config = config - @rows_config = config["rows"] - @work_package = work_package - @row_elements = [] - - current_y_offset = 0 - row_heights = @orientation[:row_heights] - - @rows_config.each_with_index do |(_r_key, r_value), i| - current_y_offset += (row_heights[i - 1]) if i > 0 - row_orientation = { - y_offset: @orientation[:height] - current_y_offset, - x_offset: 0, - width: @orientation[:width] - (@orientation[:group_padding] * 2), - height: row_heights[i], - text_padding: @orientation[:text_padding] - } - - @row_elements << RowElement.new(@pdf, row_orientation, r_value, @work_package) - end - end - - def draw - padding = @orientation[:group_padding] - top_left = [@orientation[:x_offset] + padding, @orientation[:y_offset]] - bounds = @orientation.slice(:width, :height) - bounds[:width] -= padding * 2 - - @pdf.bounding_box(top_left, bounds) do - @pdf.stroke_color '000000' - - # Draw rows - @row_elements.each do |row| - row.draw - end - - if @config["has_border"] or false - @pdf.stroke_bounds - end - end - end - end -end diff --git a/modules/pdf_export/lib/open_project/pdf_export/export_card/model_display/work_package_display.rb b/modules/pdf_export/lib/open_project/pdf_export/export_card/model_display/work_package_display.rb deleted file mode 100644 index 35803ee23838..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export/export_card/model_display/work_package_display.rb +++ /dev/null @@ -1,7 +0,0 @@ -module OpenProject::PDFExport::ExportCard::ModelDisplay - module WorkPackageDisplay - def display_id - "#{kind.is_standard ? '' : kind.name.to_s} ##{id}" - end - end -end diff --git a/modules/pdf_export/lib/open_project/pdf_export/export_card/row_element.rb b/modules/pdf_export/lib/open_project/pdf_export/export_card/row_element.rb deleted file mode 100644 index 71d464614693..000000000000 --- a/modules/pdf_export/lib/open_project/pdf_export/export_card/row_element.rb +++ /dev/null @@ -1,130 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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::PDFExport::ExportCard - class RowElement - include OpenProject::PDFExport::Exceptions - - def initialize(pdf, orientation, config, work_package) - @pdf = pdf - @orientation = orientation - @config = config - @columns_config = config["columns"] - @work_package = work_package - @column_elements = [] - - raise BadlyFormedExportCardConfigurationError.new("Badly formed YAML") if @columns_config.nil? - - # Initialise column elements - x_offset = 0 - padding = @orientation[:text_padding] - - @columns_config.each do |key, value| - width = col_width(value) - padding - column_orientation = @orientation.clone - column_orientation[:x_offset] = x_offset + padding - column_orientation[:width] = width - padding - x_offset += width + padding - - @column_elements << ColumnElement.new(@pdf, key, value, column_orientation, @work_package) - end - end - - def col_width(col_config) - cols_count = @columns_config.count - w = col_config["width"] - return @orientation[:width] / cols_count if w.nil? - - i = w.index("%") or w.length - Float(w.slice(0, i)) / 100 * @orientation[:width] - end - - def draw - top_left = [@orientation[:x_offset], @orientation[:y_offset]] - bounds = @orientation.slice(:width, :height) - @pdf.bounding_box(top_left, bounds) do - if @config["has_border"] - @pdf.stroke_bounds - end - - # Draw columns - @column_elements.each do |c| - c.draw - end - end - end - - def self.prune_empty_groups(groups, wp) - # Prune rows in groups - groups.each do |_gk, gv| - prune_empty_rows(gv["rows"], wp) - end - - # Prune empty groups - groups.each do |gk, gv| - if gv["rows"].count == 0 - groups.delete(gk) - end - end - end - - def self.prune_empty_rows(rows, wp) - rows.each do |rk, rv| - # TODO RS: This is still only checking the first column, need to check all - ck, cv = rv["columns"].first - if !is_existing_column?(ck, wp) || is_empty_column(ck, cv, wp) - rows.delete(rk) - end - end - end - - def self.is_empty_column(property_name, column, wp) - value = if wp.respond_to?(property_name) - wp.send(property_name) - elsif (field = custom_field(property_name, wp)) && !!field - field.value - else - "" - end - - !column["render_if_empty"] && value.to_s.empty? - end - - def self.is_existing_column?(property_name, wp) - wp.respond_to?(property_name) || is_existing_custom_field?(property_name, wp) - end - - def self.is_existing_custom_field?(property_name, wp) - !!custom_field(property_name, wp) - end - - def self.custom_field(property_name, work_package) - work_package.custom_field_values.find { |cf| cf.custom_field.name == property_name } - end - end -end diff --git a/modules/pdf_export/lib/openproject-pdf_export.rb b/modules/pdf_export/lib/openproject-pdf_export.rb deleted file mode 100644 index 1594f59803f7..000000000000 --- a/modules/pdf_export/lib/openproject-pdf_export.rb +++ /dev/null @@ -1,29 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 'open_project/pdf_export' diff --git a/modules/pdf_export/openproject-pdf_export.gemspec b/modules/pdf_export/openproject-pdf_export.gemspec deleted file mode 100644 index 35d4a37a394a..000000000000 --- a/modules/pdf_export/openproject-pdf_export.gemspec +++ /dev/null @@ -1,15 +0,0 @@ -Gem::Specification.new do |s| - s.name = "openproject-pdf_export" - s.version = '1.0.0' - s.authors = "OpenProject GmbH" - s.email = "info@openproject.com" - s.summary = 'OpenProject PDF Export' - s.description = "PDF Export Plugin" - s.license = "GPLv3" - - s.files = Dir["{app,config,db,lib,doc}/**/*", "README.md"] - - s.add_dependency "pdf-inspector", "~> 1.3.0" - s.add_dependency "prawn", "~> 2.2" - s.metadata['rubygems_mfa_required'] = 'true' -end diff --git a/modules/pdf_export/spec/controllers/export_card_configurations_controller_spec.rb b/modules/pdf_export/spec/controllers/export_card_configurations_controller_spec.rb deleted file mode 100644 index 04074b79508c..000000000000 --- a/modules/pdf_export/spec/controllers/export_card_configurations_controller_spec.rb +++ /dev/null @@ -1,179 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 File.dirname(__FILE__) + '/../shared_examples' - -RSpec.describe ExportCardConfigurationsController do - before do - allow(@controller).to receive(:require_admin).and_return(true) - - @default_config = create(:default_export_card_configuration) - @custom_config = create(:export_card_configuration) - @active_config = create(:active_export_card_configuration) - @inactive_config = create(:inactive_export_card_configuration) - @params = {} - @valid_rows_yaml = "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n has_label: false" - @invalid_rows_yaml = "group1:\n invalid_property: true" - @invalid_property_value_format = "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n font_size: sd\n" - end - - describe 'Create' do - context 'with all the values set' do - it_behaves_like "should let you create a configuration" do - let(:params) do - { export_card_configuration: { name: "Config 1", - description: "This is a description", - rows: @valid_rows_yaml, - per_page: 5, - page_size: "A4", - orientation: "landscape" } } - end - end - end - - context 'with missing data' do - it_behaves_like "should not let you create a configuration" do - let(:params) { { export_card_configuration: { name: "Config 1" } } } - end - end - - context 'with invalid data' do - it_behaves_like "should not let you create a configuration" do - let(:params) do - { export_card_configuration: { name: "Config 1", - rows: @invalid_rows_yaml, - per_page: 0, - page_size: "invalid", - orientation: "invalid" } } - end - end - end - - context 'with invalid data format' do - it_behaves_like "should not let you create a configuration" do - let(:params) do - { export_card_configuration: { name: "Config 1", - rows: @invalid_property_value_format, - per_page: 1, - page_size: "A4", - orientation: "landscape" } } - end - end - end - end - - describe 'Update' do - it 'lets you update a configuration' do - @params[:id] = @custom_config.id - @params[:export_card_configuration] = { per_page: 4 } - put 'update', params: @params - - expect(response).to redirect_to action: 'index' - expect(flash[:notice]).to eql(I18n.t(:notice_successful_update)) - end - - it 'does not let you update a configuration with invalid per_page' do - @params[:id] = @custom_config.id - @params[:export_card_configuration] = { per_page: 0 } - put 'update', params: @params - - expect(response).to render_template('edit') - end - - it 'does not let you update a configuration with invalid page_size' do - @params[:id] = @custom_config.id - @params[:export_card_configuration] = { page_size: "invalid" } - put 'update', params: @params - - expect(response).to render_template('edit') - end - - it 'does not let you update a configuration with invalid orientation' do - @params[:id] = @custom_config.id - @params[:export_card_configuration] = { orientation: "invalid" } - put 'update', params: @params - - expect(response).to render_template('edit') - end - - it 'does not let you update a configuration with invalid rows yaml' do - @params[:id] = @custom_config.id - @params[:export_card_configuration] = { rows: "asdf ',#\"" } - put 'update', params: @params - - expect(response).to render_template('edit') - end - end - - describe 'Delete' do - it 'lets you delete a custom configuration' do - @params[:id] = @custom_config.id - delete 'destroy', params: @params - - expect(response).to redirect_to action: 'index' - expect(flash[:notice]).to eql(I18n.t(:notice_successful_delete)) - end - - it 'does not let you delete the default configuration' do - @params[:id] = @default_config.id - delete 'destroy', params: @params - - expect(response).to redirect_to action: 'index' - expect(flash[:notice]).to eql(I18n.t(:error_can_not_delete_export_card_configuration)) - end - end - - describe 'Activate' do - it 'lets you activate an inactive configuration' do - @params[:id] = @inactive_config.id - post 'activate', params: @params - - expect(response).to redirect_to action: 'index' - expect(flash[:notice]).to eql(I18n.t(:notice_export_card_configuration_activated)) - end - end - - describe "Deactivate" do - it 'lets you de-activate an active configuration' do - @params[:id] = @active_config.id - post 'deactivate', params: @params - - expect(response).to redirect_to action: 'index' - expect(flash[:notice]).to eql(I18n.t(:notice_export_card_configuration_deactivated)) - end - - it 'does not let you de-activate the default configuration' do - @params[:id] = @default_config.id - post 'deactivate', params: @params - - expect(response).to redirect_to action: 'index' - expect(flash[:notice]).to eql(I18n.t(:error_can_not_deactivate_export_card_configuration)) - end - end -end diff --git a/modules/pdf_export/spec/export_card/document_generator_spec.rb b/modules/pdf_export/spec/export_card/document_generator_spec.rb deleted file mode 100644 index 771715368f3c..000000000000 --- a/modules/pdf_export/spec/export_card/document_generator_spec.rb +++ /dev/null @@ -1,96 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 File.expand_path(File.dirname(__FILE__) + '/../spec_helper') - -RSpec.describe OpenProject::PDFExport::ExportCard::DocumentGenerator do - let(:config) do - ExportCardConfiguration.new({ - name: "Default", - description: "This is a description", - per_page: 1, - page_size: "A4", - orientation: "landscape", - rows: "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n subject:\n has_label: false\n font_size: 15\n row2:\n height: 50\n priority: 1\n columns:\n non_existent:\n has_label: true\n font_size: 15\n render_if_empty: true" - }) - end - - let(:work_package1) do - WorkPackage.new({ - subject: "Work package 1", - description: "This is a description" - }) - end - - let(:work_package2) do - WorkPackage.new({ - subject: "Work package 2", - description: "This is work package 2" - }) - end - - describe "Single work package rendering" do - before do - work_packages = [work_package1] - @generator = OpenProject::PDFExport::ExportCard::DocumentGenerator.new(config, work_packages) - end - - it 'shows work package subject' do - text_analysis = PDF::Inspector::Text.analyze(@generator.render) - expect(text_analysis.strings.include?('Work package 1')).to be_truthy - end - - it 'does not show non existent field label' do - text_analysis = PDF::Inspector::Text.analyze(@generator.render) - expect(text_analysis.strings.include?('Non existent:')).to be_falsey - end - - it 'is 1 page' do - page_analysis = PDF::Inspector::Page.analyze(@generator.render) - expect(page_analysis.pages.size).to eq(1) - end - end - - describe "Multiple work package rendering" do - before do - work_packages = [work_package1, work_package2] - @generator = OpenProject::PDFExport::ExportCard::DocumentGenerator.new(config, work_packages) - end - - it 'shows work package subject' do - text = PDF::Inspector::Text.analyze(@generator.render) - expect(text.strings.include?('Work package 1')).to be_truthy - expect(text.strings.include?('Work package 2')).to be_truthy - end - - it 'is 2 pages' do - page_analysis = PDF::Inspector::Page.analyze(@generator.render) - expect(page_analysis.pages.size).to eq(2) - end - end -end diff --git a/modules/pdf_export/spec/factories/export_card_configuration_factory.rb b/modules/pdf_export/spec/factories/export_card_configuration_factory.rb deleted file mode 100644 index 70e809b5e1bd..000000000000 --- a/modules/pdf_export/spec/factories/export_card_configuration_factory.rb +++ /dev/null @@ -1,85 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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. -#++ - -FactoryBot.define do - factory :export_card_configuration do - name { "Config 1" } - description { "This is a description" } - rows do - "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n has_label: false" - end - per_page { 5 } - page_size { "A4" } - orientation { "landscape" } - end - - factory :default_export_card_configuration, class: 'ExportCardConfiguration' do - name { "Default" } - description { "This is a description" } - active { true } - rows do - "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n has_label: false" - end - per_page { 5 } - page_size { "A4" } - orientation { "landscape" } - end - - factory :invalid_export_card_configuration, class: 'ExportCardConfiguration' do - name { "Invalid" } - description { "This is a description" } - rows { "row1" } - per_page { "string" } - page_size { "asdf" } - orientation { "qwer" } - end - - factory :active_export_card_configuration, class: 'ExportCardConfiguration' do - name { "Config active" } - description { "This is a description" } - active { true } - rows do - "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n has_label: false" - end - per_page { 5 } - page_size { "A4" } - orientation { "landscape" } - end - - factory :inactive_export_card_configuration, class: 'ExportCardConfiguration' do - name { "Config inactive" } - description { "This is a description" } - active { false } - rows do - "group1:\n has_border: false\n rows:\n row1:\n height: 50\n priority: 1\n columns:\n id:\n has_label: false" - end - per_page { 5 } - page_size { "A4" } - orientation { "landscape" } - end -end diff --git a/modules/pdf_export/spec/features/export_card_configurations_admin_spec.rb b/modules/pdf_export/spec/features/export_card_configurations_admin_spec.rb deleted file mode 100644 index 1ad5d56d0d4b..000000000000 --- a/modules/pdf_export/spec/features/export_card_configurations_admin_spec.rb +++ /dev/null @@ -1,83 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 "export card configurations Admin", js: true do - let(:user) { create(:admin) } - - let!(:config1) { create(:export_card_configuration) } - let!(:config_default) { create(:default_export_card_configuration) } - let!(:config_active) { create(:active_export_card_configuration) } - - before do - login_as user - visit pdf_export_export_card_configurations_path - end - - it 'can manage export card configurations' do - # INDEX - expect(page).to have_text 'Config 1' - expect(page).to have_text 'Default ' - expect(page).to have_text 'Config active' - - # CREATE - click_on 'New Export Card Config' - SeleniumHubWaiter.wait - fill_in 'export_card_configuration_name', with: 'New config' - fill_in 'export_card_configuration_per_page', with: '5' - select 'landscape', from: 'export_card_configuration_orientation' - valid_yaml = "groups:\n rows:\n row1:\n columns:\n id:\n has_label: false" - fill_in 'export_card_configuration_rows', with: valid_yaml - click_on 'Create' - expect(page).to have_text 'Successful creation.' - - # EDIT - SeleniumHubWaiter.wait - page.first('a', text: 'Config 1').click - SeleniumHubWaiter.wait - fill_in 'export_card_configuration_name', with: 'New name' - fill_in 'export_card_configuration_per_page', with: '5' - select 'portrait', from: 'export_card_configuration_orientation' - fill_in 'export_card_configuration_rows', with: valid_yaml - click_on 'Save' - expect(page).to have_text 'Successful update.' - - expect(config1.reload.name).to eq 'New name' - expect(config1.reload).to be_portrait - - # DEACTIVATE - SeleniumHubWaiter.wait - page.first('a', text: 'De-activate').click - expect(page).to have_text 'Config successfully de-activated' - - # ACTIVATE - SeleniumHubWaiter.wait - page.first('a', text: 'Activate').click - expect(page).to have_text 'Config successfully activated' - end -end diff --git a/modules/pdf_export/spec/shared_examples.rb b/modules/pdf_export/spec/shared_examples.rb deleted file mode 100644 index 25b248c5cf2b..000000000000 --- a/modules/pdf_export/spec/shared_examples.rb +++ /dev/null @@ -1,17 +0,0 @@ -RSpec.shared_examples_for "should let you create a configuration" do - before do - post 'create', params: - end - - it { expect(response).to redirect_to action: 'index' } - it { expect(flash[:notice]).to eq(I18n.t(:notice_successful_create)) } -end - -RSpec.shared_examples_for "should not let you create a configuration" do - before do - post 'create', params: - end - - it { expect(response).to render_template('new') } - it { expect(assigns(:config).errors.messages).not_to be_empty } -end diff --git a/modules/pdf_export/spec/spec_helper.rb b/modules/pdf_export/spec/spec_helper.rb deleted file mode 100644 index 3639b8cccb75..000000000000 --- a/modules/pdf_export/spec/spec_helper.rb +++ /dev/null @@ -1,34 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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. -#++ - -# -- load spec_helper from OpenProject core -require "spec_helper" - -# load gem dependencies -require "prawn" -require "pdf/inspector" diff --git a/modules/pdf_export/spec/views/edit.html.erb_spec.rb b/modules/pdf_export/spec/views/edit.html.erb_spec.rb deleted file mode 100644 index df94eeea2795..000000000000 --- a/modules/pdf_export/spec/views/edit.html.erb_spec.rb +++ /dev/null @@ -1,49 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 'export_card_configurations/edit' do - let(:config) { build(:export_card_configuration) } - - before do - config.save - assign(:config, config) - end - - it 'shows edit export card configuration inputs' do - render - - expect(rendered).to have_field("Name", with: config.name) - expect(rendered).to have_field("Description", with: config.description) - expect(rendered).to have_field("Per page", with: config.per_page.to_s) - expect(rendered).to have_field("Page size", with: config.page_size) - expect(rendered).to have_field("Orientation", with: config.orientation) - expect(rendered).to have_field("Rows", with: config.rows) - end -end diff --git a/modules/pdf_export/spec/views/index.html.erb_spec.rb b/modules/pdf_export/spec/views/index.html.erb_spec.rb deleted file mode 100644 index 493e453fbfc8..000000000000 --- a/modules/pdf_export/spec/views/index.html.erb_spec.rb +++ /dev/null @@ -1,47 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 'export_card_configurations/index' do - let(:config1) { build(:export_card_configuration, name: "Config 1") } - let(:config2) { build(:export_card_configuration, name: "Config 2") } - - before do - config1.save - config2.save - assign(:configs, [config1, config2]) - end - - it 'shows export card configurations' do - render - - expect(rendered).to have_selector("a", text: config1.name) - expect(rendered).to have_selector("a", text: config2.name) - end -end diff --git a/modules/pdf_export/spec/views/new.html.erb_spec.rb b/modules/pdf_export/spec/views/new.html.erb_spec.rb deleted file mode 100644 index ac282714747c..000000000000 --- a/modules/pdf_export/spec/views/new.html.erb_spec.rb +++ /dev/null @@ -1,47 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 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 'export_card_configurations/new' do - let(:config) { build(:export_card_configuration) } - - before do - assign(:config, config) - end - - it 'shows new export card configuration empty inputs' do - render - - expect(rendered).to have_css("input#export_card_configuration_name") - expect(rendered).to have_css("input#export_card_configuration_per_page") - expect(rendered).to have_css("input#export_card_configuration_page_size") - expect(rendered).to have_css("select#export_card_configuration_orientation") - expect(rendered).to have_css("textarea#export_card_configuration_rows") - end -end diff --git a/nix/gemset.nix b/nix/gemset.nix index e54e3ca3c4d6..083761afe57b 100644 --- a/nix/gemset.nix +++ b/nix/gemset.nix @@ -2101,7 +2101,7 @@ version = "1.0.0"; }; openproject-backlogs = { - dependencies = ["acts_as_list" "openproject-pdf_export"]; + dependencies = ["acts_as_list"]; groups = ["opf_plugins"]; platforms = []; source = { @@ -2186,16 +2186,6 @@ }; version = "1.0.0"; }; - openproject-pdf_export = { - dependencies = ["pdf-inspector" "prawn"]; - groups = ["opf_plugins"]; - platforms = []; - source = { - path = ../modules/pdf_export; - type = "path"; - }; - version = "1.0.0"; - }; openproject-recaptcha = { dependencies = ["recaptcha"]; groups = ["opf_plugins"]; From 159ab50c53e9cd8b60802c3a133d23e96ed54513 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 17 Jul 2023 12:11:46 +0200 Subject: [PATCH 168/180] fix(migrations): remove deleted constant --- db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb b/db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb index 1b97e2b53f92..e2efd32242aa 100644 --- a/db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb +++ b/db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb @@ -68,7 +68,7 @@ class BigintPrimaryAndForeignKeys < ActiveRecord::Migration[7.0] EnabledModule => %i[id project_id], EnterpriseToken => [:id], Enumeration => %i[id project_id parent_id color_id], - ExportCardConfiguration => [:id], + :export_card_configurations => [:id], Forum => %i[id project_id last_message_id], Grids::Widget => [:grid_id], Grids::Grid => %i[user_id project_id], From 1b38ce41f32279d7550f7d80384dd1f66ccd1203 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 17 Jul 2023 12:18:26 +0200 Subject: [PATCH 169/180] fix(migrations): remove deleted constant --- db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb b/db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb index e2efd32242aa..7ccd93dcc005 100644 --- a/db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb +++ b/db/migrate/20221026132134_bigint_primary_and_foreign_keys.rb @@ -68,7 +68,6 @@ class BigintPrimaryAndForeignKeys < ActiveRecord::Migration[7.0] EnabledModule => %i[id project_id], EnterpriseToken => [:id], Enumeration => %i[id project_id parent_id color_id], - :export_card_configurations => [:id], Forum => %i[id project_id last_message_id], Grids::Widget => [:grid_id], Grids::Grid => %i[user_id project_id], From 8169e3fedb29dbf8f19476a0e0c711b314fd8588 Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 17 Jul 2023 12:29:32 +0200 Subject: [PATCH 170/180] fix(specs): remove references to deleted spec_helper --- modules/backlogs/spec/helpers/version_settings_helper_spec.rb | 2 +- modules/backlogs/spec/models/backlog_spec.rb | 2 +- modules/backlogs/spec/models/burndown_spec.rb | 2 +- modules/backlogs/spec/models/impediment_spec.rb | 2 +- modules/backlogs/spec/models/issue_position_spec.rb | 2 +- modules/backlogs/spec/models/issue_spec.rb | 2 +- modules/backlogs/spec/models/sprint_spec.rb | 2 +- modules/backlogs/spec/models/story_spec.rb | 2 +- modules/backlogs/spec/models/task_spec.rb | 2 +- modules/backlogs/spec/models/user_spec.rb | 2 +- modules/backlogs/spec/models/version_setting_spec.rb | 2 +- modules/backlogs/spec/models/version_spec.rb | 2 +- modules/backlogs/spec/models/work_package_spec.rb | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/backlogs/spec/helpers/version_settings_helper_spec.rb b/modules/backlogs/spec/helpers/version_settings_helper_spec.rb index 7ffe2ac49f35..a6c92332a5d3 100644 --- a/modules/backlogs/spec/helpers/version_settings_helper_spec.rb +++ b/modules/backlogs/spec/helpers/version_settings_helper_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe VersionSettingsHelper do describe '#position_display_options' do diff --git a/modules/backlogs/spec/models/backlog_spec.rb b/modules/backlogs/spec/models/backlog_spec.rb index b3606e4535cc..3e6ece7a8846 100644 --- a/modules/backlogs/spec/models/backlog_spec.rb +++ b/modules/backlogs/spec/models/backlog_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe Backlog do let(:project) { build(:project) } diff --git a/modules/backlogs/spec/models/burndown_spec.rb b/modules/backlogs/spec/models/burndown_spec.rb index c2daf58841db..44639f482ee0 100644 --- a/modules/backlogs/spec/models/burndown_spec.rb +++ b/modules/backlogs/spec/models/burndown_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path("#{File.dirname(__FILE__)}/../spec_helper") +require 'spec_helper' RSpec.describe Burndown do def set_attribute_journalized(story, attribute, value, day) diff --git a/modules/backlogs/spec/models/impediment_spec.rb b/modules/backlogs/spec/models/impediment_spec.rb index 93662070a390..2f23c6cc6c92 100644 --- a/modules/backlogs/spec/models/impediment_spec.rb +++ b/modules/backlogs/spec/models/impediment_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe Impediment do let(:user) { @user ||= create(:user) } diff --git a/modules/backlogs/spec/models/issue_position_spec.rb b/modules/backlogs/spec/models/issue_position_spec.rb index fadc59d8721a..9344bf10aa64 100644 --- a/modules/backlogs/spec/models/issue_position_spec.rb +++ b/modules/backlogs/spec/models/issue_position_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe WorkPackage do describe 'Story positions' do diff --git a/modules/backlogs/spec/models/issue_spec.rb b/modules/backlogs/spec/models/issue_spec.rb index 4c53feee335a..5acec8644933 100644 --- a/modules/backlogs/spec/models/issue_spec.rb +++ b/modules/backlogs/spec/models/issue_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe WorkPackage do describe 'validations' do diff --git a/modules/backlogs/spec/models/sprint_spec.rb b/modules/backlogs/spec/models/sprint_spec.rb index e7d4d9055194..01f84ea21aec 100644 --- a/modules/backlogs/spec/models/sprint_spec.rb +++ b/modules/backlogs/spec/models/sprint_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe Sprint do let(:sprint) { build(:sprint) } diff --git a/modules/backlogs/spec/models/story_spec.rb b/modules/backlogs/spec/models/story_spec.rb index e98d0bad0dc3..967acf78aeaf 100644 --- a/modules/backlogs/spec/models/story_spec.rb +++ b/modules/backlogs/spec/models/story_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe Story do let(:user) { @user ||= create(:user) } diff --git a/modules/backlogs/spec/models/task_spec.rb b/modules/backlogs/spec/models/task_spec.rb index 6676109ab29c..6f93a36ea717 100644 --- a/modules/backlogs/spec/models/task_spec.rb +++ b/modules/backlogs/spec/models/task_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe Task do let(:task_type) { create(:type) } diff --git a/modules/backlogs/spec/models/user_spec.rb b/modules/backlogs/spec/models/user_spec.rb index af8dc06cdd37..51fb080bbdad 100644 --- a/modules/backlogs/spec/models/user_spec.rb +++ b/modules/backlogs/spec/models/user_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe User do describe 'backlogs_preference' do diff --git a/modules/backlogs/spec/models/version_setting_spec.rb b/modules/backlogs/spec/models/version_setting_spec.rb index 4cb4ec182715..704808791441 100644 --- a/modules/backlogs/spec/models/version_setting_spec.rb +++ b/modules/backlogs/spec/models/version_setting_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe VersionSetting do let(:version_setting) { build(:version_setting) } diff --git a/modules/backlogs/spec/models/version_spec.rb b/modules/backlogs/spec/models/version_spec.rb index 1d0688c1db3f..138933e11f06 100644 --- a/modules/backlogs/spec/models/version_spec.rb +++ b/modules/backlogs/spec/models/version_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' RSpec.describe Version do it { is_expected.to have_many :version_settings } diff --git a/modules/backlogs/spec/models/work_package_spec.rb b/modules/backlogs/spec/models/work_package_spec.rb index 0cc06d4fbb34..4ee9e0a95395 100644 --- a/modules/backlogs/spec/models/work_package_spec.rb +++ b/modules/backlogs/spec/models/work_package_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative '../spec_helper' +require 'spec_helper' RSpec.describe WorkPackage do describe '#backlogs_types' do From 0d533d7fcdc184a36bf4767e17650c2f8716152c Mon Sep 17 00:00:00 2001 From: as-op Date: Mon, 17 Jul 2023 12:44:22 +0200 Subject: [PATCH 171/180] fix(specs): remove references to deleted spec_helper --- .../backlogs/spec/contracts/work_packages/base_contract_spec.rb | 2 +- .../backlogs/spec/services/impediments/update_service_spec.rb | 2 +- modules/backlogs/spec/services/stories/create_service_spec.rb | 2 +- .../services/work_packages/update_ancestors_service_spec.rb | 2 +- .../work_packages/update_service_version_inheritance_spec.rb | 2 +- modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb | 2 +- .../spec/views/rb_master_backlogs/index.html.erb_spec.rb | 2 +- modules/backlogs/spec/views/rb_taskboards/show_spec.rb | 2 +- modules/backlogs/spec/views/shared/not_configured_spec.rb | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb b/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb index ebbfdc2d8b3c..fa19cb1f9b92 100644 --- a/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb +++ b/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") +require 'spec_helper' RSpec.describe WorkPackages::BaseContract, type: :model do let(:instance) { described_class.new(work_package, user) } diff --git a/modules/backlogs/spec/services/impediments/update_service_spec.rb b/modules/backlogs/spec/services/impediments/update_service_spec.rb index 766366dc67a9..c5569f98fd58 100644 --- a/modules/backlogs/spec/services/impediments/update_service_spec.rb +++ b/modules/backlogs/spec/services/impediments/update_service_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') +require 'spec_helper' RSpec.describe Impediments::UpdateService, type: :model do let(:instance) { described_class.new(user:, impediment:) } diff --git a/modules/backlogs/spec/services/stories/create_service_spec.rb b/modules/backlogs/spec/services/stories/create_service_spec.rb index 19d9d7fd393a..4742ec97f66a 100644 --- a/modules/backlogs/spec/services/stories/create_service_spec.rb +++ b/modules/backlogs/spec/services/stories/create_service_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') +require 'spec_helper' RSpec.describe Stories::CreateService, type: :model do let(:priority) { create(:priority) } diff --git a/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb b/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb index bb94e3a397d6..86ff7555f5e5 100644 --- a/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb +++ b/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") +require 'spec_helper' RSpec.describe WorkPackages::UpdateAncestorsService do let(:user) { create(:user) } diff --git a/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb b/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb index 1a004579e913..a72c47969d28 100644 --- a/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb +++ b/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper') +require 'spec_helper' RSpec.describe WorkPackages::UpdateService, "version inheritance", type: :model do let(:type_feature) { build(:type_feature) } diff --git a/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb b/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb index a3d3b1e2729a..a27ed02e193f 100644 --- a/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb +++ b/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.dirname(__FILE__) + '/../../spec_helper' +require 'spec_helper' RSpec.describe 'rb_burndown_charts/show' do let(:user1) { create(:user) } diff --git a/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb b/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb index 112ef99111a4..55eb3f92fb8b 100644 --- a/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb +++ b/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.dirname(__FILE__) + '/../../spec_helper' +require 'spec_helper' RSpec.describe 'rb_master_backlogs/index' do let(:user) { create(:user) } diff --git a/modules/backlogs/spec/views/rb_taskboards/show_spec.rb b/modules/backlogs/spec/views/rb_taskboards/show_spec.rb index c3ada5e293a7..7ea12af9bfbe 100644 --- a/modules/backlogs/spec/views/rb_taskboards/show_spec.rb +++ b/modules/backlogs/spec/views/rb_taskboards/show_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require File.dirname(__FILE__) + '/../../spec_helper' +require 'spec_helper' RSpec.describe 'rb_taskboards/show' do let(:user1) { create(:user) } diff --git a/modules/backlogs/spec/views/shared/not_configured_spec.rb b/modules/backlogs/spec/views/shared/not_configured_spec.rb index fc6749a39d6c..5074bccd26b8 100644 --- a/modules/backlogs/spec/views/shared/not_configured_spec.rb +++ b/modules/backlogs/spec/views/shared/not_configured_spec.rb @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative '../../spec_helper' +require 'spec_helper' RSpec.describe 'shared/not_configured' do it 'renders without errors' do From c942e44fc08acc8d8e392b16c7e4a7a36264c885 Mon Sep 17 00:00:00 2001 From: Yule Date: Mon, 17 Jul 2023 12:53:08 +0200 Subject: [PATCH 172/180] fix: align attribute groups across the application (#13081) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [#48620] Define `AttributesGroup` view component for Storage show.html.erb https://community.openproject.org/work_packages/48620 * feat[#48620] Define `AttributeGroup` components https://community.openproject.org/work_packages/48620 * chore[#48620] rename attribute options to `key`, `value` * chore[#48620] remove unecessary constructor * chore[#48620] Allow attribute group content * chore[#48620] remove unecessary constructor * feat[#48620] Migrate storages/admin/show to use AttributeGroupComponent * fix[#48620] Use correct labels * feat[#48620] Migrate storages/admin/edit to use AttributeGroupComponent * legal[#48620] Add copyright to views * fix[#48620] Use simple names for slot collection vs singular component methods * fix[#48620] Render value when truthy otherwise is empty span * chore[#48620]: Adopt `AttributesGroupComponent` in oauth/applications/show * chore[#48620]: Remove unnecessary `value: nil` definitions * fix[#48620] typo * fix: align attribute groups across the application Attribute groups on the storages and oauth application admin pages looked different than on the work package pages. This was introduced by https://community.openproject.org/projects/openproject/work_packages/47680/activity To align them, this commit reduces the scope of the `wp-attribute-group` css, instead applying those styles to the more general `attributes-group` block. It also fixes the HTML structure of the backend-rendered attribute groups to align with those in the frontend. Ref https://community.openproject.org/work_packages/48640/activity * refactor: Oauth detail page uses new AttributeGroups::AttributeGroupComponent * Convert admin/info to component * Convert change_status_info to component * Convert ldap_groups to component * convert two_factor_authentication to component * quick fix vertical alignment of attribute-key values * convert budget show to component * convert 2FA settings to component * convert ldap gropus filters to component * convert 2FA admin to component * convert webhook admin to component * update DB deprecation message and reduce html/rb context switches --------- Co-authored-by: Kabiru Mwenja Co-authored-by: Oliver Günther Co-authored-by: ulferts --- .../attribute_group_component.html.erb | 6 +- .../attribute_key_value_component.html.erb | 6 +- app/views/admin/info.html.erb | 180 ++++++------------ app/views/oauth/applications/show.html.erb | 131 ++++++------- app/views/users/change_status_info.html.erb | 45 ++--- .../wp-attribute-group.component.sass | 18 -- .../wp-attribute-group.component.ts | 1 + .../content/_attributes_group.sass | 14 +- .../content/_attributes_key_value.sass | 10 +- .../budgets/app/views/budgets/show.html.erb | 46 +---- .../synchronized_filters/show.html.erb | 60 ++---- .../synchronized_groups/show.html.erb | 44 ++--- .../settings.html.erb | 52 +++-- .../two_factor_devices/totp/_form.html.erb | 32 +--- .../_two_factor_authentication_admin.html.erb | 24 +-- .../webhooks/outgoing/admin/show.html.erb | 45 ++--- .../attribute_key_value_component_spec.rb | 23 +++ 17 files changed, 274 insertions(+), 463 deletions(-) diff --git a/app/components/attribute_groups/attribute_group_component.html.erb b/app/components/attribute_groups/attribute_group_component.html.erb index 40c0704fc177..856f6e3d49b8 100644 --- a/app/components/attribute_groups/attribute_group_component.html.erb +++ b/app/components/attribute_groups/attribute_group_component.html.erb @@ -30,9 +30,11 @@ See COPYRIGHT and LICENSE files for more details.
    <%= header %> -
    +
    <% attributes.each do |attribute| %> - <%= attribute %> +
    + <%= attribute %> +
    <% end %>
    diff --git a/app/components/attribute_groups/attribute_key_value_component.html.erb b/app/components/attribute_groups/attribute_key_value_component.html.erb index f78ffa9dcb9c..dd6a2c7a4c1c 100644 --- a/app/components/attribute_groups/attribute_key_value_component.html.erb +++ b/app/components/attribute_groups/attribute_key_value_component.html.erb @@ -30,6 +30,10 @@ See COPYRIGHT and LICENSE files for more details.
    <%= key %>
    - <%= value %> + <% if value %> + <%= value %> + <% end %> + + <%= content %>
    diff --git a/app/views/admin/info.html.erb b/app/views/admin/info.html.erb index f65722314680..bc664ab5e87e 100644 --- a/app/views/admin/info.html.erb +++ b/app/views/admin/info.html.erb @@ -29,126 +29,70 @@ See COPYRIGHT and LICENSE files for more details. <% html_title(t(:label_administration), t(:label_information_plural)) -%> -<%= toolbar title: I18n.t('label_information_plural') %> - -
    -
    - <%= call_hook(:view_admin_info_top) %> - <% if (product_version = OpenProject::VERSION.product_version).present? %> -
    <%= t(:label_product_version) %>
    -
    -
    - <%= product_version %> -
    -
    - <% end %> -
    <%= t(:label_core_version) %>
    -
    -
    - <%= OpenProject::Info.versioned_name %> -
    -
    -
    <%= t(:label_database_version) %>
    -
    -
    - <%= @db_version %> -
    -
    - <% if OpenProject::Database.version_deprecated? %> -
    -
    -
    - - <%= op_icon 'icon3 icon-warning' %> - Deprecation warning: - -

    - The next major release of OpenProject will update the requirements - on the required PostgreSQL database version. -
    - Starting with OpenProject 12.0, anticipated end of 2021, PostgreSQL 13 will be required - to use OpenProject. -
    - We have prepared <%= static_link_to :postgres_13_upgrade, - label: 'upgrade guides for all installation methods' %>. - You can perform the upgrade ahead of the release at any time by following the guides. -

    -
    -
    - <% end %> - <% if display_security_badge_graphic? %> -
    -
    -
    -
    - <%= content_tag :object, nil, data: security_badge_url, type: "image/svg+xml" %> - <%= link_to '', - ::OpenProject::Static::Links[:security_badge_documentation][:href], - title: t(:label_what_is_this), - class: 'security-badge--help-icon icon-context icon-help1', - target: '_blank' %> -
    -
    -
    - <% end %> - <% if (updated_on = OpenProject::VERSION.updated_on).present? %> -
    <%= t(:label_last_change_on) %>
    -
    -
    - <%= format_date(updated_on) %> -
    -
    - <% end %> -
    -
    - -<%= content_tag :h3, I18n.t('label_system') %> - -
    -
    - <% @checklist.each do |label, result| %> -
    <%= I18n.t(label) %>
    -
    -
    - <%= icon_wrapper((result ? 'icon-context icon-checkmark' : 'icon-context icon-bug'), (result ? t(:general_text_Yes) : t(:general_text_No))) %> -
    -
    - <% end %> -
    -
    +<%= call_hook(:view_admin_info_top) %> + +<%= render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_header(title: I18n.t('label_information_plural')) + + if (product_version = OpenProject::VERSION.product_version).present? + component.with_attribute(key: t(:label_product_version), value: product_version) + end + + component.with_attribute(key: t(:label_core_version), value: OpenProject::Info.versioned_name) + component.with_attribute(key: t(:label_database_version), value: @db_version) + + if display_security_badge_graphic? + content = content_tag :object, nil, data: security_badge_url, type: "image/svg+xml" + content += link_to '', + ::OpenProject::Static::Links[:security_badge_documentation][:href], + title: t(:label_what_is_this), + class: 'security-badge--help-icon icon-context icon-help1', + target: '_blank' + component.with_attribute(key: '', value: content) + end + + if OpenProject::Database.version_deprecated? + value = <<~STR.html_safe +

    + Starting with OpenProject 12.0, PostgreSQL 13 is required to use OpenProject. +
    + We have prepared #{static_link_to(:postgres_13_upgrade, label: 'upgrade guides for all installation methods')}. + You can perform the upgrade ahead of the release at any time by following the guides. +

    + STR + component.with_attribute(key: 'Deprecation warning', value:) + end + + + if (updated_on = OpenProject::VERSION.updated_on).present? + component.with_attribute(key: t(:label_last_change_on), value: format_date(updated_on)) + end +end %> + +<%= render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_header(title: I18n.t(:label_system)) + + @checklist.each do |label, result| + value = icon_wrapper((result ? 'icon-context icon-checkmark' : 'icon-context icon-bug'), (result ? t(:general_text_Yes) : t(:general_text_No))) + component.with_attribute(key: I18n.t(label), value:) + end +end %> <% @storage_information.each_with_index do |(_, entries), i| %> - <%= content_tag :h3, t(:label_storage_group, identifier: i + 1) %> -
    -
    -
    <%= t(:label_storage_for) %>
    -
    -
    - - <% entries[:labels].each do |l| %> - <%= l %> -
    - <% end %> -
    -
    -
    -
    <%= t(:label_storage_free_space) %>
    -
    -
    - <%= number_to_human_size(entries[:data][:free], precision: 2) %> -
    -
    -
    <%= t(:label_storage_used_space) %>
    -
    -
    - - <%= number_to_human_size(entries[:data][:used], precision: 2) %> - (<%= entries[:data][:percent_used].round(2) %> %) - -
    -
    -
    -
    + <%= + render(AttributeGroups::AttributeGroupComponent.new) do |component| + component.with_header(title: t(:label_storage_group, identifier: i + 1)) + + component.with_attribute(key: t(:label_storage_for), + value: safe_join(entries[:labels], '
    '.html_safe)) + + component.with_attribute(key: t(:label_storage_free_space), + value: number_to_human_size(entries[:data][:free], precision: 2)) + + value = number_to_human_size(entries[:data][:used], precision: 2) + value += "(#{entries[:data][:percent_used].round(2)})" + component.with_attribute(key: t(:label_storage_used_space), value:) + end %> <% end %> <%= call_hook(:view_admin_info_bottom) %> diff --git a/app/views/oauth/applications/show.html.erb b/app/views/oauth/applications/show.html.erb index 2f3a53a1e6da..bbe6cbc429d9 100644 --- a/app/views/oauth/applications/show.html.erb +++ b/app/views/oauth/applications/show.html.erb @@ -49,85 +49,60 @@ See COPYRIGHT and LICENSE files for more details.
  • <%= call_hook :view_account_left_top, user: @user %> -
      - <% unless @user.pref.hide_mail %> -
    • <%= User.human_attribute_name(:mail) %>: <%= mail_to(h(escape_javascript(@user.mail)), nil, encode: 'javascript') %>
    • - <% end %> - <% @user.visible_custom_field_values.each do |custom_value| %> - <% if !custom_value.value.blank? %> -
    • <%=h custom_value.custom_field.name%>: <%=h show_value(custom_value) %>
    • + <% if visible_user_information?(@user) %> +
        + <% if @user.pref.can_expose_mail? %> +
      • <%= User.human_attribute_name(:mail) %>: <%= mail_to(h(escape_javascript(@user.mail)), nil, encode: 'javascript') %>
      • <% end %> - <% end %> -
      + <% @user.visible_custom_field_values.each do |custom_value| %> + <% if custom_value.value.present? %> +
    • <%=h custom_value.custom_field.name%>: <%=h show_value(custom_value) %>
    • + <% end %> + <% end %> +
    + <% end %> <%= call_hook :view_account_left_middle, user: @user %> diff --git a/spec/helpers/users_helper_spec.rb b/spec/helpers/users_helper_spec.rb index ee73ee5b8802..d0da27a9f154 100644 --- a/spec/helpers/users_helper_spec.rb +++ b/spec/helpers/users_helper_spec.rb @@ -114,4 +114,41 @@ def build_user(status, blocked) end end end + + describe '#visible_user_information?' do + subject { visible_user_information?(user) } + + context 'when user has hide_mail = false in their preferences' do + let(:user) { build(:user, preferences: { hide_mail: false }) } + + it { is_expected.to be(true) } + end + + context 'when user has hide_mail = true in their preferences' do + let(:user) { build(:user, preferences: { hide_mail: true }) } + + it { is_expected.to be(false) } + end + + context 'when user has a custom field with a present value' do + let(:custom_field) { create(:string_user_custom_field) } + let(:user) { build(:user, custom_values: [build(:custom_value, custom_field:, value: 'Hello')]) } + + it { is_expected.to be(true) } + end + + context 'when user has a custom field with a blank value' do + let(:custom_field) { create(:string_user_custom_field) } + let(:user) { build(:user, custom_values: [build(:custom_value, custom_field:, value: ' ')]) } + + it { is_expected.to be(false) } + end + + context 'when user has a non-visible custom field with a present value' do + let(:custom_field) { create(:string_user_custom_field, visible: false) } + let(:user) { build(:user, custom_values: [build(:custom_value, custom_field:, value: 'Hello')]) } + + it { is_expected.to be(false) } + end + end end From e9eed2cdd3888b049ae247763a81686636607bf9 Mon Sep 17 00:00:00 2001 From: Christophe Bliard Date: Fri, 7 Jul 2023 16:04:18 +0200 Subject: [PATCH 032/180] refactoring: use positive conditions --- app/views/common/feed.atom.builder | 2 +- app/views/journals/index.atom.builder | 2 +- lib/api/v3/users/user_representer.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/common/feed.atom.builder b/app/views/common/feed.atom.builder index 84a6383a0204..c243b0bdc87e 100644 --- a/app/views/common/feed.atom.builder +++ b/app/views/common/feed.atom.builder @@ -60,7 +60,7 @@ xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do if author xml.author do xml.name(author) - xml.email(author.mail) if author.is_a?(User) && author.mail.present? && !author.pref.hide_mail + xml.email(author.mail) if author.is_a?(User) && author.mail.present? && author.pref.can_expose_mail? end end xml.content "type" => "html" do diff --git a/app/views/journals/index.atom.builder b/app/views/journals/index.atom.builder index c96f4d7c3870..3f873ddc27e1 100644 --- a/app/views/journals/index.atom.builder +++ b/app/views/journals/index.atom.builder @@ -44,7 +44,7 @@ xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do xml.updated change.created_at.xmlschema xml.author do xml.name change.user.name - xml.email(change.user.mail) if change.user.is_a?(User) && change.user.mail.present? && !change.user.pref.hide_mail + xml.email(change.user.mail) if change.user.is_a?(User) && change.user.mail.present? && change.user.pref.can_expose_mail? end xml.content "type" => "html" do xml.text! '
      + <% if User.current.allowed_to? :export_work_packages, @project, global: @project.nil? %> +
    • + <%= link_to(t(:export_to_excel), + { controller: "cost_reports" , + action: :index, + format: 'xls', + project_id: @project }, + class: "button icon-export-xls-descr") %> +
    • + <% end %> <%= call_hook(:view_cost_report_toolbar) %>