diff --git a/CHANGELOG.md b/CHANGELOG.md index b42dc98442..e1e61a3ddf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# [101.2.0](https://github.com/dhis2/capture-app/compare/v101.1.3...v101.2.0) (2024-08-22) + + +### Features + +* [DHIS2-17575] disable create new buttons if no data write access ([#3751](https://github.com/dhis2/capture-app/issues/3751)) ([5b3cd1c](https://github.com/dhis2/capture-app/commit/5b3cd1c6150d9b6cc47be274d50bffad05b6da73)) + +## [101.1.3](https://github.com/dhis2/capture-app/compare/v101.1.2...v101.1.3) (2024-08-18) + + +### Bug Fixes + +* **translations:** sync translations from transifex (master) ([4164273](https://github.com/dhis2/capture-app/commit/4164273a380c24f57369f4f7c56dea4f0f6211a1)) + ## [101.1.2](https://github.com/dhis2/capture-app/compare/v101.1.1...v101.1.2) (2024-08-15) diff --git a/cypress/e2e/EnrollmentAddEventPage/ProgramStageSelector/ProgramStageSelector.feature b/cypress/e2e/EnrollmentAddEventPage/ProgramStageSelector/ProgramStageSelector.feature index fa7b797041..6bbb53cf33 100644 --- a/cypress/e2e/EnrollmentAddEventPage/ProgramStageSelector/ProgramStageSelector.feature +++ b/cypress/e2e/EnrollmentAddEventPage/ProgramStageSelector/ProgramStageSelector.feature @@ -8,3 +8,8 @@ Feature: User is able to select program stage when navigating to EnrollmentEvent Scenario: The stage-button should be disabled when non-repeatable & event > 0 Given you land on the EnrollmentEventNew-page without a stageId Then the stage-button should be disabled + + @user:trackerAutoTestRestricted + Scenario: The stage-button should be disabled when no data write access + Given you open the enrollment page by typing #enrollmentEventNew?enrollmentId=WKPoiZxZxNG&orgUnitId=DiszpKrYNg8&programId=WSGAb5XwJ3Y&teiId=PgmUFEQYZdt + Then the stage-button should be disabled diff --git a/cypress/e2e/EnrollmentAddEventPage/ProgramStageSelector/ProgramStageSelector.js b/cypress/e2e/EnrollmentAddEventPage/ProgramStageSelector/ProgramStageSelector.js index 6c8eac1dac..4fb525e343 100644 --- a/cypress/e2e/EnrollmentAddEventPage/ProgramStageSelector/ProgramStageSelector.js +++ b/cypress/e2e/EnrollmentAddEventPage/ProgramStageSelector/ProgramStageSelector.js @@ -1,5 +1,9 @@ import { Given, When, Then } from '@badeball/cypress-cucumber-preprocessor'; +Given(/^you open the enrollment page by typing (.*)$/, url => + cy.visit(url), +); + Given('you land on the EnrollmentEventNew-page without a stageId', () => { cy.visit('/#/enrollmentEventNew?programId=IpHINAT79UW&orgUnitId=DiszpKrYNg8&teiId=x2kJgpb0XQC&enrollmentId=RiNIt1yJoge'); }); diff --git a/cypress/e2e/EnrollmentPage/EnrollmentQuickActions/EnrollmentQuickActions.feature b/cypress/e2e/EnrollmentPage/EnrollmentQuickActions/EnrollmentQuickActions.feature index c010914d88..ea20b12fea 100644 --- a/cypress/e2e/EnrollmentPage/EnrollmentQuickActions/EnrollmentQuickActions.feature +++ b/cypress/e2e/EnrollmentPage/EnrollmentQuickActions/EnrollmentQuickActions.feature @@ -13,3 +13,8 @@ Feature: User interacts with the quick actions-menu When you click the schedule event-button Then you should be navigated to the schedule tab + @user:trackerAutoTestRestricted + Scenario: The create new quick actions button should be disabled if no available stages + Given you open the enrollment page by typing #enrollment?enrollmentId=WKPoiZxZxNG&orgUnitId=DiszpKrYNg8&programId=WSGAb5XwJ3Y&teiId=PgmUFEQYZdt + Then the quick action buttons should be disabled + diff --git a/cypress/e2e/EnrollmentPage/EnrollmentQuickActions/EnrollmentQuickActions.js b/cypress/e2e/EnrollmentPage/EnrollmentQuickActions/EnrollmentQuickActions.js index 23ff019cf3..a450af97d9 100644 --- a/cypress/e2e/EnrollmentPage/EnrollmentQuickActions/EnrollmentQuickActions.js +++ b/cypress/e2e/EnrollmentPage/EnrollmentQuickActions/EnrollmentQuickActions.js @@ -1,5 +1,9 @@ import { Given, When, Then } from '@badeball/cypress-cucumber-preprocessor'; +Given(/^you open the enrollment page by typing (.*)$/, url => + cy.visit(url), +); + Given('you are on an enrollment page with stage available', () => { cy.visit('/#/enrollment?programId=ur1Edk5Oe2n&orgUnitId=UgYg0YW7ZIh&teiId=zmgVvEZ91Kg&enrollmentId=xRnBV5aJDeF'); cy.get('[data-test="enrollment-page-content"]') @@ -31,3 +35,9 @@ Then('the buttons should be disabled', () => { .should('be.disabled'); }); }); + +Then('the quick action buttons should be disabled', () => { + cy.get('[data-test="quick-action-button-container"]') + .find('button') + .should('be.disabled'); +}); diff --git a/cypress/e2e/EnrollmentPage/StagesAndEventsWidget/StagesAndEventsWidget.feature b/cypress/e2e/EnrollmentPage/StagesAndEventsWidget/StagesAndEventsWidget.feature index 5179a84844..07387fcde5 100644 --- a/cypress/e2e/EnrollmentPage/StagesAndEventsWidget/StagesAndEventsWidget.feature +++ b/cypress/e2e/EnrollmentPage/StagesAndEventsWidget/StagesAndEventsWidget.feature @@ -1,5 +1,10 @@ Feature: User interacts with Stages and Events Widget + @user:trackerAutoTestRestricted + Scenario: Create new event button is disabled if no data write access + Given you open the enrollment page by typing #enrollment?enrollmentId=WKPoiZxZxNG&orgUnitId=DiszpKrYNg8&programId=WSGAb5XwJ3Y&teiId=PgmUFEQYZdt + Then you should see the disabled button New Previous deliveries event + Scenario: User can view program stages Given you open the enrollment page Then the program stages should be displayed @@ -61,3 +66,4 @@ Feature: User interacts with Stages and Events Widget Scenario: Program stage is hidden if no data read access And you open the enrollment page by typing #enrollment?enrollmentId=iNEq9d22Nyp&orgUnitId=DiszpKrYNg8&programId=WSGAb5XwJ3Y&teiId=k4ODejBytgv Then the Care at birth program stage should be hidden + diff --git a/i18n/ar.po b/i18n/ar.po index 7f2ddfb0a8..a5c6263a9a 100644 --- a/i18n/ar.po +++ b/i18n/ar.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Viktor Varland , 2024\n" "Language-Team: Arabic (https://app.transifex.com/hisp-uio/teams/100509/ar/)\n" @@ -45,6 +45,9 @@ msgstr "" "الصفحة إذا كنت ترغب في استخدام هذه النسخة، ولكن اعلم أن هذا سيؤدي إلى إغلاق " "النسخ الأخرى." +msgid "More" +msgstr "مزيد" + msgid "View {{programName}} dashboard" msgstr "" @@ -199,7 +202,7 @@ msgid "Search for user" msgstr "البحث عن مستخدم" msgid "Notes" -msgstr "" +msgstr "الملاحظات" msgid "Basic info" msgstr "المعلومات الأساسية" @@ -375,17 +378,11 @@ msgstr "الشخص المسجل" msgid "validation failed" msgstr "فشل التحقق من الصحة" -msgid "Errors" -msgstr "اخطاء" - -msgid "Feedback" -msgstr "التغذية الراجعة" - -msgid "Indicators" -msgstr "المؤشرات" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "تحذيرات" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "توليد حدث جديد" @@ -575,6 +572,9 @@ msgstr "الأعمدة التي سيتم عرضها في الجدول" msgid "Column" msgstr "العمود" +msgid "Visible" +msgstr "مرئي" + msgid "Update" msgstr "تحديث" @@ -782,12 +782,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -818,6 +812,11 @@ msgstr "المرحلة" msgid "Registered events" msgstr "الأحداث المسجلة" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -931,6 +930,18 @@ msgid "" "relationship" msgstr "ستؤدي مغادرة هذه الصفحة إلى تجاهل التحديدات التي أجريتها لعلاقة جديدة" +msgid "Errors" +msgstr "اخطاء" + +msgid "Feedback" +msgstr "التغذية الراجعة" + +msgid "Indicators" +msgstr "المؤشرات" + +msgid "Warnings" +msgstr "تحذيرات" + msgid "Show all events" msgstr "عرض جميع الأحداث" @@ -976,6 +987,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "جار التحميل" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "إحتمال وجود تكرار" @@ -1257,9 +1274,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "الملغية" @@ -1512,6 +1526,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "تمت جدولته" + msgid "Changelog" msgstr "" @@ -1677,9 +1700,6 @@ msgstr "حدث خطأ. انظر السجل للحصول على التفاصيل" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "تمت جدولته" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/ar_IQ.po b/i18n/ar_IQ.po index 9b23f4d7f9..01af8b5790 100644 --- a/i18n/ar_IQ.po +++ b/i18n/ar_IQ.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: KRG HIS , 2024\n" "Language-Team: Arabic (Iraq) (https://app.transifex.com/hisp-uio/teams/100509/ar_IQ/)\n" @@ -42,6 +42,9 @@ msgstr "" "الصفحة إذا كنت ترغب في استخدام هذه النسخة، ولكن اعلم أن هذا سيؤدي إلى إغلاق " "النسخ الأخرى." +msgid "More" +msgstr "" + msgid "View {{programName}} dashboard" msgstr "" @@ -372,17 +375,11 @@ msgstr "الشخص المسجل" msgid "validation failed" msgstr "فشل التحقق من الصحة" -msgid "Errors" -msgstr "اخطاء" - -msgid "Feedback" -msgstr "التغذية الراجعة" - -msgid "Indicators" -msgstr "المؤشرات" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "تحذيرات" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "" @@ -572,6 +569,9 @@ msgstr "الأعمدة التي سيتم عرضها في الجدول" msgid "Column" msgstr "العمود" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "تحديث" @@ -779,12 +779,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -815,6 +809,11 @@ msgstr "" msgid "Registered events" msgstr "الأحداث المسجلة" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -928,6 +927,18 @@ msgid "" "relationship" msgstr "ستؤدي مغادرة هذه الصفحة إلى تجاهل التحديدات التي أجريتها لعلاقة جديدة" +msgid "Errors" +msgstr "اخطاء" + +msgid "Feedback" +msgstr "التغذية الراجعة" + +msgid "Indicators" +msgstr "المؤشرات" + +msgid "Warnings" +msgstr "تحذيرات" + msgid "Show all events" msgstr "عرض جميع الأحداث" @@ -973,6 +984,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "جار التحميل" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "إحتمال وجود تكرار" @@ -1252,9 +1269,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "تم الإلغاء" @@ -1507,6 +1521,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "تمت جدولته" + msgid "Changelog" msgstr "" @@ -1672,9 +1695,6 @@ msgstr "حدث خطأ. انظر السجل للحصول على التفاصيل" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "تمت جدولته" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/cs.po b/i18n/cs.po index bf8f3d02e7..b9ed690a2f 100644 --- a/i18n/cs.po +++ b/i18n/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Jiří Podhorecký, 2024\n" "Language-Team: Czech (https://app.transifex.com/hisp-uio/teams/100509/cs/)\n" @@ -43,6 +43,9 @@ msgstr "" "doméně). Chcete-li tuto verzi znovu použít, obnovte prosím tuto stránku, " "mějte však na paměti, že se tím zavřou další verze." +msgid "More" +msgstr "Více" + msgid "View {{programName}} dashboard" msgstr "Zobrazit {{programName}} ovládací panel" @@ -375,17 +378,11 @@ msgstr "Registrovaná osoba" msgid "validation failed" msgstr "ověření selhalo" -msgid "Errors" -msgstr "Chyby" - -msgid "Feedback" -msgstr "Zpětná vazba" - -msgid "Indicators" -msgstr "Indikátory" +msgid "No feedback for this event yet" +msgstr "Žádné ohlasy na tuto událost" -msgid "Warnings" -msgstr "Varování" +msgid "No indicator output for this event yet" +msgstr "Pro tuto událost zatím není k dispozici žádný výstupní indikátor" msgid "Generate new event" msgstr "Generovat novou událost" @@ -577,6 +574,9 @@ msgstr "Sloupce k zobrazení v tabulce" msgid "Column" msgstr "Sloupec" +msgid "Visible" +msgstr "Viditelné" + msgid "Update" msgstr "Aktualizovat" @@ -802,12 +802,6 @@ msgstr "Při načítání stránky došlo k chybě" msgid "Choose an organisation unit to start reporting" msgstr "Zvolte organizační jednotku pro zahájení vykazování" -msgid "No feedback for this event yet" -msgstr "Žádné ohlasy na tuto událost" - -msgid "No indicator output for this event yet" -msgstr "Pro tuto událost zatím není k dispozici žádný výstupní indikátor" - msgid "Program stage is invalid" msgstr "Fáze programu je neplatná" @@ -838,6 +832,11 @@ msgstr "Fáze" msgid "Registered events" msgstr "Registrované události" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "Vyberte prosím {{category}}." @@ -955,6 +954,18 @@ msgstr "" "Opuštěním této stránky zrušíte všechny výběry, které jste provedli pro nový " "vztah" +msgid "Errors" +msgstr "Chyby" + +msgid "Feedback" +msgstr "Zpětná vazba" + +msgid "Indicators" +msgstr "Indikátory" + +msgid "Warnings" +msgstr "Varování" + msgid "Show all events" msgstr "Zobrazit všechny události" @@ -998,6 +1009,12 @@ msgstr "Nepodařilo se načíst metadata. Prosím zkuste to znovu později." msgid "The enrollment event data could not be found" msgstr "Data zápisu události nebyla nalezena" +msgid "Loading" +msgstr "načítání" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Byly nalezeny možné duplikáty" @@ -1555,6 +1572,15 @@ msgstr "{{ scheduledEvents }} naplánováno" msgid "Stages and Events" msgstr "Fáze a události" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Naplánováno" + msgid "Changelog" msgstr "Seznam změn" @@ -1720,9 +1746,6 @@ msgstr "Vyskytla se chyba. Podrobnosti najdete v protokolu" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "Naplánováno na {{ escape }} kvůli {{ time }}" -msgid "Scheduled" -msgstr "Naplánováno" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "Po termínu {{ escape }} kvůli {{ time }}" diff --git a/i18n/en.pot b/i18n/en.pot index e2529780bb..c6d1f85f9b 100644 --- a/i18n/en.pot +++ b/i18n/en.pot @@ -5,8 +5,8 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -"POT-Creation-Date: 2024-08-19T11:57:54.710Z\n" -"PO-Revision-Date: 2024-08-19T11:57:54.710Z\n" +"POT-Creation-Date: 2024-08-10T10:42:21.141Z\n" +"PO-Revision-Date: 2024-08-10T10:42:21.141Z\n" msgid "Choose one or more dates..." msgstr "Choose one or more dates..." @@ -487,18 +487,6 @@ msgstr "Contains text" msgid "Yes" msgstr "Yes" -msgid "mm/dd/yyyy" -msgstr "mm/dd/yyyy" - -msgid "Years" -msgstr "Years" - -msgid "Months" -msgstr "Months" - -msgid "Days" -msgstr "Days" - msgid "Uploading file" msgstr "Uploading file" @@ -1508,6 +1496,12 @@ msgstr "Report date" msgid "Please select a valid event" msgstr "Please select a valid event" +msgid "You do not have access to create events in this stage" +msgstr "You do not have access to create events in this stage" + +msgid "This stage can only have one event" +msgstr "This stage can only have one event" + msgid "New {{ eventName }} event" msgstr "New {{ eventName }} event" @@ -1520,9 +1514,6 @@ msgstr "Show {{ rest }} more" msgid "Go to full {{ eventName }}" msgstr "Go to full {{ eventName }}" -msgid "This stage can only have one event" -msgstr "This stage can only have one event" - msgid "Events could not be retrieved. Please try again later." msgstr "Events could not be retrieved. Please try again later." diff --git a/i18n/es.po b/i18n/es.po index 1d4c9306c6..5084c4372b 100644 --- a/i18n/es.po +++ b/i18n/es.po @@ -11,15 +11,15 @@ # Philip Larsen Donnelly, 2024 # Gabriela Rodriguez , 2024 # Janeth Cruz, 2024 -# Viktor Varland , 2024 # Enzo Nicolas Rossi , 2024 +# Viktor Varland , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: Enzo Nicolas Rossi , 2024\n" +"Last-Translator: Viktor Varland , 2024\n" "Language-Team: Spanish (https://app.transifex.com/hisp-uio/teams/100509/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -55,6 +55,9 @@ msgstr "" "desea utilizar esta versión nuevamente, pero tenga en cuenta que esto " "cerrará otras versiones." +msgid "More" +msgstr "Más" + msgid "View {{programName}} dashboard" msgstr "Ver panel de {{programName}}" @@ -392,17 +395,11 @@ msgstr "Persona registrada" msgid "validation failed" msgstr "Validación fallida" -msgid "Errors" -msgstr "Errores" - -msgid "Feedback" -msgstr "Retroalimentación" - -msgid "Indicators" -msgstr "Indicadores" +msgid "No feedback for this event yet" +msgstr "Aún no hay retroalimentación para este evento." -msgid "Warnings" -msgstr "Advertencias" +msgid "No indicator output for this event yet" +msgstr "Aún no hay resultados de indicador para este evento" msgid "Generate new event" msgstr "Generar nuevo evento" @@ -595,6 +592,9 @@ msgstr "Columnas para mostrar en la tabla" msgid "Column" msgstr "Columna" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "Actualizar" @@ -826,12 +826,6 @@ msgstr "Hubo un error al cargar la página" msgid "Choose an organisation unit to start reporting" msgstr "Elija una unidad organizativa para empezar a informar" -msgid "No feedback for this event yet" -msgstr "Aún no hay retroalimentación para este evento." - -msgid "No indicator output for this event yet" -msgstr "Aún no hay resultados de indicador para este evento" - msgid "Program stage is invalid" msgstr "La etapa del programa no es válida" @@ -862,6 +856,11 @@ msgstr "Etapa" msgid "Registered events" msgstr "Eventos registrados" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "Seleccione {{category}}." @@ -981,6 +980,18 @@ msgstr "" "Al salir de esta página, se descartarán las selecciones que haya realizado " "para una nueva relación" +msgid "Errors" +msgstr "Errores" + +msgid "Feedback" +msgstr "Retroalimentación" + +msgid "Indicators" +msgstr "Indicadores" + +msgid "Warnings" +msgstr "Advertencias" + msgid "Show all events" msgstr "Mostrar todos los eventos" @@ -1024,6 +1035,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "No se pudieron encontrar los datos del evento de inscripción" +msgid "Loading" +msgstr "Cargando" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Posibles duplicados encontrados" @@ -1601,6 +1618,15 @@ msgstr "{{ scheduledEvents }} programado(s)" msgid "Stages and Events" msgstr "Etapas y eventos" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Planificado" + msgid "Changelog" msgstr "Registro de cambios" @@ -1774,9 +1800,6 @@ msgstr "Se ha producido un error. Ver registro para más detalles" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "Programado{{ escape }} para {{ time }}" -msgid "Scheduled" -msgstr "Planificado" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "Atrasado {{ escape }} para {{ time }}" diff --git a/i18n/fr.po b/i18n/fr.po index 1be940743a..7e797409ee 100644 --- a/i18n/fr.po +++ b/i18n/fr.po @@ -5,18 +5,18 @@ # Philip Larsen Donnelly, 2024 # Edem Kossi , 2024 # Gabriela Rodriguez , 2024 -# Yayra Gomado , 2024 # Yao Selom SAKA (HISP WCA) , 2024 # Elise Desailly, 2024 -# Viktor Varland , 2024 # Bram Piot , 2024 +# Viktor Varland , 2024 +# Yayra Gomado , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: Bram Piot , 2024\n" +"Last-Translator: Yayra Gomado , 2024\n" "Language-Team: French (https://app.transifex.com/hisp-uio/teams/100509/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -53,6 +53,9 @@ msgstr "" "cette page si vous souhaitez utiliser à nouveau cette version, mais " "attention, cette opération entraînera la fermeture des autres versions." +msgid "More" +msgstr "Plus" + msgid "View {{programName}} dashboard" msgstr "" @@ -394,17 +397,11 @@ msgstr "Personne inscrite" msgid "validation failed" msgstr "validation échouée" -msgid "Errors" -msgstr "Erreurs" - -msgid "Feedback" -msgstr "Réaction" - -msgid "Indicators" -msgstr "Indicateurs" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "Avertissements" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "Générer un nouvel événement" @@ -594,6 +591,9 @@ msgstr "Colonnes à afficher dans ce tableau" msgid "Column" msgstr "Colonne" +msgid "Visible" +msgstr "Visible" + msgid "Update" msgstr "Mettre à jour" @@ -814,12 +814,6 @@ msgstr "Une erreur s'est produite lors du chargement de la page" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "Le stade de programme n'est pas valide" @@ -850,6 +844,11 @@ msgstr "Etape" msgid "Registered events" msgstr "Événements enregistrés" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "Veuillez sélectionner {{category}}." @@ -967,6 +966,18 @@ msgid "" msgstr "" "En quittant cette page, vous ne pourrez plus choisir une nouvelle relation" +msgid "Errors" +msgstr "Erreurs" + +msgid "Feedback" +msgstr "Réaction" + +msgid "Indicators" +msgstr "Indicateurs" + +msgid "Warnings" +msgstr "Avertissements" + msgid "Show all events" msgstr "Afficher tous les événements" @@ -1009,6 +1020,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "Les données de l'événement d'inscription n'ont pas pu être trouvées" +msgid "Loading" +msgstr "Chargement" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Doublons éventuellement détectés" @@ -1568,6 +1585,15 @@ msgstr "{{ scheduledEvents }} programmé" msgid "Stages and Events" msgstr "Étapes et événements" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Programmé" + msgid "Changelog" msgstr "" @@ -1735,9 +1761,6 @@ msgstr "Une erreur s'est produite. Voir le journal pour plus de détails" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "Prorgrammés {{ escape }} dus {{ time }}" -msgid "Scheduled" -msgstr "Programmé" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "En retard {{ escape }} dû {{ time }}" diff --git a/i18n/id.po b/i18n/id.po index a9544e31f4..a0b5495800 100644 --- a/i18n/id.po +++ b/i18n/id.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Viktor Varland , 2024\n" "Language-Team: Indonesian (https://app.transifex.com/hisp-uio/teams/100509/id/)\n" @@ -52,6 +52,9 @@ msgstr "" "menggunakan versi ini lagi, tetapi perlu diketahui bahwa ini akan menutup " "versi lain." +msgid "More" +msgstr "Lagi" + msgid "View {{programName}} dashboard" msgstr "" @@ -382,17 +385,11 @@ msgstr "Orang yang terdaftar" msgid "validation failed" msgstr "validasi gagal" -msgid "Errors" -msgstr "Kesalahan" - -msgid "Feedback" -msgstr "Umpan balik" - -msgid "Indicators" -msgstr "Indikator" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "Peringatan" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "Buat even baru" @@ -582,6 +579,9 @@ msgstr "Kolom untuk ditampilkan di tabel" msgid "Column" msgstr "Kolom" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "Perbarui" @@ -794,12 +794,6 @@ msgstr "Telah terjadi sebuah kesalahan saat memuat halaman" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "Tahapan program tidak valid" @@ -830,6 +824,11 @@ msgstr "Stage" msgid "Registered events" msgstr "Even terdaftar" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -946,6 +945,18 @@ msgstr "" "Meninggalkan halaman ini akan membuang semua pilihan yang Anda buat untuk " "hubungan baru" +msgid "Errors" +msgstr "Kesalahan" + +msgid "Feedback" +msgstr "Umpan balik" + +msgid "Indicators" +msgstr "Indikator" + +msgid "Warnings" +msgstr "Peringatan" + msgid "Show all events" msgstr "Tampilkan semua even" @@ -986,6 +997,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Loading" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Kemungkinan duplikat ditemukan" @@ -1510,6 +1527,15 @@ msgstr "" msgid "Stages and Events" msgstr "Tahapan dan Even" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Terjadwal" + msgid "Changelog" msgstr "" @@ -1675,9 +1701,6 @@ msgstr "Terjadi kesalahan. Lihat log untuk detailnya" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "Terjadwal" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/km.po b/i18n/km.po index 62c6870fef..488cdcbe42 100644 --- a/i18n/km.po +++ b/i18n/km.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Viktor Varland , 2024\n" "Language-Team: Khmer (https://app.transifex.com/hisp-uio/teams/100509/km/)\n" @@ -38,6 +38,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "" + msgid "View {{programName}} dashboard" msgstr "" @@ -359,16 +362,10 @@ msgstr "" msgid "validation failed" msgstr "" -msgid "Errors" +msgid "No feedback for this event yet" msgstr "" -msgid "Feedback" -msgstr "មតិ​ឆ្លើយតប" - -msgid "Indicators" -msgstr "Indicators" - -msgid "Warnings" +msgid "No indicator output for this event yet" msgstr "" msgid "Generate new event" @@ -559,6 +556,9 @@ msgstr "" msgid "Column" msgstr "" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "ធ្វើ​បច្ចុប្បន្នភាព" @@ -766,12 +766,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -802,6 +796,11 @@ msgstr "" msgid "Registered events" msgstr "" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -915,6 +914,18 @@ msgid "" "relationship" msgstr "" +msgid "Errors" +msgstr "" + +msgid "Feedback" +msgstr "មតិ​ឆ្លើយតប" + +msgid "Indicators" +msgstr "Indicators" + +msgid "Warnings" +msgstr "" + msgid "Show all events" msgstr "" @@ -955,6 +966,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Loading" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "" @@ -1234,9 +1251,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "បានលុបចោល" @@ -1474,6 +1488,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "" + msgid "Changelog" msgstr "" @@ -1639,9 +1662,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/lo.po b/i18n/lo.po index db73eaf499..14790e04fc 100644 --- a/i18n/lo.po +++ b/i18n/lo.po @@ -4,15 +4,15 @@ # Saysamone Sibounma, 2023 # Somkhit Bouavong , 2024 # Namwan Chanthavisouk, 2024 -# Viktor Varland , 2024 # Thuy Nguyen , 2024 +# Viktor Varland , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: Thuy Nguyen , 2024\n" +"Last-Translator: Viktor Varland , 2024\n" "Language-Team: Lao (https://app.transifex.com/hisp-uio/teams/100509/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,6 +41,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "ເພີ່ມເຕີມ" + msgid "View {{programName}} dashboard" msgstr " ເບິ່ງ {{programName}} ກະດານຂ່າວ" @@ -366,17 +369,11 @@ msgstr "ຄົນທີ່ລົງທະບຽນ" msgid "validation failed" msgstr "ການກວດສອບລົ້ມເຫຼວ" -msgid "Errors" -msgstr "ຜິດພາດ" - -msgid "Feedback" -msgstr "ຜົນຕອບຮັບ" - -msgid "Indicators" -msgstr "ຕົວຊີ້ວັດ" +msgid "No feedback for this event yet" +msgstr "ບໍ່ມີຄຳເຫັນຈາກເຫດການນີ້ເທື່ອ" -msgid "Warnings" -msgstr "ແຈ້ງເຕືອນ" +msgid "No indicator output for this event yet" +msgstr "ບໍ່ມີຕົວຊີ້ວັດຜົນໄດ້ຮັບສໍາລັບເຫດການນີ້ເທື່ອ" msgid "Generate new event" msgstr "ປ້ອນເຫດການໃໝ່" @@ -569,6 +566,9 @@ msgstr "ຖັນທີ່ຈະສະແດງຢູ່ໃນຕາຕະລາ msgid "Column" msgstr "ຖັນ" +msgid "Visible" +msgstr "ສະແດງ" + msgid "Update" msgstr "ປັບປຸງ" @@ -779,12 +779,6 @@ msgstr "ພົບຂໍ້ຜິດພາດໃນການໂຫຼດໜ້າ msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "ບໍ່ມີຄຳເຫັນຈາກເຫດການນີ້ເທື່ອ" - -msgid "No indicator output for this event yet" -msgstr "ບໍ່ມີຕົວຊີ້ວັດຜົນໄດ້ຮັບສໍາລັບເຫດການນີ້ເທື່ອ" - msgid "Program stage is invalid" msgstr "ຂັ້ນຕອນໂປແກຼມບໍ່ຖືກຕ້ອງ" @@ -815,6 +809,11 @@ msgstr "ຂັ້ນຕອນ" msgid "Registered events" msgstr "ເຫດການທີ່ໄດ້ລົງທະບຽນ" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "ກະລຸນາເລືອກ {{category}} ." @@ -928,6 +927,18 @@ msgid "" "relationship" msgstr "ການອອກຈາກໜ້ານີ້ແມ່ນຈະຖືກຍົກເລີກການເລືອກຕ່າງໆທີ່ທ່ານສ້າງຂຶ້ນ" +msgid "Errors" +msgstr "ຜິດພາດ" + +msgid "Feedback" +msgstr "ຜົນຕອບຮັບ" + +msgid "Indicators" +msgstr "ຕົວຊີ້ວັດ" + +msgid "Warnings" +msgstr "ແຈ້ງເຕືອນ" + msgid "Show all events" msgstr "ສະແດງເຫດການທັງໝົດ" @@ -968,6 +979,12 @@ msgstr "ບໍ່ສາມາດດຶງຂໍ້ມູນ metadata ໄດ້. msgid "The enrollment event data could not be found" msgstr "ບໍ່ພົບຂໍ້ມູນເຫດການການລົງທະບຽນ" +msgid "Loading" +msgstr "ກໍາລັງໂຫຼດ" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "ພົບການຊໍ້າກັນທີ່ເປັນໄປໄດ້" @@ -1492,6 +1509,15 @@ msgstr "{{ scheduledEvents }} ກຳນົດເວລາ" msgid "Stages and Events" msgstr "ຂັ້ນຕອນ ແລະ ເຫດການ" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "ຕາມເວລາທີ່ກໍານົດ" + msgid "Changelog" msgstr "" @@ -1659,9 +1685,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "ຕາມເວລາທີ່ກໍານົດ" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/my.po b/i18n/my.po index 2485fda6e3..c244ccbdf3 100644 --- a/i18n/my.po +++ b/i18n/my.po @@ -1,16 +1,16 @@ # # Translators: -# Viktor Varland , 2021 # Wanda , 2021 # Philip Larsen Donnelly, 2024 # Aung Kyi Min , 2024 +# Viktor Varland , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: Aung Kyi Min , 2024\n" +"Last-Translator: Viktor Varland , 2024\n" "Language-Team: Burmese (https://app.transifex.com/hisp-uio/teams/100509/my/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,6 +39,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "" + msgid "View {{programName}} dashboard" msgstr "" @@ -360,16 +363,10 @@ msgstr "" msgid "validation failed" msgstr "" -msgid "Errors" +msgid "No feedback for this event yet" msgstr "" -msgid "Feedback" -msgstr "အကြောင်းပြန်ကြားချက်" - -msgid "Indicators" -msgstr "အညွှန်းများ" - -msgid "Warnings" +msgid "No indicator output for this event yet" msgstr "" msgid "Generate new event" @@ -560,6 +557,9 @@ msgstr "" msgid "Column" msgstr "" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "‌နောက်ဆုံးသတင်းကိုရစေခြင်း" @@ -767,12 +767,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -803,6 +797,11 @@ msgstr "" msgid "Registered events" msgstr "" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -916,6 +915,18 @@ msgid "" "relationship" msgstr "" +msgid "Errors" +msgstr "" + +msgid "Feedback" +msgstr "အကြောင်းပြန်ကြားချက်" + +msgid "Indicators" +msgstr "အညွှန်းများ" + +msgid "Warnings" +msgstr "" + msgid "Show all events" msgstr "" @@ -956,6 +967,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Loading, please wait" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "" @@ -1235,9 +1252,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "" @@ -1475,6 +1489,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "" + msgid "Changelog" msgstr "" @@ -1640,9 +1663,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/nb.po b/i18n/nb.po index 3fc0ac3121..9577fef16d 100644 --- a/i18n/nb.po +++ b/i18n/nb.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Caroline Hesthagen Holen , 2024\n" "Language-Team: Norwegian Bokmål (https://app.transifex.com/hisp-uio/teams/100509/nb/)\n" @@ -43,6 +43,9 @@ msgstr "" "denne siden hvis du vil bruke denne versjonen igjen, men vær oppmerksom på " "at dette vil lukke andre versjoner." +msgid "More" +msgstr "Mer" + msgid "View {{programName}} dashboard" msgstr "Vis {{programName}} dashbord" @@ -374,17 +377,11 @@ msgstr "Registrert person" msgid "validation failed" msgstr "validering mislyktes" -msgid "Errors" -msgstr "Feil" - -msgid "Feedback" -msgstr "Tilbakemelding" - -msgid "Indicators" -msgstr "Indikatorer" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "Advarsler" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "Generer en ny hendelse" @@ -577,6 +574,9 @@ msgstr "Kolonner som skal vises i tabellen" msgid "Column" msgstr "Kolonne" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "Oppdater" @@ -804,12 +804,6 @@ msgstr "Det oppsto en feil under lasting av siden" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "Programfase er ugyldig" @@ -840,6 +834,11 @@ msgstr "Fase" msgid "Registered events" msgstr "Registrerte hendelser" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "Velg {{category}}." @@ -956,6 +955,18 @@ msgstr "" "Hvis du forlater denne siden, vil valgene du har satt bli forkastet for " "denne relasjonen" +msgid "Errors" +msgstr "Feil" + +msgid "Feedback" +msgstr "Tilbakemelding" + +msgid "Indicators" +msgstr "Indikatorer" + +msgid "Warnings" +msgstr "Advarsler" + msgid "Show all events" msgstr "Vis alle hendelser" @@ -997,6 +1008,12 @@ msgstr "Kunne ikke hente metadata. Prøv igjen senere." msgid "The enrollment event data could not be found" msgstr "Hendelsessdataene ble ikke funnet" +msgid "Loading" +msgstr "Laster" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Mulige duplikater funnet" @@ -1540,6 +1557,15 @@ msgstr "{{ scheduledEvents }} planlagt" msgid "Stages and Events" msgstr "Faser og hendelser" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Planlagt" + msgid "Changelog" msgstr "" @@ -1705,9 +1731,6 @@ msgstr "Det har oppstått en feil. Se logg for detaljer" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "Planlagt{{ escape }} forfaller {{ time }}" -msgid "Scheduled" -msgstr "Planlagt" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "Forfalt {{ escape }} forfalt {{ time }}" diff --git a/i18n/prs.po b/i18n/prs.po index f545274b0f..14e21b32d3 100644 --- a/i18n/prs.po +++ b/i18n/prs.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Philip Larsen Donnelly, 2024\n" "Language-Team: Persian (Afghanistan) (https://app.transifex.com/hisp-uio/teams/100509/fa_AF/)\n" @@ -36,6 +36,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "بیشتر" + msgid "View {{programName}} dashboard" msgstr "" @@ -358,16 +361,10 @@ msgstr "" msgid "validation failed" msgstr "" -msgid "Errors" -msgstr "خطاها" - -msgid "Feedback" -msgstr "نظرات/فیدبک" - -msgid "Indicators" -msgstr "شاخص ها" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" +msgid "No indicator output for this event yet" msgstr "" msgid "Generate new event" @@ -558,6 +555,9 @@ msgstr "" msgid "Column" msgstr "ستون" +msgid "Visible" +msgstr "قابل نمایش" + msgid "Update" msgstr "تجدید" @@ -765,12 +765,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -801,6 +795,11 @@ msgstr "مرحله" msgid "Registered events" msgstr "رویداد های ثبت شده" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -914,6 +913,18 @@ msgid "" "relationship" msgstr "" +msgid "Errors" +msgstr "خطاها" + +msgid "Feedback" +msgstr "نظرات/فیدبک" + +msgid "Indicators" +msgstr "شاخص ها" + +msgid "Warnings" +msgstr "" + msgid "Show all events" msgstr "" @@ -955,6 +966,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "در حال بار کردن" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "" @@ -1234,9 +1251,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "" @@ -1477,6 +1491,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "زمان بندی شده" + msgid "Changelog" msgstr "" @@ -1642,9 +1665,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "زمان بندی شده" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/ps.po b/i18n/ps.po index 834ff06e58..419cc4b400 100644 --- a/i18n/ps.po +++ b/i18n/ps.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Viktor Varland , 2024\n" "Language-Team: Pashto (https://app.transifex.com/hisp-uio/teams/100509/ps/)\n" @@ -37,6 +37,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "نور" + msgid "View {{programName}} dashboard" msgstr "" @@ -359,16 +362,10 @@ msgstr "" msgid "validation failed" msgstr "" -msgid "Errors" -msgstr "تېروتنې" - -msgid "Feedback" -msgstr "د فیډبک یا نظر ورکول" - -msgid "Indicators" -msgstr "شاخصونه" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" +msgid "No indicator output for this event yet" msgstr "" msgid "Generate new event" @@ -559,6 +556,9 @@ msgstr "" msgid "Column" msgstr "ستون" +msgid "Visible" +msgstr "د لیدو وړ دی" + msgid "Update" msgstr "تجدید یا نوي یې کړئ" @@ -766,12 +766,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -802,6 +796,11 @@ msgstr "پړاو" msgid "Registered events" msgstr "ثبت شوې پېښې" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -915,6 +914,18 @@ msgid "" "relationship" msgstr "" +msgid "Errors" +msgstr "تېروتنې" + +msgid "Feedback" +msgstr "د فیډبک یا نظر ورکول" + +msgid "Indicators" +msgstr "شاخصونه" + +msgid "Warnings" +msgstr "" + msgid "Show all events" msgstr "" @@ -956,6 +967,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "د پورته کېدو یا لوډینګ په حال کې" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "" @@ -1235,9 +1252,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "لغوه شوی" @@ -1478,6 +1492,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "پروګرام شوی" + msgid "Changelog" msgstr "" @@ -1643,9 +1666,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "پروګرام شوی" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/pt.po b/i18n/pt.po index 774ffce63f..81fb7ab3b9 100644 --- a/i18n/pt.po +++ b/i18n/pt.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Viktor Varland , 2024\n" "Language-Team: Portuguese (https://app.transifex.com/hisp-uio/teams/100509/pt/)\n" @@ -48,6 +48,9 @@ msgstr "" "(no mesmo domínio). Actualize esta página se desejar usar esta versão " "novamente, mas esteja ciente de que isso fechará outras versões." +msgid "More" +msgstr "Mais" + msgid "View {{programName}} dashboard" msgstr "Veja o painel do {{programName}}" @@ -383,17 +386,11 @@ msgstr "Pessoa registrada" msgid "validation failed" msgstr "falha na validação" -msgid "Errors" -msgstr "Erros" - -msgid "Feedback" -msgstr "Comentários" - -msgid "Indicators" -msgstr "Indicadores" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "Avisos" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "Gerar novo evento" @@ -586,6 +583,9 @@ msgstr "Colunas para mostrar na tabela" msgid "Column" msgstr "Coluna" +msgid "Visible" +msgstr "Visível" + msgid "Update" msgstr "Atualizar" @@ -813,12 +813,6 @@ msgstr "Ocorreu um erro ao carregar a página" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "O estagio do programa é inválida" @@ -849,6 +843,11 @@ msgstr "Estagio" msgid "Registered events" msgstr "Eventos registrados" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "Selecione {{category}}." @@ -966,6 +965,18 @@ msgstr "" "Sair desta página descartará todas as seleções feitas para um novo " "relacionamento" +msgid "Errors" +msgstr "Erros" + +msgid "Feedback" +msgstr "Comentários" + +msgid "Indicators" +msgstr "Indicadores" + +msgid "Warnings" +msgstr "Avisos" + msgid "Show all events" msgstr "Mostrar todos os eventos" @@ -1008,6 +1019,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "Os dados do evento de inscrição não foram encontrados" +msgid "Loading" +msgstr "Carregando.." + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Possíveis duplicatas encontradas" @@ -1565,6 +1582,15 @@ msgstr "{{ scheduledEvents }} agendado" msgid "Stages and Events" msgstr "Fases e Eventos" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Agendado" + msgid "Changelog" msgstr "" @@ -1731,9 +1757,6 @@ msgstr "Ocorreu um erro. Veja o log para detalhes" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "Programado para {{ escape }} com prazo para {{ time }}" -msgid "Scheduled" -msgstr "Agendado" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "Vencido {{ escape }} devido {{ time }}" diff --git a/i18n/pt_BR.po b/i18n/pt_BR.po index e9e5f01f49..59779dc49f 100644 --- a/i18n/pt_BR.po +++ b/i18n/pt_BR.po @@ -2,15 +2,15 @@ # Translators: # Oscar Mesones Lapouble , 2021 # Philip Larsen Donnelly, 2024 -# Viktor Varland , 2024 # Thiago Rocha, 2024 +# Viktor Varland , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: Thiago Rocha, 2024\n" +"Last-Translator: Viktor Varland , 2024\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/hisp-uio/teams/100509/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -39,6 +39,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "Mais" + msgid "View {{programName}} dashboard" msgstr "" @@ -362,16 +365,10 @@ msgstr "" msgid "validation failed" msgstr "" -msgid "Errors" -msgstr "Erros" - -msgid "Feedback" -msgstr "Retroinformacão" - -msgid "Indicators" -msgstr "Indicadores" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" +msgid "No indicator output for this event yet" msgstr "" msgid "Generate new event" @@ -562,6 +559,9 @@ msgstr "" msgid "Column" msgstr "Coluna" +msgid "Visible" +msgstr "Visível" + msgid "Update" msgstr "Actualizar" @@ -769,12 +769,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -805,6 +799,11 @@ msgstr "" msgid "Registered events" msgstr "" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -918,6 +917,18 @@ msgid "" "relationship" msgstr "" +msgid "Errors" +msgstr "Erros" + +msgid "Feedback" +msgstr "Retroinformacão" + +msgid "Indicators" +msgstr "Indicadores" + +msgid "Warnings" +msgstr "" + msgid "Show all events" msgstr "" @@ -960,6 +971,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Carregando.." + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "" @@ -1239,9 +1256,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "Cancelado" @@ -1485,6 +1499,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Agendado" + msgid "Changelog" msgstr "" @@ -1650,9 +1673,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "Agendado" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/ru.po b/i18n/ru.po index f62eb3ed86..39bdd2d94b 100644 --- a/i18n/ru.po +++ b/i18n/ru.po @@ -2,16 +2,16 @@ # Translators: # Ulanbek Abakirov , 2020 # Wanda , 2021 -# Viktor Varland , 2023 # Yury Rogachev , 2024 # Philip Larsen Donnelly, 2024 +# Viktor Varland , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: Philip Larsen Donnelly, 2024\n" +"Last-Translator: Viktor Varland , 2024\n" "Language-Team: Russian (https://app.transifex.com/hisp-uio/teams/100509/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -46,6 +46,9 @@ msgstr "" "версии в том же самом домене. Обновите эту страницу, если вы хотите " "использовать эту версию, но имейте в виду, что другие версии будут закрыты." +msgid "More" +msgstr "Более" + msgid "View {{programName}} dashboard" msgstr "Смотреть панель программы{{programName}} " @@ -381,17 +384,11 @@ msgstr "Зарегистрированное лицо" msgid "validation failed" msgstr "ошибка проверки" -msgid "Errors" -msgstr "Ошибки" - -msgid "Feedback" -msgstr "Обратная связь" - -msgid "Indicators" -msgstr "Индикаторы" +msgid "No feedback for this event yet" +msgstr "Комментариев для данного события нет" -msgid "Warnings" -msgstr "Предупреждения" +msgid "No indicator output for this event yet" +msgstr "Индикаторов для данного события нет" msgid "Generate new event" msgstr "Создать новое событие" @@ -584,6 +581,9 @@ msgstr "Столбцы, для отображения в таблице" msgid "Column" msgstr "Столбец" +msgid "Visible" +msgstr "Видимый" + msgid "Update" msgstr "Обновить" @@ -820,12 +820,6 @@ msgstr "Произошла ошибка при загрузке страницы msgid "Choose an organisation unit to start reporting" msgstr "Выберите организационную единицу, чтобы начать ввод данных" -msgid "No feedback for this event yet" -msgstr "Комментариев для данного события нет" - -msgid "No indicator output for this event yet" -msgstr "Индикаторов для данного события нет" - msgid "Program stage is invalid" msgstr "Этап программы недействителен" @@ -856,6 +850,11 @@ msgstr "Этап" msgid "Registered events" msgstr "Зарегистрированные события" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "Выберите {{category}}." @@ -970,6 +969,18 @@ msgid "" msgstr "" "Если покинуть данную страницу, все настройки новой связи будут утеряны" +msgid "Errors" +msgstr "Ошибки" + +msgid "Feedback" +msgstr "Обратная связь" + +msgid "Indicators" +msgstr "Индикаторы" + +msgid "Warnings" +msgstr "Предупреждения" + msgid "Show all events" msgstr "Показать все события" @@ -1013,6 +1024,12 @@ msgstr "Не удалось получить метаданные. Повтор msgid "The enrollment event data could not be found" msgstr "Данные событий для регистрационной записи - не найдены" +msgid "Loading" +msgstr "Загрузка" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Найдены возможные дубликаты " @@ -1598,6 +1615,15 @@ msgstr " Событий запланировано: {{ scheduledEvents }}" msgid "Stages and Events" msgstr "Этапы и события" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Запланировано" + msgid "Changelog" msgstr "Лог изменений" @@ -1765,9 +1791,6 @@ msgstr "Произошла ошибка. Подробности в лог-фай msgid "Scheduled{{ escape }} due {{ time }}" msgstr "Запланировано{{ escape }} на {{ time }}" -msgid "Scheduled" -msgstr "Запланировано" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "Просрочено {{ escape }} Срок {{ time }}" diff --git a/i18n/tg.po b/i18n/tg.po index 1114b6612b..d3195081c7 100644 --- a/i18n/tg.po +++ b/i18n/tg.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Viktor Varland , 2024\n" "Language-Team: Tajik (https://app.transifex.com/hisp-uio/teams/100509/tg/)\n" @@ -37,6 +37,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "" + msgid "View {{programName}} dashboard" msgstr "" @@ -359,16 +362,10 @@ msgstr "" msgid "validation failed" msgstr "" -msgid "Errors" +msgid "No feedback for this event yet" msgstr "" -msgid "Feedback" -msgstr "Изҳори назар" - -msgid "Indicators" -msgstr "Индикаторҳо" - -msgid "Warnings" +msgid "No indicator output for this event yet" msgstr "" msgid "Generate new event" @@ -559,6 +556,9 @@ msgstr "" msgid "Column" msgstr "Сутун" +msgid "Visible" +msgstr "Намоён" + msgid "Update" msgstr "Навсозӣ" @@ -766,12 +766,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -802,6 +796,11 @@ msgstr "" msgid "Registered events" msgstr "" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -915,6 +914,18 @@ msgid "" "relationship" msgstr "" +msgid "Errors" +msgstr "" + +msgid "Feedback" +msgstr "Изҳори назар" + +msgid "Indicators" +msgstr "Индикаторҳо" + +msgid "Warnings" +msgstr "" + msgid "Show all events" msgstr "" @@ -956,6 +967,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Бор мешавад" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "" @@ -1235,9 +1252,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "" @@ -1478,6 +1492,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "" + msgid "Changelog" msgstr "" @@ -1643,9 +1666,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/uk.po b/i18n/uk.po index 2e6b4b8122..382b45618d 100644 --- a/i18n/uk.po +++ b/i18n/uk.po @@ -3,15 +3,15 @@ # Philip Larsen Donnelly, 2023 # Wanda , 2024 # Éva Tamási, 2024 -# Viktor Varland , 2024 # Nadiia , 2024 +# Viktor Varland , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: Nadiia , 2024\n" +"Last-Translator: Viktor Varland , 2024\n" "Language-Team: Ukrainian (https://app.transifex.com/hisp-uio/teams/100509/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -40,6 +40,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "Більше" + msgid "View {{programName}} dashboard" msgstr "" @@ -364,16 +367,10 @@ msgstr "" msgid "validation failed" msgstr "" -msgid "Errors" -msgstr "Помилки" - -msgid "Feedback" -msgstr "Відгук" - -msgid "Indicators" -msgstr "Показники" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" +msgid "No indicator output for this event yet" msgstr "" msgid "Generate new event" @@ -564,6 +561,9 @@ msgstr "" msgid "Column" msgstr "Стовпчик" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "Оновити" @@ -771,12 +771,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -807,6 +801,11 @@ msgstr "" msgid "Registered events" msgstr "" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -920,6 +919,18 @@ msgid "" "relationship" msgstr "" +msgid "Errors" +msgstr "Помилки" + +msgid "Feedback" +msgstr "Відгук" + +msgid "Indicators" +msgstr "Показники" + +msgid "Warnings" +msgstr "" + msgid "Show all events" msgstr "" @@ -963,6 +974,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Завантаження" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "" @@ -1242,9 +1259,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "Скасовано" @@ -1491,6 +1505,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Заплановано" + msgid "Changelog" msgstr "" @@ -1656,9 +1679,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "Заплановано" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/ur.po b/i18n/ur.po index 3dc7473907..8e95fe396d 100644 --- a/i18n/ur.po +++ b/i18n/ur.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Viktor Varland , 2024\n" "Language-Team: Urdu (https://app.transifex.com/hisp-uio/teams/100509/ur/)\n" @@ -37,6 +37,9 @@ msgid "" "again, but be aware that this will close other versions." msgstr "" +msgid "More" +msgstr "مزید" + msgid "View {{programName}} dashboard" msgstr "" @@ -359,16 +362,10 @@ msgstr "" msgid "validation failed" msgstr "" -msgid "Errors" -msgstr "غلطیاں" - -msgid "Feedback" -msgstr "رائے" - -msgid "Indicators" -msgstr "اشارے" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" +msgid "No indicator output for this event yet" msgstr "" msgid "Generate new event" @@ -559,6 +556,9 @@ msgstr "" msgid "Column" msgstr "کالم" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "اپڈیٹ" @@ -766,12 +766,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -802,6 +796,11 @@ msgstr "اسٹیج" msgid "Registered events" msgstr "رجسٹرڈ واقعات" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -915,6 +914,18 @@ msgid "" "relationship" msgstr "" +msgid "Errors" +msgstr "غلطیاں" + +msgid "Feedback" +msgstr "رائے" + +msgid "Indicators" +msgstr "اشارے" + +msgid "Warnings" +msgstr "" + msgid "Show all events" msgstr "" @@ -956,6 +967,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "لوڈ کر رہا ہے" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "" @@ -1235,9 +1252,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "منسوخ" @@ -1478,6 +1492,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "شیڈول کردہ" + msgid "Changelog" msgstr "" @@ -1643,9 +1666,6 @@ msgstr "" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "شیڈول کردہ" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/uz_UZ_Cyrl.po b/i18n/uz_UZ_Cyrl.po index aabb52fc5f..cd49eaf87b 100644 --- a/i18n/uz_UZ_Cyrl.po +++ b/i18n/uz_UZ_Cyrl.po @@ -1,14 +1,14 @@ # # Translators: # Philip Larsen Donnelly, 2024 -# Ibatov , 2024 +# Khurshid Ibatov , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: Ibatov , 2024\n" +"Last-Translator: Khurshid Ibatov , 2024\n" "Language-Team: Uzbek (Cyrillic) (https://app.transifex.com/hisp-uio/teams/100509/uz@Cyrl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,6 +43,9 @@ msgstr "" "ишлашини қўллаб қувватлайди. Ушбу версияни қайта ишлатмоқчи бўлсангиз, " "Илтимос, саҳифани янгиланг, аммо бошқа версиялар ёпилишини унутманг." +msgid "More" +msgstr "Кўпроқ" + msgid "View {{programName}} dashboard" msgstr "" @@ -377,17 +380,11 @@ msgstr "Рўйхатдан ўтган шахс" msgid "validation failed" msgstr "Тасдиқлаш амалга ошмади" -msgid "Errors" -msgstr "Хатоликлар" - -msgid "Feedback" -msgstr "Қайта алоқа" - -msgid "Indicators" -msgstr "Индикаторлар" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "Огоҳлантиришлар" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "Янги ҳодиса/тадбир яратиш" @@ -577,6 +574,9 @@ msgstr "Жадвалда кўрсатиладиган устунлар" msgid "Column" msgstr "Устун" +msgid "Visible" +msgstr "Кўринадиган" + msgid "Update" msgstr "Янгилаш" @@ -791,12 +791,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -827,6 +821,11 @@ msgstr "Босқич" msgid "Registered events" msgstr "Рўйхатдан ўтган ҳодиса/тадбирлар" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -944,6 +943,18 @@ msgstr "" "Ушбу саҳифани тарк этсангиз, янги алоқа-муносабатлар учун қилинган барча " "танловлар бекор қилинади " +msgid "Errors" +msgstr "Хатоликлар" + +msgid "Feedback" +msgstr "Қайта алоқа" + +msgid "Indicators" +msgstr "Индикаторлар" + +msgid "Warnings" +msgstr "Огоҳлантиришлар" + msgid "Show all events" msgstr "Барча ҳодиса/тадбирларни кўрсатиш" @@ -984,6 +995,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Юкланмоқда" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Бўлиши мумкин бўлган нусхалар топилди" @@ -1508,6 +1525,15 @@ msgstr "" msgid "Stages and Events" msgstr "Босқичлар ва Ҳодиса/тадбирлар" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Режа бўйича" + msgid "Changelog" msgstr "" @@ -1673,9 +1699,6 @@ msgstr "Хатолик юз берди. Тафсилотларни журнал msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "Режа бўйича" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/uz_UZ_Latn.po b/i18n/uz_UZ_Latn.po index 46c699f432..3c876c6abd 100644 --- a/i18n/uz_UZ_Latn.po +++ b/i18n/uz_UZ_Latn.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Yury Rogachev , 2024\n" "Language-Team: Uzbek (Latin) (https://app.transifex.com/hisp-uio/teams/100509/uz@Latn/)\n" @@ -44,6 +44,9 @@ msgstr "" "ishlatmoqchi boʼlsangiz, Iltimos, sahifani yangilang, ammo boshqa versiyalar" " yopilishini unutmang." +msgid "More" +msgstr "Koʼproq" + msgid "View {{programName}} dashboard" msgstr "" @@ -377,17 +380,11 @@ msgstr "Roʼyxatdan oʼtgan shaxs" msgid "validation failed" msgstr "Tasdiqlash amalga oshmadi" -msgid "Errors" -msgstr "Xatoliklar" - -msgid "Feedback" -msgstr "Qayta aloqa" - -msgid "Indicators" -msgstr "Indikatorlar" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "Ogohlantirishlar" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "Yangi hodisa/tadbir yaratish" @@ -577,6 +574,9 @@ msgstr "Jadvalda koʼrsatiladigan ustunlar" msgid "Column" msgstr "Ustun" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "Янгилаш" @@ -784,12 +784,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -820,6 +814,11 @@ msgstr "Босқич" msgid "Registered events" msgstr "Roʼyxatdan oʼtgan hodisa/tadbirlar" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -935,6 +934,18 @@ msgstr "" "Ushbu sahifani tark etsangiz, yangi aloqa-munosabatlar uchun qilingan barcha" " tanlovlar bekor qilinadi" +msgid "Errors" +msgstr "Xatoliklar" + +msgid "Feedback" +msgstr "Qayta aloqa" + +msgid "Indicators" +msgstr "Indikatorlar" + +msgid "Warnings" +msgstr "Ogohlantirishlar" + msgid "Show all events" msgstr "Barcha hodisa/tadbirlarni koʼrsatish" @@ -976,6 +987,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Yuklanmoqda" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Boʼlishi mumkin boʼlgan nusxalar topildi" @@ -1259,9 +1276,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "Bekor qilindi" @@ -1499,6 +1513,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Reja boʼyicha" + msgid "Changelog" msgstr "" @@ -1665,9 +1688,6 @@ msgstr "Xatolik yuz berdi. Tafsilotlarni jurnaldan koʼring." msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "Reja boʼyicha" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/vi.po b/i18n/vi.po index 1b1f6ad6f1..f4fdf8ca07 100644 --- a/i18n/vi.po +++ b/i18n/vi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: Viktor Varland , 2024\n" "Language-Team: Vietnamese (https://app.transifex.com/hisp-uio/teams/100509/vi/)\n" @@ -45,6 +45,9 @@ msgstr "" " Vui lòng làm mới trang này nếu bạn muốn sử dụng lại phiên bản này, nhưng " "lưu ý rằng điều này sẽ đóng các phiên bản khác." +msgid "More" +msgstr "Thêm" + msgid "View {{programName}} dashboard" msgstr "" @@ -374,17 +377,11 @@ msgstr "Người đã đăng ký" msgid "validation failed" msgstr "xác thực không thành công" -msgid "Errors" -msgstr "Lỗi" - -msgid "Feedback" -msgstr "Phản hồi" - -msgid "Indicators" -msgstr "Các chỉ số" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "Cảnh báo" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "Tạo sự kiện mới" @@ -574,6 +571,9 @@ msgstr "Cột hiển thị trong bảng" msgid "Column" msgstr "Cột" +msgid "Visible" +msgstr "Hiển thị" + msgid "Update" msgstr "Cập nhật" @@ -781,12 +781,6 @@ msgstr "" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "" @@ -817,6 +811,11 @@ msgstr "Giai Đoạn Chương Trình" msgid "Registered events" msgstr "Sự kiện đã đăng ký" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "" @@ -932,6 +931,18 @@ msgstr "" "Rời khỏi trang này sẽ hủy mọi lựa chọn bạn đã thực hiện cho một mối quan hệ " "mới" +msgid "Errors" +msgstr "Lỗi" + +msgid "Feedback" +msgstr "Phản hồi" + +msgid "Indicators" +msgstr "Các chỉ số" + +msgid "Warnings" +msgstr "Cảnh báo" + msgid "Show all events" msgstr "Hiện tất cả sự kiện" @@ -972,6 +983,12 @@ msgstr "" msgid "The enrollment event data could not be found" msgstr "" +msgid "Loading" +msgstr "Đang tải" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "Có thể tìm thấy các bản sao" @@ -1257,9 +1274,6 @@ msgstr "" msgid "Owned by {{ownerOrgUnit}}" msgstr "" -msgid "Last updated {{date}}" -msgstr "" - msgid "Cancelled" msgstr "Đã hủy" @@ -1497,6 +1511,15 @@ msgstr "" msgid "Stages and Events" msgstr "" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "Đã xếp lịch" + msgid "Changelog" msgstr "" @@ -1662,9 +1685,6 @@ msgstr "Có lỗi. Xem log để biết thêm chi tiết." msgid "Scheduled{{ escape }} due {{ time }}" msgstr "" -msgid "Scheduled" -msgstr "Đã xếp lịch" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "" diff --git a/i18n/zh.po b/i18n/zh.po index 13457ac634..c38f86a638 100644 --- a/i18n/zh.po +++ b/i18n/zh.po @@ -1,16 +1,16 @@ # # Translators: # Philip Larsen Donnelly, 2024 -# Viktor Varland , 2024 -# 晓东 林 <13981924470@126.com>, 2024 # easylin , 2024 +# 晓东 林 <13981924470@126.com>, 2024 +# Viktor Varland , 2024 # msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" -"Last-Translator: easylin , 2024\n" +"Last-Translator: Viktor Varland , 2024\n" "Language-Team: Chinese (https://app.transifex.com/hisp-uio/teams/100509/zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,6 +41,9 @@ msgstr "" "您在同一域中打开了另一个版本的Capture App。当前,Capture " "App仅支持同时运行一个版本(在同一域中)。如果您想再次使用此版本,请刷新此页面,但是请注意,它将关闭其他版本。" +msgid "More" +msgstr "更多" + msgid "View {{programName}} dashboard" msgstr "查看 {{programName}} 仪表板" @@ -362,17 +365,11 @@ msgstr "登记的人" msgid "validation failed" msgstr "验证失败" -msgid "Errors" -msgstr "错误" - -msgid "Feedback" -msgstr "反馈" - -msgid "Indicators" -msgstr "指标" +msgid "No feedback for this event yet" +msgstr "此事件尚未有任何反馈" -msgid "Warnings" -msgstr "错误" +msgid "No indicator output for this event yet" +msgstr "此事件尚无指标输出" msgid "Generate new event" msgstr "生成新事件" @@ -562,6 +559,9 @@ msgstr "表中显示的列" msgid "Column" msgstr "列" +msgid "Visible" +msgstr "可见" + msgid "Update" msgstr "更新" @@ -602,7 +602,7 @@ msgid "Program doesn't exist" msgstr "项目不存在" msgid "Selected program is invalid for selected organisation unit" -msgstr "所选项目对所选组织机构无效" +msgstr "所选项目对所选机构无效" msgid "Online" msgstr "在线" @@ -770,13 +770,7 @@ msgid "There was an error loading the page" msgstr "加载页面时出错" msgid "Choose an organisation unit to start reporting" -msgstr "选择一个组织机构开始报告" - -msgid "No feedback for this event yet" -msgstr "此事件尚未有任何反馈" - -msgid "No indicator output for this event yet" -msgstr "此事件尚无指标输出" +msgstr "选择一个机构开始报告" msgid "Program stage is invalid" msgstr "项目阶段无效" @@ -808,6 +802,11 @@ msgstr "阶段" msgid "Registered events" msgstr "注册的事件" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "类别选项对所选机构无效。请选择一个有效的组合。" + msgid "Please select {{category}}." msgstr "请选择 {{category}}." @@ -818,7 +817,7 @@ msgid "Or see all events accessible to you in {{program}}" msgstr "或者在{{program}}中查看您可以访问的所有事件" msgid "Please select an organisation unit." -msgstr "请选择一个组织单位。" +msgstr "请选择一个机构。" msgid "" "You don't have access to create a {{trackedEntityName}} in the current " @@ -869,7 +868,7 @@ msgid "Program" msgstr "项目" msgid "Organisation Unit" -msgstr "组织机构" +msgstr "机构" msgid "Registration" msgstr "注册" @@ -921,6 +920,18 @@ msgid "" "relationship" msgstr "离开该页将丢失你创建新关系的所有选择" +msgid "Errors" +msgstr "错误" + +msgid "Feedback" +msgstr "反馈" + +msgid "Indicators" +msgstr "指标" + +msgid "Warnings" +msgstr "错误" + msgid "Show all events" msgstr "显示所有事件" @@ -961,6 +972,12 @@ msgstr "无法检索元数据。请稍后再试。" msgid "The enrollment event data could not be found" msgstr "找不到报名事件数据" +msgid "Loading" +msgstr "载入" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "发现可能的重复" @@ -980,7 +997,7 @@ msgid "No results found for " msgstr "没有找到结果" msgid "Choose an organisation unit" -msgstr "选择组织单位" +msgstr "选择机构" msgid "Clear selection" msgstr "清空选项" @@ -992,7 +1009,7 @@ msgid "Search for a program" msgstr "搜索项目" msgid "Some programs are being filtered by the chosen organisation unit" -msgstr "某些项目正在被所选组织单位过滤" +msgstr "某些项目正在被所选机构过滤" msgid "Show all programs" msgstr "显示所有项目" @@ -1222,7 +1239,7 @@ msgstr "所有权转让" msgid "" "Choose the organisation unit to which enrollment ownership should be " "transferred." -msgstr "选择注册所有权应转移到的组织单位。" +msgstr "选择注册所有权应转移到的机构。" msgid "Enrollment date" msgstr "报名日期" @@ -1255,7 +1272,7 @@ msgid "Please add or cancel the note before saving the event" msgstr "请在保存事件前添加或取消备注" msgid "organisation unit could not be retrieved. Please try again later." -msgstr "无法检索组织机构。请稍后再试。" +msgstr "无法检索机构。请稍后再试。" msgid "Saving to {{stageName}} for {{programName}} in {{orgUnitName}}" msgstr "为 {{orgUnitName}} 中的 {{programName}} 保存到 {{stageName}}" @@ -1481,6 +1498,15 @@ msgstr "{{ scheduledEvents }} 已安排" msgid "Stages and Events" msgstr "阶段与活动" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "已经调度" + msgid "Changelog" msgstr "变更日志" @@ -1646,9 +1672,6 @@ msgstr "发生错误。查看日志以获取详细信息" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "调度{{ escape }}到期{{ time }}" -msgid "Scheduled" -msgstr "已经调度" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "逾期{{ escape }}到期{{ time }}" @@ -1689,7 +1712,7 @@ msgid "Could not delete working list" msgstr "不能删除工作列表" msgid "Organisation unit search failed." -msgstr "组织机构搜索失败。" +msgstr "机构搜索失败。" msgid "Error saving tracked entity instance" msgstr "保存跟踪的实体实例时出错" diff --git a/i18n/zh_CN.po b/i18n/zh_CN.po index 4ea3450a93..29a3101e26 100644 --- a/i18n/zh_CN.po +++ b/i18n/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: i18next-conv\n" -"POT-Creation-Date: 2024-06-28T11:23:02.970Z\n" +"POT-Creation-Date: 2024-08-08T11:49:13.423Z\n" "PO-Revision-Date: 2019-06-27 07:31+0000\n" "Last-Translator: 晓东 林 <13981924470@126.com>, 2024\n" "Language-Team: Chinese (China) (https://app.transifex.com/hisp-uio/teams/100509/zh_CN/)\n" @@ -40,6 +40,9 @@ msgstr "" "您在同一域中打开了另一个版本的Capture App。当前,Capture " "App仅支持同时运行一个版本(在同一域中)。如果您想再次使用此版本,请刷新此页面,但是请注意,它将关闭其他版本。" +msgid "More" +msgstr "更多" + msgid "View {{programName}} dashboard" msgstr "查看 {{programName}} 仪表板" @@ -361,17 +364,11 @@ msgstr "登记的人" msgid "validation failed" msgstr "验证失败" -msgid "Errors" -msgstr "错误" - -msgid "Feedback" -msgstr "反馈" - -msgid "Indicators" -msgstr "指标" +msgid "No feedback for this event yet" +msgstr "" -msgid "Warnings" -msgstr "错误" +msgid "No indicator output for this event yet" +msgstr "" msgid "Generate new event" msgstr "生成新事件" @@ -561,6 +558,9 @@ msgstr "表中显示的列" msgid "Column" msgstr "列" +msgid "Visible" +msgstr "" + msgid "Update" msgstr "更新" @@ -771,12 +771,6 @@ msgstr "加载页面时出错" msgid "Choose an organisation unit to start reporting" msgstr "" -msgid "No feedback for this event yet" -msgstr "" - -msgid "No indicator output for this event yet" -msgstr "" - msgid "Program stage is invalid" msgstr "项目阶段无效" @@ -807,6 +801,11 @@ msgstr "阶段" msgid "Registered events" msgstr "注册的事件" +msgid "" +"The category option is not valid for the selected organisation unit. Please " +"select a valid combination." +msgstr "" + msgid "Please select {{category}}." msgstr "请选择 {{category}}." @@ -920,6 +919,18 @@ msgid "" "relationship" msgstr "离开该页将丢失你创建新关系的所有选择" +msgid "Errors" +msgstr "错误" + +msgid "Feedback" +msgstr "反馈" + +msgid "Indicators" +msgstr "指标" + +msgid "Warnings" +msgstr "错误" + msgid "Show all events" msgstr "显示所有事件" @@ -960,6 +971,12 @@ msgstr "无法检索元数据。请稍后再试。" msgid "The enrollment event data could not be found" msgstr "找不到报名事件数据" +msgid "Loading" +msgstr "载入" + +msgid "An error occurred while loading the form" +msgstr "" + msgid "Possible duplicates found" msgstr "发现可能的重复" @@ -1478,6 +1495,15 @@ msgstr "{{ scheduledEvents }} 已调度" msgid "Stages and Events" msgstr "阶段与活动" +msgid "An error occurred while loading the widget." +msgstr "" + +msgid "View linked event" +msgstr "" + +msgid "Scheduled" +msgstr "已经调度" + msgid "Changelog" msgstr "" @@ -1643,9 +1669,6 @@ msgstr "发生错误。查看日志以获取详细信息" msgid "Scheduled{{ escape }} due {{ time }}" msgstr "调度{{ escape }}到期{{ time }}" -msgid "Scheduled" -msgstr "已经调度" - msgid "Overdue{{ escape }} due {{ time }}" msgstr "逾期{{ escape }}到期{{ time }}" diff --git a/package.json b/package.json index fafade7bb2..9e0a9abd76 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "capture-app", "homepage": ".", - "version": "101.1.2", + "version": "101.2.0", "cacheVersion": "7", "serverVersion": "38", "license": "BSD-3-Clause", @@ -10,7 +10,7 @@ "packages/rules-engine" ], "dependencies": { - "@dhis2/rules-engine-javascript": "101.1.2", + "@dhis2/rules-engine-javascript": "101.2.0", "@dhis2/app-runtime": "^3.9.3", "@dhis2/d2-i18n": "^1.1.0", "@dhis2/d2-icons": "^1.0.1", diff --git a/packages/rules-engine/package.json b/packages/rules-engine/package.json index 99f4460d48..d155540271 100644 --- a/packages/rules-engine/package.json +++ b/packages/rules-engine/package.json @@ -1,6 +1,6 @@ { "name": "@dhis2/rules-engine-javascript", - "version": "101.1.2", + "version": "101.2.0", "license": "BSD-3-Clause", "main": "./build/cjs/index.js", "scripts": { diff --git a/src/core_modules/capture-core/components/CardList/CardListItem.component.js b/src/core_modules/capture-core/components/CardList/CardListItem.component.js index a1fe4bc5d1..d411d1a933 100644 --- a/src/core_modules/capture-core/components/CardList/CardListItem.component.js +++ b/src/core_modules/capture-core/components/CardList/CardListItem.component.js @@ -3,7 +3,7 @@ import i18n from '@dhis2/d2-i18n'; import React from 'react'; import moment from 'moment'; import type { ComponentType } from 'react'; -import { Grid, withStyles } from '@material-ui/core'; +import { withStyles } from '@material-ui/core'; import { colors, Tag, IconCheckmark16, Tooltip } from '@dhis2/ui'; import { useTimeZoneConversion } from '@dhis2/app-runtime'; import { CardImage } from '../../../capture-ui/CardImage/CardImage.component'; @@ -18,21 +18,20 @@ import { dataElementTypes, getTrackerProgramThrowIfNotFound } from '../../metaDa import { useOrgUnitName } from '../../metadataRetrieval/orgUnitName'; import type { ListItem, RenderCustomCardActions } from './CardList.types'; - type OwnProps = $ReadOnly<{| item: ListItem, - currentSearchScopeName?: string, - currentProgramId?: string, - currentSearchScopeType?: string, - renderCustomCardActions?: RenderCustomCardActions, - profileImageDataElement: ?CardProfileImageElementInformation, - dataElements: CardDataElementsInformation, + currentSearchScopeName ?: string, + currentProgramId ?: string, + currentSearchScopeType ?: string, + renderCustomCardActions ?: RenderCustomCardActions, + profileImageDataElement: ?CardProfileImageElementInformation, + dataElements: CardDataElementsInformation, |}>; type Props = $ReadOnly<{| ...OwnProps, ...CssClasses -|}>; + |}>; const getStyles = (theme: Theme) => ({ itemContainer: { @@ -44,6 +43,7 @@ const getStyles = (theme: Theme) => ({ borderRadius: theme.typography.pxToRem(5), border: `1px solid ${colors.grey400}`, backgroundColor: colors.grey050, + position: 'relative', }, itemDataContainer: { display: 'flex', @@ -52,6 +52,9 @@ const getStyles = (theme: Theme) => ({ fontSize: theme.typography.pxToRem(12), color: colors.grey700, paddingBottom: theme.typography.pxToRem(8), + position: 'absolute', + top: theme.typography.pxToRem(8), + right: theme.typography.pxToRem(8), }, enrolled: { display: 'flex', @@ -213,49 +216,39 @@ const CardListItemIndex = ({ return (
-
- - - {renderImageDataElement(profileImageDataElement)} - - - - {dataElements - .map(({ id, name, type }) => ( - )) - } - - {renderEnrollmentDetails()} - - - { - item.tei && item.tei.updatedAt && -
- { i18n.t('Last updated') } {' '} - { item.tei && - { moment(fromServerDate(item.tei.updatedAt)).fromNow() } - } -
- } - -
- {renderTag()} -
-
-
-
+ {renderImageDataElement(profileImageDataElement)} +
+ {dataElements + .map(({ id, name, type }) => ( + + )) + } + {renderEnrollmentDetails()} +
+
+
+ {renderTag()} +
+
- - { - renderCustomCardActions - && + {item.tei && item.tei.updatedAt && ( +
+ {i18n.t('Last updated')}{' '} + {item.tei && ( + + {moment(fromServerDate(item.tei.updatedAt)).fromNow()} + + )} +
+ )} + {renderCustomCardActions && (
{ renderCustomCardActions({ @@ -270,7 +263,7 @@ const CardListItemIndex = ({ }) }
- } + )}
); }; diff --git a/src/core_modules/capture-core/components/FiltersForTypes/Date/End.component.js b/src/core_modules/capture-core/components/FiltersForTypes/Date/End.component.js index 0f60c20b13..cf5a698740 100644 --- a/src/core_modules/capture-core/components/FiltersForTypes/Date/End.component.js +++ b/src/core_modules/capture-core/components/FiltersForTypes/Date/End.component.js @@ -39,7 +39,7 @@ class EndRangeFilterPlain extends Component { onBlur={this.handleBlur} placeholder={i18n.t('Days in the future')} fullWidth - data-test="date-range-filter-end" + dataTest="date-range-filter-end" {...passOnProps} />
{error}
diff --git a/src/core_modules/capture-core/components/FiltersForTypes/Date/Start.component.js b/src/core_modules/capture-core/components/FiltersForTypes/Date/Start.component.js index e695c742d3..3e0445e716 100644 --- a/src/core_modules/capture-core/components/FiltersForTypes/Date/Start.component.js +++ b/src/core_modules/capture-core/components/FiltersForTypes/Date/Start.component.js @@ -37,7 +37,7 @@ class StartRangeFilterPlain extends Component { onBlur={this.handleBlur} placeholder={i18n.t('Days in the past')} fullWidth - data-test="date-range-filter-start" + dataTest="date-range-filter-start" {...passOnProps} />
{error}
diff --git a/src/core_modules/capture-core/components/FormFields/AgeField/AgeField.component.js b/src/core_modules/capture-core/components/FormFields/AgeField/AgeField.component.js deleted file mode 100644 index 70b96df9f9..0000000000 --- a/src/core_modules/capture-core/components/FormFields/AgeField/AgeField.component.js +++ /dev/null @@ -1,234 +0,0 @@ -// @flow -import React, { Component } from 'react'; -import i18n from '@dhis2/d2-i18n'; -import moment from 'moment'; -import TextField from '@material-ui/core/TextField'; -import { IconCross16 } from '@dhis2/ui'; -import { D2Date } from '../DateAndTime/D2Date/D2Date.component'; - -type Props = { - onBlur: (value: string, event: UiEventData) => void, -}; - -const containerStyle = { - display: 'flex', - flexDirection: 'row', - flexWrap: 'nowrap', -}; - -const datePickerStyle = { - marginTop: 16, -}; - -const textFieldStyle = { - marginLeft: 8, - width: 60, -}; - -const labelStyle = { - color: 'rgba(0, 0, 0, 0.54)', - fontSize: '1em', -}; - -const clearIconStyle = { - cursor: 'pointer', - marginTop: 20, - marginLeft: 10, -}; - -function monthsDiff(d) { - const now = new Date(); - let months = (now.getFullYear() - d.getFullYear()) * 12; - months += now.getMonth() - d.getMonth(); - - if (now.getDate() < d.getDate()) { - months -= 1; - } - - return months; -} - -function daysDiff(d) { - const now = new Date(); - - if (d.getDate() === now.getDate()) { - return 0; - } - - if (now.getDate() > d.getDate()) { - return now.getDate() - d.getDate(); - } - - if (d.getDate() > now.getDate()) { - const lastDate = new Date(d.getFullYear(), d.getMonth() + 1, 0); - const d2 = new Date(d.getFullYear(), d.getMonth() + 1, now.getDate()); - let diff = lastDate.getDate() - d.getDate(); - diff += d2.getDate(); - return diff; - } - - return 0; -} - -function calculatedValues(d) { - const totalMonths = monthsDiff(d); - const years = Math.floor(totalMonths / 12); - const months = totalMonths % 12; - const days = daysDiff(d); - - return { - days, - months, - years, - }; -} - -export class AgeField extends Component { - static defaultProps = { - value: '', - }; - - constructor(props: Props) { - super(props); - - let years = ''; - let months = ''; - let days = ''; - // $FlowFixMe[prop-missing] automated comment - if (props.value) { - // $FlowFixMe[incompatible-call] automated comment - const v = calculatedValues(new Date(props.value)); - years = v.years; - months = v.months; - days = v.days; - } - - // $FlowFixMe[incompatible-type] automated comment - this.state = { - // $FlowFixMe[prop-missing] automated comment - date: props.value, - years, - months, - days, - }; - } - - emitChange = () => { - // $FlowFixMe[incompatible-call] automated comment - // $FlowFixMe[incompatible-use] automated comment - this.props.onBlur(this.state.date); - } - - updateDate = () => { - // $FlowFixMe[incompatible-use] automated comment - let { years, months, days } = this.state; - - years = years === '' ? 0 : years; - months = months === '' ? 0 : months; - days = days === '' ? 0 : days; - - years = parseInt(years, 10); - months = parseInt(months, 10); - days = parseInt(days, 10); - - const d = moment(); - d.subtract(years, 'years'); - d.subtract(months, 'months'); - d.subtract(days, 'days'); - - // $FlowFixMe[incompatible-call] automated comment - this.setState({ - ...calculatedValues(d.toDate()), - date: d.format('MM/DD/YYYY'), - }, this.emitChange); - } - - // $FlowFixMe[missing-annot] automated comment - // $FlowFixMe[incompatible-call] automated comment - onYearsChange = evt => this.setState({ years: evt.target.value }) - // $FlowFixMe[missing-annot] automated comment - // $FlowFixMe[incompatible-call] automated comment - onMonthsChange = evt => this.setState({ months: evt.target.value }) - // $FlowFixMe[missing-annot] automated comment - // $FlowFixMe[incompatible-call] automated comment - onDaysChange = evt => this.setState({ days: evt.target.value }) - - // $FlowFixMe[missing-annot] automated comment - handleCalendarBlur = (date) => { - if (!date) { - return; - } - - // $FlowFixMe[incompatible-call] automated comment - this.setState({ - date, - ...calculatedValues(new Date(date)), - }, this.emitChange); - } - - onClear = () => { - // $FlowFixMe[incompatible-call] automated comment - this.setState({ - date: '', - years: '', - months: '', - days: '', - }); - } - - render() { - return ( -
- {/* $FlowFixMe[prop-missing] automated comment */} -
{this.props.label}
-
-
- -
- - - -
- -
-
-
- ); - } -} diff --git a/src/core_modules/capture-core/components/FormFields/EmailField/EmailField.component.js b/src/core_modules/capture-core/components/FormFields/EmailField/EmailField.component.js deleted file mode 100644 index 5b9e3dfe39..0000000000 --- a/src/core_modules/capture-core/components/FormFields/EmailField/EmailField.component.js +++ /dev/null @@ -1,50 +0,0 @@ -// @flow -import React, { Component } from 'react'; -import TextField from '@material-ui/core/TextField'; - -type Props = { - onChange: (value: string, event: UiEventData) => void, - onBlur: (value: string, event: UiEventData) => void, -}; - -export class D2EmailField extends Component { - materialUIInstance: any; - materialUIContainerInstance: any; - handleChange: (event: UiEventData) => void; - handleBlur: (event: UiEventData) => void; - - static defaultProps = { - value: '', - }; - - constructor(props: Props) { - super(props); - this.handleChange = this.handleChange.bind(this); - this.handleBlur = this.handleBlur.bind(this); - } - - handleChange(event: UiEventData) { - this.props.onChange(event.target.value, event); - } - - handleBlur(event: UiEventData) { - this.props.onBlur(event.target.value, event); - } - - render() { - const { onChange, onBlur, ...passOnProps } = this.props; - - return ( -
{ this.materialUIContainerInstance = containerInstance; }}> - {/* $FlowFixMe[cannot-spread-inexact] automated comment */} - { this.materialUIInstance = inst; }} - {...passOnProps} - type="email" - onChange={this.handleChange} - onBlur={this.handleBlur} - /> -
- ); - } -} diff --git a/src/core_modules/capture-core/components/FormFields/Generic/D2TextField.component.js b/src/core_modules/capture-core/components/FormFields/Generic/D2TextField.component.js index eee2c72b52..5a6aca542a 100644 --- a/src/core_modules/capture-core/components/FormFields/Generic/D2TextField.component.js +++ b/src/core_modules/capture-core/components/FormFields/Generic/D2TextField.component.js @@ -1,10 +1,10 @@ // @flow +import { Input } from '@dhis2/ui'; import React, { Component } from 'react'; -import TextField from '@material-ui/core/TextField'; type Props = { - onChange?: ?(value: string, event: SyntheticEvent) => void, - onBlur?: ?(value: string, event: SyntheticEvent) => void, + onChange?: ?(value: string, event: HTMLInputElement) => void, + onBlur?: ?(value: string, event: HTMLInputElement) => void, value: ?string, }; @@ -21,12 +21,12 @@ export class D2TextField extends Component { this.handleBlur = this.handleBlur.bind(this); } - handleChange = (event: SyntheticEvent) => { - this.props.onChange && this.props.onChange(event.currentTarget.value, event); + handleChange = (event: HTMLInputElement) => { + this.props.onChange && this.props.onChange(event.value, event); } - handleBlur = (event: SyntheticEvent) => { - this.props.onBlur && this.props.onBlur(event.currentTarget.value, event); + handleBlur = (event: HTMLInputElement) => { + this.props.onBlur && this.props.onBlur(event.value, event); } focus() { @@ -39,7 +39,7 @@ export class D2TextField extends Component { return (
{ this.materialUIContainerInstance = containerInstance; }}> {/* $FlowFixMe[cannot-spread-inexact] automated comment */} - { this.materialUIInstance = inst; }} value={value || ''} onChange={this.handleChange} diff --git a/src/core_modules/capture-core/components/FormFields/PhoneNumber/PhoneNumber.component.js b/src/core_modules/capture-core/components/FormFields/PhoneNumber/PhoneNumber.component.js deleted file mode 100644 index e4219b238c..0000000000 --- a/src/core_modules/capture-core/components/FormFields/PhoneNumber/PhoneNumber.component.js +++ /dev/null @@ -1,50 +0,0 @@ -// @flow -import React, { Component } from 'react'; -import TextField from '@material-ui/core/TextField'; - -type Props = { - onChange: (value: string, event: UiEventData) => void, - onBlur: (value: string, event: UiEventData) => void, -}; - -export class D2PhoneNumber extends Component { - materialUIInstance: any; - materialUIContainerInstance: any; - handleChange: (event: UiEventData) => void; - handleBlur: (event: UiEventData) => void; - - static defaultProps = { - value: '', - }; - - constructor(props: Props) { - super(props); - this.handleChange = this.handleChange.bind(this); - this.handleBlur = this.handleBlur.bind(this); - } - - handleChange(event: UiEventData) { - this.props.onChange(event.target.value, event); - } - - handleBlur(event: UiEventData) { - this.props.onBlur(event.target.value, event); - } - - render() { - const { onChange, onBlur, ...passOnProps } = this.props; - - return ( -
{ this.materialUIContainerInstance = containerInstance; }}> - {/* $FlowFixMe[cannot-spread-inexact] automated comment */} - { this.materialUIInstance = inst; }} - {...passOnProps} - type="text" - onChange={this.handleChange} - onBlur={this.handleBlur} - /> -
- ); - } -} diff --git a/src/core_modules/capture-core/components/IncompleteSelectionsMessage/index.js b/src/core_modules/capture-core/components/IncompleteSelectionsMessage/index.js index aac6f17f94..6c206f72b6 100644 --- a/src/core_modules/capture-core/components/IncompleteSelectionsMessage/index.js +++ b/src/core_modules/capture-core/components/IncompleteSelectionsMessage/index.js @@ -1,6 +1,5 @@ import React from 'react'; import Paper from '@material-ui/core/Paper/Paper'; -import Grid from '@material-ui/core/Grid/Grid'; import { withStyles } from '@material-ui/core'; import { colors } from '@dhis2/ui'; @@ -15,15 +14,16 @@ const StyledPaper = withStyles({ }, })(Paper); -export const IncompleteSelectionsMessage = ({ children, dataTest = 'informative-paper' }) => ( - - - - {children} - - - ); +const containerStyle = { + display: 'flex', + justifyContent: 'center', + width: '100%', +}; +export const IncompleteSelectionsMessage = ({ children, dataTest = 'informative-paper' }) => ( +
+ + {children} + +
+); diff --git a/src/core_modules/capture-core/components/InfoIconText/InfoIconText.js b/src/core_modules/capture-core/components/InfoIconText/InfoIconText.js index 49b416c249..87be34ef5b 100644 --- a/src/core_modules/capture-core/components/InfoIconText/InfoIconText.js +++ b/src/core_modules/capture-core/components/InfoIconText/InfoIconText.js @@ -2,8 +2,6 @@ import React, { type ComponentType, type Node } from 'react'; import withStyles from '@material-ui/core/styles/withStyles'; import { IconInfo16, colors } from '@dhis2/ui'; -import Grid from '@material-ui/core/Grid'; - type OwnProps = {| children: string | Node |} @@ -15,6 +13,8 @@ const styles = () => ({ container: { marginTop: 12, marginBottom: 12, + display: 'flex', + alignItems: 'center', }, text: { fontSize: 14, @@ -24,18 +24,15 @@ const styles = () => ({ }, }); - const InfoIconTextPlain = ({ classes, children }) => ( - - - - - - - +
+ + + + {children} - - + +
); export const InfoIconText: ComponentType = withStyles(styles)(InfoIconTextPlain); diff --git a/src/core_modules/capture-core/components/Pages/Enrollment/EnrollmentPageDefault/EnrollmentQuickActions/EnrollmentQuickActions.component.js b/src/core_modules/capture-core/components/Pages/Enrollment/EnrollmentPageDefault/EnrollmentQuickActions/EnrollmentQuickActions.component.js index e5621d7449..55dabda823 100644 --- a/src/core_modules/capture-core/components/Pages/Enrollment/EnrollmentPageDefault/EnrollmentQuickActions/EnrollmentQuickActions.component.js +++ b/src/core_modules/capture-core/components/Pages/Enrollment/EnrollmentPageDefault/EnrollmentQuickActions/EnrollmentQuickActions.component.js @@ -42,6 +42,7 @@ const EnrollmentQuickActionsComponent = ({ stages, events, ruleEffects, classes () => stagesWithEventCount.every( programStage => + (!programStage.dataAccess.write) || (!programStage.repeatable && programStage.eventCount > 0) || hiddenProgramStageRuleEffects?.find(ruleEffect => ruleEffect.id === programStage.id), ), @@ -61,27 +62,28 @@ const EnrollmentQuickActionsComponent = ({ stages, events, ruleEffects, classes onClose={() => setOpen(false)} onOpen={() => setOpen(true)} > - {ready &&
- } - label={i18n.t('New Event')} - onClickAction={() => onNavigationFromQuickActions(tabMode.REPORT)} - dataTest={'quick-action-button-report'} - disable={noStageAvailable} - /> + {ready && ( +
+ } + label={i18n.t('New Event')} + onClickAction={() => onNavigationFromQuickActions(tabMode.REPORT)} + dataTest={'quick-action-button-report'} + disable={noStageAvailable} + /> - } - label={i18n.t('Schedule an event')} - onClickAction={() => onNavigationFromQuickActions(tabMode.SCHEDULE)} - dataTest={'quick-action-button-schedule'} - disable={noStageAvailable} - /> + } + label={i18n.t('Schedule an event')} + onClickAction={() => onNavigationFromQuickActions(tabMode.SCHEDULE)} + dataTest={'quick-action-button-schedule'} + disable={noStageAvailable} + /> - {/* DHIS2-13016: Should hide Make referral until the feature is developped + {/* DHIS2-13016: Should hide Make referral until the feature is developped } label={i18n.t('Make referral')} @@ -89,7 +91,8 @@ const EnrollmentQuickActionsComponent = ({ stages, events, ruleEffects, classes dataTest={'quick-action-button-refer'} disable={noStageAvailable} /> */} -
} +
+ )} ); }; diff --git a/src/core_modules/capture-core/components/Pages/EnrollmentAddEvent/ProgramStageSelector/ProgramStageSelector.component.js b/src/core_modules/capture-core/components/Pages/EnrollmentAddEvent/ProgramStageSelector/ProgramStageSelector.component.js index 01967b1f21..1ab8895d04 100644 --- a/src/core_modules/capture-core/components/Pages/EnrollmentAddEvent/ProgramStageSelector/ProgramStageSelector.component.js +++ b/src/core_modules/capture-core/components/Pages/EnrollmentAddEvent/ProgramStageSelector/ProgramStageSelector.component.js @@ -27,7 +27,7 @@ const ProgramStageSelectorComponentPlain = ({ programStages, onSelectProgramStag
{programStages.map((programStage) => { const disableStage = - (!programStage.repeatable && programStage.eventCount > 0) || programStage.hiddenProgramStage; + !programStage.dataAccess.write || (!programStage.repeatable && programStage.eventCount > 0) || programStage.hiddenProgramStage; return (
!programLoading && program?.programStages?.reduce((accStage, currentStage) => { accStage.push({ id: currentStage.id, + dataAccess: currentStage.access.data, eventCount: (enrollment?.events ?.filter(event => event.programStage === currentStage.id) ?.length diff --git a/src/core_modules/capture-core/components/Pages/New/RegistrationDataEntry/RegistrationDataEntry.component.js b/src/core_modules/capture-core/components/Pages/New/RegistrationDataEntry/RegistrationDataEntry.component.js index 511c2da3b7..d2e49fd3b5 100644 --- a/src/core_modules/capture-core/components/Pages/New/RegistrationDataEntry/RegistrationDataEntry.component.js +++ b/src/core_modules/capture-core/components/Pages/New/RegistrationDataEntry/RegistrationDataEntry.component.js @@ -4,7 +4,7 @@ import { useDispatch } from 'react-redux'; import { useHistory } from 'react-router'; import i18n from '@dhis2/d2-i18n'; import { Button, colors, spacers } from '@dhis2/ui'; -import { Grid, withStyles } from '@material-ui/core'; +import { withStyles } from '@material-ui/core'; import type { Props } from './RegistrationDataEntry.types'; import { TeiRegistrationEntry, SingleEventRegistrationEntry } from '../../../DataEntries'; import { scopeTypes } from '../../../../metaData'; @@ -42,6 +42,20 @@ const getStyles = ({ typography }) => ({ marginBottom: { marginBottom: spacers.dp16, }, + flexContainer: { + display: 'flex', + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'flex-start', + flexWrap: 'wrap', + }, + flexItem: { + flex: 1, + minWidth: '500px', + }, + dataEntryReadyItem: { + minWidth: '300px', + }, }); const DialogButtons = ({ onCancel, onSave }) => ( @@ -167,8 +181,7 @@ const RegistrationDataEntryPlain = ({
} - { - scopeType === scopeTypes.TRACKER_PROGRAM && + {scopeType === scopeTypes.TRACKER_PROGRAM && (
{ @@ -183,45 +196,40 @@ const RegistrationDataEntryPlain = ({ }
-
- - - i18n.t('Save {{trackedEntityTypeName}}', { +
+
+ + i18n.t('Save {{trackedEntityTypeName}}', { trackedEntityTypeName: trackedEntityTypeNameLC, interpolation: { escapeValue: false }, - })} - duplicatesReviewPageSize={resultsPageSize} - renderDuplicatesDialogActions={renderDuplicatesDialogActions} - renderDuplicatesCardActions={renderDuplicatesCardActions} - ExistingUniqueValueDialogActions={ExistingUniqueValueDialogActions} - trackedEntityInstanceAttributes={trackedEntityInstanceAttributes} + }) + } + duplicatesReviewPageSize={resultsPageSize} + renderDuplicatesDialogActions={renderDuplicatesDialogActions} + renderDuplicatesCardActions={renderDuplicatesCardActions} + ExistingUniqueValueDialogActions={ExistingUniqueValueDialogActions} + trackedEntityInstanceAttributes={trackedEntityInstanceAttributes} + /> +
+ {dataEntryIsReady && ( +
+ - - { - dataEntryIsReady && - -
- -
-
- } - +
+ )}
- } - - { - scopeType === scopeTypes.TRACKED_ENTITY_TYPE && + )} + {scopeType === scopeTypes.TRACKED_ENTITY_TYPE && (
{i18n.t('New {{titleText}}', { @@ -238,40 +246,35 @@ const RegistrationDataEntryPlain = ({ accessNeeded="write" />
-
- - - +
+ +
+ {dataEntryIsReady && ( +
+ - - { - dataEntryIsReady && - -
- -
-
- } - +
+ )}
- } + )} { scopeType === scopeTypes.EVENT_PROGRAM && ( diff --git a/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/Stage.component.js b/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/Stage.component.js index 62b37d9a06..62cbeb7882 100644 --- a/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/Stage.component.js +++ b/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/Stage.component.js @@ -1,13 +1,13 @@ // @flow import React, { type ComponentType, useState, useCallback } from 'react'; import cx from 'classnames'; -import i18n from '@dhis2/d2-i18n'; import { withStyles } from '@material-ui/core'; -import { spacersNum, IconAdd16, Button } from '@dhis2/ui'; +import { spacersNum } from '@dhis2/ui'; import { StageOverview } from './StageOverview'; import type { Props } from './stage.types'; import { Widget } from '../../../Widget'; import { StageDetail } from './StageDetail/StageDetail.component'; +import { StageCreateNewButton } from './StageCreateNewButton'; const styles = { overview: { @@ -15,7 +15,7 @@ const styles = { marginRight: spacersNum.dp16, marginBottom: spacersNum.dp24, }, - button: { + buttonContainer: { margin: `0 ${spacersNum.dp12}px ${spacersNum.dp8}px ${spacersNum.dp12}px`, }, buttonRow: { @@ -66,18 +66,16 @@ export const StagePlain = ({ stage, events, classes, className, onCreateNew, rul hiddenProgramStage={preventAddingNewEvents} {...passOnProps} /> : ( - +
+ onCreateNew(id)} + stageWriteAccess={stage.dataAccess.write} + eventCount={events.length} + repeatable={repeatable} + preventAddingEventActionInEffect={preventAddingNewEvents} + eventName={name} + /> +
)}
diff --git a/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageCreateNewButton/StageCreateNewButton.js b/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageCreateNewButton/StageCreateNewButton.js new file mode 100644 index 0000000000..b5e8e176c8 --- /dev/null +++ b/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageCreateNewButton/StageCreateNewButton.js @@ -0,0 +1,75 @@ +// @flow +import React, { useMemo } from 'react'; +import { Button, IconAdd16 } from '@dhis2/ui'; +import i18n from '@dhis2/d2-i18n'; +import { ConditionalTooltip } from '../../../../Tooltips/ConditionalTooltip'; + +type Props = { + onCreateNew: (stageId: string) => void, + stageWriteAccess: ?boolean, + eventCount: number, + repeatable: ?boolean, + preventAddingEventActionInEffect: ?boolean, + eventName: string, +} + +export const StageCreateNewButton = ({ + onCreateNew, + stageWriteAccess, + eventCount, + repeatable, + preventAddingEventActionInEffect, + eventName, +}: Props) => { + const { isDisabled, tooltipContent } = useMemo(() => { + if (!stageWriteAccess) { + return ({ + isDisabled: true, + tooltipContent: i18n.t('You do not have access to create events in this stage', { + programStageName: eventName, + interpolation: { escapeValue: false }, + }), + }); + } + if (preventAddingEventActionInEffect) { + return { + isDisabled: true, + tooltipContent: i18n.t("You can't add any more {{ programStageName }} events", { + programStageName: eventName, + interpolation: { escapeValue: false }, + }), + }; + } + if (!repeatable && eventCount > 0) { + return { + isDisabled: true, + tooltipContent: i18n.t('This stage can only have one event'), + }; + } + return { + isDisabled: false, + tooltipContent: '', + }; + }, [eventCount, eventName, preventAddingEventActionInEffect, repeatable, stageWriteAccess]); + + return ( + + + + ); +}; diff --git a/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageCreateNewButton/index.js b/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageCreateNewButton/index.js new file mode 100644 index 0000000000..d5cb9dcad9 --- /dev/null +++ b/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageCreateNewButton/index.js @@ -0,0 +1,3 @@ +// @flow + +export { StageCreateNewButton } from './StageCreateNewButton'; diff --git a/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageDetail/StageDetail.component.js b/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageDetail/StageDetail.component.js index ffde977dc9..2d1f6dd06d 100644 --- a/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageDetail/StageDetail.component.js +++ b/src/core_modules/capture-core/components/WidgetStagesAndEvents/Stages/Stage/StageDetail/StageDetail.component.js @@ -16,11 +16,10 @@ import { DataTableCell, DataTableColumnHeader, Button, - IconAdd16, Tooltip, } from '@dhis2/ui'; -import { ConditionalTooltip } from 'capture-core/components/Tooltips/ConditionalTooltip'; import { sortDataFromEvent } from './hooks/sortFuntions'; +import { StageCreateNewButton } from '../StageCreateNewButton'; import { useComputeDataFromEvent, useComputeHeaderColumn, formatRowForView } from './hooks/useEventList'; import { DEFAULT_NUMBER_OF_ROW, SORT_DIRECTION } from './hooks/constants'; import { getProgramAndStageForProgram } from '../../../../../metaData/helpers'; @@ -241,37 +240,18 @@ const StageDetailPlain = (props: Props) => { onClick={handleViewAll} >{i18n.t('Go to full {{ eventName }}', { eventName, interpolation: { escapeValue: false } })} : null); - const renderCreateNewButton = () => { - const shouldDisableCreateNew = (!repeatable && events.length > 0) || hiddenProgramStage; - - const tooltipContent = hiddenProgramStage - ? i18n.t("You can't add any more {{ programStageName }} events", { - programStageName: eventName, - interpolation: { escapeValue: false }, - }) - : i18n.t('This stage can only have one event'); - - return ( - - - - ); - }; + const renderCreateNewButton = () => ( +
+ +
+ ); return (