From 2f0a824f45421609b8c9313dd6e3764549d935bd Mon Sep 17 00:00:00 2001 From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com> Date: Tue, 10 Sep 2024 18:28:13 +0300 Subject: [PATCH 01/22] New Cypress Test | Verify the Functionality of Critical Care | (#8517) --- .../e2e/patient_spec/patient_logupdate.cy.ts | 105 +++++++++++++++++- .../pageobject/Patient/PatientLogupdate.ts | 57 +++++++++- .../DailyRounds/DefaultLogUpdateCard.tsx | 1 + .../Form/FormFields/RangeFormField.tsx | 2 +- .../LogUpdate/CriticalCareEditor.tsx | 1 + .../LogUpdate/CriticalCarePreview.tsx | 1 + 6 files changed, 161 insertions(+), 6 deletions(-) diff --git a/cypress/e2e/patient_spec/patient_logupdate.cy.ts b/cypress/e2e/patient_spec/patient_logupdate.cy.ts index 13e69e33211..773b0087d80 100644 --- a/cypress/e2e/patient_spec/patient_logupdate.cy.ts +++ b/cypress/e2e/patient_spec/patient_logupdate.cy.ts @@ -27,6 +27,12 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { const patientSpo2 = "15"; const patientRhythmType = "Regular"; const patientRhythm = "Normal Rhythm"; + const patientEtco2 = "50"; + const patientOxygenFlowRate = "40"; + const patientBloodSugar = "52"; + const patientInsulinDosage = "56"; + const patientFluidBalance = "500"; + const patientNetBalance = "1000"; before(() => { loginPage.loginAsDisctrictAdmin(); @@ -39,6 +45,88 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.awaitUrl("/patients"); }); + it("Create a basic critical care log update for a admitted patient and edit it", () => { + patientPage.visitPatient("Dummy Patient 10"); + patientLogupdate.clickLogupdate(); + cy.verifyNotification("Please assign a bed to the patient"); + patientLogupdate.selectBed("Dummy Bed 2"); + cy.closeNotification(); + patientLogupdate.clickLogupdate(); + patientLogupdate.selectPatientCategory(patientCategory); + patientLogupdate.selectRoundType("Detailed Update"); + cy.submitButton("Save and Continue"); + cy.verifyNotification("Detailed Update log created successfully"); + cy.closeNotification(); + // Select two Section - First One is Respiratory Support + patientLogupdate.selectCriticalCareSection("Respiratory Support"); + patientLogupdate.selectNoBilateralAirFlow(); + patientLogupdate.typeEtco2(patientEtco2); + patientLogupdate.selectOxygenSupport(); + patientLogupdate.typeOxygenFlowRate(patientOxygenFlowRate); + patientLogupdate.typeVentilatorSpo2(patientSpo2); + cy.submitButton("Update Details"); + cy.verifyNotification("Respiratory Support details succesfully updated."); + cy.closeNotification(); + // Second Section will be Blood Sugar + patientLogupdate.selectCriticalCareSection("Blood Sugar"); + patientLogupdate.typeBloodSugar(patientBloodSugar); + patientLogupdate.typeInsulinDosage(patientInsulinDosage); + cy.get("#insulin_intake_frequency-option-BD").click(); + cy.submitButton("Update Details"); + cy.verifyNotification("Blood Sugar details succesfully updated."); + // Submit the form and verify the details + cy.submitButton("Complete"); + cy.verifyNotification("Detailed Log Update filed successfully"); + cy.closeNotification(); + cy.contains("button", "Daily Rounds").click(); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); + cy.verifyContentPresence("#respiratory-support", [ + patientEtco2, + patientOxygenFlowRate, + ]); + cy.verifyContentPresence("#blood-sugar", [ + patientBloodSugar, + patientInsulinDosage, + ]); + // Go back and edit the data on a third section + patientLogupdate.clickGoBackConsultation(); + cy.contains("button", "Daily Rounds").click(); + patientLogupdate.clickLogUpdateUpdateLog( + "#dailyround-entry", + patientCategory, + ); + patientLogupdate.selectCriticalCareSection("Dialysis"); + patientLogupdate.typeFluidBalance(patientFluidBalance); + patientLogupdate.typeNetBalance(patientNetBalance); + cy.submitButton("Update Details"); + cy.verifyNotification("Dialysis details succesfully updated."); + cy.closeNotification(); + cy.submitButton("Complete"); + cy.verifyNotification("Detailed Log Update filed successfully"); + cy.closeNotification(); + //Reverify the editted and newly added data + cy.contains("button", "Daily Rounds").click(); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); + cy.verifyContentPresence("#respiratory-support", [ + patientEtco2, + patientOxygenFlowRate, + ]); + cy.verifyContentPresence("#blood-sugar", [ + patientBloodSugar, + patientInsulinDosage, + ]); + cy.verifyContentPresence("#dialysis", [ + patientFluidBalance, + patientNetBalance, + ]); + }); + it("Create a new Progress log update for a admitted patient and edit it", () => { patientPage.visitPatient("Dummy Patient 12"); patientLogupdate.clickLogupdate(); @@ -77,7 +165,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.verifyNotification("Progress Note log created successfully"); cy.closeNotification(); // modify the relevant critical care log update - cy.contains("button", "Neurological Monitoring").click(); + patientLogupdate.selectCriticalCareSection("Neurological Monitoring"); cy.get("#consciousness_level-option-RESPONDS_TO_PAIN").click(); cy.get("#left_pupil_light_reaction-option-FIXED").click(); cy.submitButton("Update Details"); @@ -91,7 +179,10 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.closeNotification(); // Verify the data reflection cy.contains("button", "Daily Rounds").click(); - patientLogupdate.clickLogupdateCard("#dailyround-entry", patientCategory); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); cy.verifyContentPresence("#consultation-preview", [ patientCategory, patientTemperature, @@ -158,7 +249,10 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.closeNotification(); // edit the card and verify the data. cy.contains("button", "Daily Rounds").click(); - patientLogupdate.clickLogupdateCard("#dailyround-entry", patientCategory); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); cy.verifyContentPresence("#consultation-preview", [ patientCategory, patientDiastolic, @@ -179,7 +273,10 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.submitButton("Continue"); cy.verifyNotification("Brief Update log updated successfully"); cy.contains("button", "Daily Rounds").click(); - patientLogupdate.clickLogupdateCard("#dailyround-entry", patientCategory); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); cy.verifyContentPresence("#consultation-preview", [ patientModifiedDiastolic, patientModifiedSystolic, diff --git a/cypress/pageobject/Patient/PatientLogupdate.ts b/cypress/pageobject/Patient/PatientLogupdate.ts index ca238fe115c..8a4c11ab25b 100644 --- a/cypress/pageobject/Patient/PatientLogupdate.ts +++ b/cypress/pageobject/Patient/PatientLogupdate.ts @@ -70,13 +70,20 @@ class PatientLogupdate { cy.get("#rhythm_detail").click().type(rhythm); } - clickLogupdateCard(element, patientCategory) { + clickLogUpdateViewDetails(element, patientCategory) { cy.get(element).scrollIntoView(); cy.verifyContentPresence(element, [patientCategory]); cy.get(element).first().contains("View Details").click(); cy.wait(3000); } + clickLogUpdateUpdateLog(element, patientCategory) { + cy.get(element).scrollIntoView(); + cy.verifyContentPresence(element, [patientCategory]); + cy.get(element).first().contains("Update Log").click(); + cy.wait(3000); + } + clickUpdateDetail() { cy.verifyAndClickElement("#consultation-preview", "Update Details"); cy.wait(3000); @@ -90,5 +97,53 @@ class PatientLogupdate { cy.get("#consultation_tab_nav").scrollIntoView(); cy.verifyAndClickElement("#consultation_tab_nav", "Vitals"); } + + selectNoBilateralAirFlow() { + cy.get("#bilateral_air_entry-option-false").click(); + } + + typeEtco2(etco2: string) { + cy.get("#etco2-range-input").type(etco2); + } + + selectOxygenSupport() { + cy.get("#respiratory_support-option-OXYGEN_SUPPORT").click(); + } + + selectNonBreathingModality() { + cy.get("#ventilator_oxygen_modality-option-NON_REBREATHING_MASK").click(); + } + + typeOxygenFlowRate(flowRate: string) { + cy.get("#oxygen_flow_rate-range-input").type(flowRate); + } + + typeVentilatorSpo2(spo2: string) { + cy.get("#ventilator_spo2-range-input").type(spo2); + } + + selectCriticalCareSection(sectionName: string) { + cy.contains("button", sectionName).click(); + } + + typeBloodSugar(bloodSugar: string) { + cy.get("#blood_sugar_level-range-input").type(bloodSugar); + } + + typeInsulinDosage(insulinDosage: string) { + cy.get("#insulin_intake_dose-range-input").type(insulinDosage); + } + + clickGoBackConsultation() { + cy.get("#back-to-consultation").click(); + } + + typeFluidBalance(fluid: string) { + cy.get("#dialysis_fluid_balance-range-input").type(fluid); + } + + typeNetBalance(netBalance: string) { + cy.get("#dialysis_net_balance-range-input").type(netBalance); + } } export default PatientLogupdate; diff --git a/src/Components/Facility/Consultations/DailyRounds/DefaultLogUpdateCard.tsx b/src/Components/Facility/Consultations/DailyRounds/DefaultLogUpdateCard.tsx index ae18e85e0d8..9096e66b69b 100644 --- a/src/Components/Facility/Consultations/DailyRounds/DefaultLogUpdateCard.tsx +++ b/src/Components/Facility/Consultations/DailyRounds/DefaultLogUpdateCard.tsx @@ -48,6 +48,7 @@ const DefaultLogUpdateCard = ({ round, ...props }: Props) => { {t("view_details")}
{ if (current) { diff --git a/src/Components/LogUpdate/CriticalCarePreview.tsx b/src/Components/LogUpdate/CriticalCarePreview.tsx index 67ad693ff48..61f4f2a3567 100644 --- a/src/Components/LogUpdate/CriticalCarePreview.tsx +++ b/src/Components/LogUpdate/CriticalCarePreview.tsx @@ -46,6 +46,7 @@ export default function CriticalCarePreview(props: Props) {
From 541ca1743d41254dbee91111fc41108a086cb8ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 21:27:29 +0530 Subject: [PATCH 02/22] Bump @fontsource/inter from 5.0.18 to 5.0.21 (#8508) --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4615e263405..d67bca71a47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "2.5.4", "license": "MIT", "dependencies": { - "@fontsource/inter": "^5.0.18", + "@fontsource/inter": "^5.0.21", "@googlemaps/react-wrapper": "^1.1.35", "@googlemaps/typescript-guards": "^2.0.3", "@headlessui/react": "^2.1.2", @@ -2550,9 +2550,9 @@ "license": "MIT" }, "node_modules/@fontsource/inter": { - "version": "5.0.18", - "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.0.18.tgz", - "integrity": "sha512-YCsoYPTcs713sI7tLtxaPrIhXAXvEetGg5Ry02ivA8qUOb3fQHojbK/X9HLD5OOKvFUNR2Ynkwb1kR1hVKQHpw==" + "version": "5.0.21", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.0.21.tgz", + "integrity": "sha512-Y4Ph0bYD5IfW8r9PSeiNjLvM6D/Bh5+YT9jOKiBqW3YS+AEBlmy8v74TpTNeZAvL3zHmikHCnzaKw7ob8LZiKQ==" }, "node_modules/@googlemaps/js-api-loader": { "version": "1.16.6", diff --git a/package.json b/package.json index 95cea780b72..6374c444222 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "supported-browsers": "echo \"export default $(browserslist-useragent-regexp --allowHigherVersions --ignorePatch --ignoreMinor);\" | sed 's/\\x1b\\[[0-9;]*m//g' > src/supportedBrowsers.ts" }, "dependencies": { - "@fontsource/inter": "^5.0.18", + "@fontsource/inter": "^5.0.21", "@googlemaps/react-wrapper": "^1.1.35", "@googlemaps/typescript-guards": "^2.0.3", "@headlessui/react": "^2.1.2", From 382a55a2019a488314199014bcd0b7f441fe2bd6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 21:47:18 +0530 Subject: [PATCH 03/22] Bump @sentry/browser from 8.12.0 to 8.29.0 (#8509) --- package-lock.json | 194 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 98 insertions(+), 98 deletions(-) diff --git a/package-lock.json b/package-lock.json index d67bca71a47..4cc50cbe999 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@headlessui/react": "^2.1.2", "@pnotify/core": "^5.2.0", "@pnotify/mobile": "^5.2.0", - "@sentry/browser": "^8.12.0", + "@sentry/browser": "^8.29.0", "@yudiel/react-qr-scanner": "^2.0.0-beta.3", "axios": "^1.6.8", "bowser": "^2.11.0", @@ -3765,178 +3765,178 @@ ] }, "node_modules/@sentry-internal/browser-utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.12.0.tgz", - "integrity": "sha512-h7HRqED15Qa+DRt8iZGna24Z331nglgjPzdFn4+u+jvnZrehUjH0vjsfuj7qhwSUNZu8Rxi1ZlUYFURjLDTKCA==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.29.0.tgz", + "integrity": "sha512-6HpyQkaqPvK6Lnigjlarq/LDYgXT2OBNf24RK7z0ipJSxSIpmtelfzHbnwWYnypNDXfTDdPm97fZEenQHryYJA==", "dependencies": { - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/browser-utils/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/browser-utils/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/browser-utils/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.12.0.tgz", - "integrity": "sha512-PvQ14wVOPmzRdYdmXD791CqERZZC4jZa5hnyBKBuF6ZpifIQ4Uk7spPu6ZO+Ympx3GtRlpYjk4dbjHyNSfYTwA==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.29.0.tgz", + "integrity": "sha512-yAL5YMEFk4XaeVRUGEguydahRzaQrNPAaWRv6k+XRzCv9CGBhxb14KXQc9X/penlauMFcDfgelCPKcTqcf6wDw==", "dependencies": { - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.12.0.tgz", - "integrity": "sha512-TJceMtzRnY3SCvt3nFDu9rlT00Le7SaV2RL3D7SyDuijvJbWvIw3DRk7yutpF8c9YKO9j6FMa4NlkCJ+YAnnKQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.29.0.tgz", + "integrity": "sha512-Xgv/eYucsm7GaGKms2ClQ02NpD07MxjoTjp1/vYZm0H4Q08dVphVZrQp7hL1oX/VD9mb5SFyyKuuIRqIu7S8RA==", "dependencies": { - "@sentry-internal/browser-utils": "8.12.0", - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry-internal/browser-utils": "8.29.0", + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.12.0.tgz", - "integrity": "sha512-0slfHZ3TD3MKeBu5NEGuKuecxStX23gts5L3mGFJd/zwsd04A31fhVmo6agIkxnZbOU4GPX/7HPWIeevkvy3ig==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.29.0.tgz", + "integrity": "sha512-W2YbZRvp2lYC50V51fNLcnoIiK1Km4vSc+v6SL7c//lv2qpyumoUAAIDKY+14s8Lgt1RsR6rfZhfheD4O/6WSQ==", "dependencies": { - "@sentry-internal/replay": "8.12.0", - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry-internal/replay": "8.29.0", + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" @@ -3957,48 +3957,48 @@ } }, "node_modules/@sentry/browser": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.12.0.tgz", - "integrity": "sha512-H82dmr7KQWoS2DQc5dJko5wNepltcEro1EM4mBeL2YmVbNRtoZzD3HQTpbxJJuFsTvEMZevvez5HFlpUgxmIwQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.29.0.tgz", + "integrity": "sha512-aKTy4H/3RI0q9LIeepesjWGlGNeh4HGFfwQjzHME8gcWCQ5LSlzYX4U+hu2yp7r1Jfd9MUTFfOuuLih2HGLGsQ==", "dependencies": { - "@sentry-internal/browser-utils": "8.12.0", - "@sentry-internal/feedback": "8.12.0", - "@sentry-internal/replay": "8.12.0", - "@sentry-internal/replay-canvas": "8.12.0", - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry-internal/browser-utils": "8.29.0", + "@sentry-internal/feedback": "8.29.0", + "@sentry-internal/replay": "8.29.0", + "@sentry-internal/replay-canvas": "8.29.0", + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/browser/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/browser/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry/browser/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" diff --git a/package.json b/package.json index 6374c444222..d00207b47c8 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@headlessui/react": "^2.1.2", "@pnotify/core": "^5.2.0", "@pnotify/mobile": "^5.2.0", - "@sentry/browser": "^8.12.0", + "@sentry/browser": "^8.29.0", "@yudiel/react-qr-scanner": "^2.0.0-beta.3", "axios": "^1.6.8", "bowser": "^2.11.0", From fc822b5acfa71ded7e8c1d71fe93e1968825655d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 21:47:48 +0530 Subject: [PATCH 04/22] Bump axios from 1.6.8 to 1.7.7 (#8454) --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4cc50cbe999..dec462f006f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@pnotify/mobile": "^5.2.0", "@sentry/browser": "^8.29.0", "@yudiel/react-qr-scanner": "^2.0.0-beta.3", - "axios": "^1.6.8", + "axios": "^1.7.7", "bowser": "^2.11.0", "browser-image-compression": "^2.0.2", "browserslist-useragent-regexp": "^4.1.3", @@ -5798,9 +5798,9 @@ "dev": true }, "node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", diff --git a/package.json b/package.json index d00207b47c8..8dcd4e13954 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@pnotify/mobile": "^5.2.0", "@sentry/browser": "^8.29.0", "@yudiel/react-qr-scanner": "^2.0.0-beta.3", - "axios": "^1.6.8", + "axios": "^1.7.7", "bowser": "^2.11.0", "browser-image-compression": "^2.0.2", "browserslist-useragent-regexp": "^4.1.3", From d1bc4c89803e58f3f6ab0683ce4aa0571d36ff0a Mon Sep 17 00:00:00 2001 From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com> Date: Tue, 10 Sep 2024 19:43:55 +0300 Subject: [PATCH 05/22] Fixed Cypress Flaky test in user advance filter (#8519) --- cypress/e2e/users_spec/user_homepage.cy.ts | 58 ++++++++++++---------- cypress/pageobject/Users/UserSearch.ts | 10 ---- 2 files changed, 32 insertions(+), 36 deletions(-) diff --git a/cypress/e2e/users_spec/user_homepage.cy.ts b/cypress/e2e/users_spec/user_homepage.cy.ts index b1ecd567d86..0cf25cacfc8 100644 --- a/cypress/e2e/users_spec/user_homepage.cy.ts +++ b/cypress/e2e/users_spec/user_homepage.cy.ts @@ -3,11 +3,18 @@ import { UserPage } from "../../pageobject/Users/UserSearch"; describe("User Homepage", () => { const userPage = new UserPage(); - const usernameToTest = "devdoctor"; - const currentuser = "devdistrictadmin"; const loginPage = new LoginPage(); - const phone_number = "9876543219"; - const alt_phone_number = "9876543219"; + const currentuser = "devdistrictadmin"; + const firstName = "Dummy"; + const lastName = "Nurse"; + const role = "Nurse"; + const state = "Kerala"; + const district = "Ernakulam"; + const phoneNumber = "8878825662"; + const altPhoneNumber = "8878825662"; + const homeFacility = "Dummy Facility 40"; + const nurseUserName = "dummynurse1"; + const doctorUserName = "devdoctor"; before(() => { loginPage.loginAsDisctrictAdmin(); @@ -22,33 +29,32 @@ describe("User Homepage", () => { it("User advance filter functionality", () => { userPage.clickAdvancedFilters(); - userPage.typeInFirstName("Dev"); - userPage.typeInLastName("Doctor"); - userPage.selectRole("Doctor"); - userPage.selectState("Kerala"); - userPage.selectDistrict("Ernakulam"); - userPage.typeInPhoneNumber(phone_number); - userPage.typeInAltPhoneNumber(alt_phone_number); - userPage.selectHomeFacility("Dummy Facility 40"); + userPage.typeInFirstName(firstName); + userPage.typeInLastName(lastName); + userPage.selectRole(role); + userPage.selectState(state); + userPage.selectDistrict(district); + userPage.typeInPhoneNumber(phoneNumber); + userPage.typeInAltPhoneNumber(altPhoneNumber); + userPage.selectHomeFacility(homeFacility); userPage.applyFilter(); - userPage.verifyUrlafteradvancefilter(); - userPage.checkUsernameText(usernameToTest); - userPage.verifyDataTestIdText("First Name", "First Name: Dev"); - userPage.verifyDataTestIdText("Last Name", "Last Name: Doctor"); + userPage.checkUsernameText(nurseUserName); + // Verify the badges related to the data + userPage.verifyDataTestIdText("First Name", `First Name: ${firstName}`); + userPage.verifyDataTestIdText("Last Name", `Last Name: ${lastName}`); userPage.verifyDataTestIdText( "Phone Number", - "Phone Number: +919876543219", + `Phone Number: +91${phoneNumber}`, ); userPage.verifyDataTestIdText( "WhatsApp no.", - "WhatsApp no.: +919876543219", + `WhatsApp no.: +91${altPhoneNumber}`, ); - userPage.verifyDataTestIdText("Role", "Role: Doctor"); + userPage.verifyDataTestIdText("Role", `Role: ${role}`); userPage.verifyDataTestIdText( "Home Facility", - "Home Facility: Dummy Facility 40", + `Home Facility: ${homeFacility}`, ); - userPage.verifyDataTestIdText("District", "District: Ernakulam"); userPage.clearFilters(); userPage.verifyDataTestIdNotVisible("First Name"); userPage.verifyDataTestIdNotVisible("Last Name"); @@ -61,14 +67,14 @@ describe("User Homepage", () => { it("Search by username", () => { userPage.checkSearchInputVisibility(); - userPage.typeInSearchInput(usernameToTest); - userPage.checkUrlForUsername(usernameToTest); - userPage.checkUsernameText(usernameToTest); + userPage.typeInSearchInput(doctorUserName); + userPage.checkUrlForUsername(doctorUserName); + userPage.checkUsernameText(doctorUserName); userPage.checkUsernameBadgeVisibility(true); userPage.clearSearchInput(); userPage.checkUsernameBadgeVisibility(false); - userPage.typeInSearchInput(usernameToTest); - userPage.checkUsernameText(usernameToTest); + userPage.typeInSearchInput(doctorUserName); + userPage.checkUsernameText(doctorUserName); userPage.clickRemoveIcon(); userPage.checkUsernameBadgeVisibility(false); userPage.checkUsernameText(currentuser); diff --git a/cypress/pageobject/Users/UserSearch.ts b/cypress/pageobject/Users/UserSearch.ts index 56d1a81395d..0c214e92706 100644 --- a/cypress/pageobject/Users/UserSearch.ts +++ b/cypress/pageobject/Users/UserSearch.ts @@ -22,16 +22,6 @@ export class UserPage { cy.url().should("include", `username=${username}`); } - verifyUrlafteradvancefilter() { - cy.url() - .should("include", "first_name=Dev") - .and("include", "last_name=Doctor") - .and("include", "phone_number=%2B919876543219") - .and("include", "alt_phone_number=%2B919876543219") - .and("include", "user_type=Doctor") - .and("include", "district=7"); - } - checkUsernameText(username: string) { cy.get(this.usernameText).should("have.text", username); } From 8b678bf9e947d5dd66a979d4eaf2b4c35ae76c29 Mon Sep 17 00:00:00 2001 From: Zeeshan <95434634+Zeshanxviii@users.noreply.github.com> Date: Fri, 13 Sep 2024 18:55:37 +0530 Subject: [PATCH 06/22] Update documentation README.md : Supported -browsers script (#8528) * update readme.md * update readme * Update readme --- .gitignore | 2 +- README.md | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d02d753ca3d..d8e2615c727 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,7 @@ public/build-meta.json !.vscode/launch.json src/supportedBrowsers.ts -# Reason React +# Reason React /lib/bs/** .merlin *.bs.js diff --git a/README.md b/README.md index fd5328150f2..9fed52b00c0 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,12 @@ ```sh npm install ``` +#### Run the following command to generate the `supportedBrowsers.ts` file: + +```bash +npm run supported-browsers +``` +This script just generates regex expression for matching the list of compatible browsers, so that we can show a warning notification for unsupported browsers. #### ЁЯПГ Run the app in development mode From b1f94b47d4cdd29ee0ef736da9f895ba7e3a72ae Mon Sep 17 00:00:00 2001 From: Bodhish Thomas Date: Mon, 16 Sep 2024 15:42:55 +0530 Subject: [PATCH 07/22] Update Crowdin configuration file --- crowdin.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crowdin.yml b/crowdin.yml index 3bb120df6fc..0ab1a042711 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,3 +1,5 @@ files: - source: /src/Locale/en/*.json translation: /src/Locale/%two_letters_code%/%original_file_name% +bundles: + - 2 From 3d82b318d0c1ec7e5931bc00b93d5c9f4cd02235 Mon Sep 17 00:00:00 2001 From: Bodhish Thomas Date: Mon, 16 Sep 2024 16:31:20 +0530 Subject: [PATCH 08/22] Crowdin Translations (#8538) --- src/Locale/hi/Asset.json | 20 +++ src/Locale/hi/Auth.json | 39 ++++++ src/Locale/hi/Bed.json | 13 ++ src/Locale/hi/Common.json | 207 ++++++++++++++++++++++++++++++ src/Locale/hi/Consultation.json | 59 +++++++++ src/Locale/hi/CoverImageEdit.json | 5 + src/Locale/hi/Diagnosis.json | 21 +++ src/Locale/hi/Entities.json | 11 ++ src/Locale/hi/ErrorPages.json | 13 ++ src/Locale/hi/ExternalResult.json | 25 ++++ src/Locale/hi/Facility.json | 119 +++++++++++++++++ src/Locale/hi/FileUpload.json | 29 +++++ src/Locale/hi/Hub.json | 14 ++ src/Locale/hi/LogUpdate.json | 73 +++++++++++ src/Locale/hi/Medicine.json | 68 ++++++++++ src/Locale/hi/Notifications.json | 22 ++++ src/Locale/hi/Resource.json | 12 ++ src/Locale/hi/Shifting.json | 90 +++++++++++++ src/Locale/hi/SortOptions.json | 18 +++ src/Locale/hi/Users.json | 16 +++ src/Locale/kn/Asset.json | 20 +++ src/Locale/kn/Auth.json | 12 +- src/Locale/kn/Bed.json | 13 ++ src/Locale/kn/Common.json | 202 ++++++++++++++++++++++++++++- src/Locale/kn/Consultation.json | 59 +++++++++ src/Locale/kn/CoverImageEdit.json | 5 + src/Locale/kn/Diagnosis.json | 21 +++ src/Locale/kn/ErrorPages.json | 13 ++ src/Locale/kn/ExternalResult.json | 25 ++++ src/Locale/kn/Facility.json | 113 +++++++++++++++- src/Locale/kn/FileUpload.json | 29 +++++ src/Locale/kn/Hub.json | 14 ++ src/Locale/kn/LogUpdate.json | 73 +++++++++++ src/Locale/kn/Medicine.json | 68 ++++++++++ src/Locale/kn/Notifications.json | 22 ++++ src/Locale/kn/Resource.json | 12 ++ src/Locale/kn/Shifting.json | 90 +++++++++++++ src/Locale/kn/SortOptions.json | 18 +++ src/Locale/kn/Users.json | 16 +++ src/Locale/ml/Asset.json | 20 +++ src/Locale/ml/Auth.json | 12 +- src/Locale/ml/Bed.json | 13 ++ src/Locale/ml/Common.json | 202 ++++++++++++++++++++++++++++- src/Locale/ml/Consultation.json | 59 +++++++++ src/Locale/ml/CoverImageEdit.json | 5 + src/Locale/ml/Diagnosis.json | 21 +++ src/Locale/ml/ErrorPages.json | 13 ++ src/Locale/ml/ExternalResult.json | 25 ++++ src/Locale/ml/Facility.json | 113 +++++++++++++++- src/Locale/ml/FileUpload.json | 29 +++++ src/Locale/ml/Hub.json | 14 ++ src/Locale/ml/LogUpdate.json | 73 +++++++++++ src/Locale/ml/Medicine.json | 68 ++++++++++ src/Locale/ml/Notifications.json | 22 ++++ src/Locale/ml/Resource.json | 12 ++ src/Locale/ml/Shifting.json | 90 +++++++++++++ src/Locale/ml/SortOptions.json | 18 +++ src/Locale/ml/Users.json | 16 +++ src/Locale/ta/Asset.json | 20 +++ src/Locale/ta/Auth.json | 12 +- src/Locale/ta/Bed.json | 13 ++ src/Locale/ta/Common.json | 202 ++++++++++++++++++++++++++++- src/Locale/ta/Consultation.json | 59 +++++++++ src/Locale/ta/CoverImageEdit.json | 5 + src/Locale/ta/Diagnosis.json | 21 +++ src/Locale/ta/ErrorPages.json | 13 ++ src/Locale/ta/ExternalResult.json | 25 ++++ src/Locale/ta/Facility.json | 113 +++++++++++++++- src/Locale/ta/FileUpload.json | 29 +++++ src/Locale/ta/Hub.json | 14 ++ src/Locale/ta/LogUpdate.json | 73 +++++++++++ src/Locale/ta/Medicine.json | 68 ++++++++++ src/Locale/ta/Notifications.json | 22 ++++ src/Locale/ta/Resource.json | 12 ++ src/Locale/ta/Shifting.json | 90 +++++++++++++ src/Locale/ta/SortOptions.json | 18 +++ src/Locale/ta/Users.json | 16 +++ 77 files changed, 3313 insertions(+), 36 deletions(-) create mode 100644 src/Locale/hi/Asset.json create mode 100644 src/Locale/hi/Auth.json create mode 100644 src/Locale/hi/Bed.json create mode 100644 src/Locale/hi/Common.json create mode 100644 src/Locale/hi/Consultation.json create mode 100644 src/Locale/hi/CoverImageEdit.json create mode 100644 src/Locale/hi/Diagnosis.json create mode 100644 src/Locale/hi/Entities.json create mode 100644 src/Locale/hi/ErrorPages.json create mode 100644 src/Locale/hi/ExternalResult.json create mode 100644 src/Locale/hi/Facility.json create mode 100644 src/Locale/hi/FileUpload.json create mode 100644 src/Locale/hi/Hub.json create mode 100644 src/Locale/hi/LogUpdate.json create mode 100644 src/Locale/hi/Medicine.json create mode 100644 src/Locale/hi/Notifications.json create mode 100644 src/Locale/hi/Resource.json create mode 100644 src/Locale/hi/Shifting.json create mode 100644 src/Locale/hi/SortOptions.json create mode 100644 src/Locale/hi/Users.json create mode 100644 src/Locale/kn/Asset.json create mode 100644 src/Locale/kn/Bed.json create mode 100644 src/Locale/kn/Consultation.json create mode 100644 src/Locale/kn/CoverImageEdit.json create mode 100644 src/Locale/kn/Diagnosis.json create mode 100644 src/Locale/kn/ErrorPages.json create mode 100644 src/Locale/kn/ExternalResult.json create mode 100644 src/Locale/kn/FileUpload.json create mode 100644 src/Locale/kn/Hub.json create mode 100644 src/Locale/kn/LogUpdate.json create mode 100644 src/Locale/kn/Medicine.json create mode 100644 src/Locale/kn/Notifications.json create mode 100644 src/Locale/kn/Resource.json create mode 100644 src/Locale/kn/Shifting.json create mode 100644 src/Locale/kn/SortOptions.json create mode 100644 src/Locale/kn/Users.json create mode 100644 src/Locale/ml/Asset.json create mode 100644 src/Locale/ml/Bed.json create mode 100644 src/Locale/ml/Consultation.json create mode 100644 src/Locale/ml/CoverImageEdit.json create mode 100644 src/Locale/ml/Diagnosis.json create mode 100644 src/Locale/ml/ErrorPages.json create mode 100644 src/Locale/ml/ExternalResult.json create mode 100644 src/Locale/ml/FileUpload.json create mode 100644 src/Locale/ml/Hub.json create mode 100644 src/Locale/ml/LogUpdate.json create mode 100644 src/Locale/ml/Medicine.json create mode 100644 src/Locale/ml/Notifications.json create mode 100644 src/Locale/ml/Resource.json create mode 100644 src/Locale/ml/Shifting.json create mode 100644 src/Locale/ml/SortOptions.json create mode 100644 src/Locale/ml/Users.json create mode 100644 src/Locale/ta/Asset.json create mode 100644 src/Locale/ta/Bed.json create mode 100644 src/Locale/ta/Consultation.json create mode 100644 src/Locale/ta/CoverImageEdit.json create mode 100644 src/Locale/ta/Diagnosis.json create mode 100644 src/Locale/ta/ErrorPages.json create mode 100644 src/Locale/ta/ExternalResult.json create mode 100644 src/Locale/ta/FileUpload.json create mode 100644 src/Locale/ta/Hub.json create mode 100644 src/Locale/ta/LogUpdate.json create mode 100644 src/Locale/ta/Medicine.json create mode 100644 src/Locale/ta/Notifications.json create mode 100644 src/Locale/ta/Resource.json create mode 100644 src/Locale/ta/Shifting.json create mode 100644 src/Locale/ta/SortOptions.json create mode 100644 src/Locale/ta/Users.json diff --git a/src/Locale/hi/Asset.json b/src/Locale/hi/Asset.json new file mode 100644 index 00000000000..7900876aa05 --- /dev/null +++ b/src/Locale/hi/Asset.json @@ -0,0 +1,20 @@ +{ + "create_asset": "рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдПрдВ", + "edit_history": "рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ", + "update_record_for_asset": "рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ", + "edited_on": "рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛", + "edited_by": "рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрд╛рджрд┐рдд", + "serviced_on": "рд╕реЗрд╡рд╛ рдкрд░", + "notes": "рдиреЛрдЯреНрд╕", + "back": "рдкреАрдЫреЗ", + "close": "рдмрдВрдж рдХрд░рдирд╛", + "update_asset_service_record": "рдПрд╕реЗрдЯ рд╕реЗрд╡рд╛ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ", + "eg_details_on_functionality_service_etc": "рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рд╕реЗрд╡рд╛ рдЖрджрд┐ рдХрд╛ рд╡рд┐рд╡рд░рдгред", + "updating": "рдЕрджреНрдпрддрди рдХрд░рдиреЗ", + "update": "рдЕрджреНрдпрддрди", + "are_you_still_watching": "рдХреНрдпрд╛ рдЖрдк рдЕрднреА рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ?", + "stream_stop_due_to_inativity": "рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рд▓рд╛рдЗрд╡ рдлрд╝реАрдб рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреА", + "stream_stopped_due_to_inativity": "рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рд▓рд╛рдЗрд╡ рдлрд╝реАрдб рдХреА рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдмрдВрдж рд╣реЛ рдЧрдИ рд╣реИ", + "continue_watching": "рджреЗрдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ", + "resume": "рдлрд┐рд░ рд╢реБрд░реВ рдХрд░рдирд╛" +} \ No newline at end of file diff --git a/src/Locale/hi/Auth.json b/src/Locale/hi/Auth.json new file mode 100644 index 00000000000..eddc7e56015 --- /dev/null +++ b/src/Locale/hi/Auth.json @@ -0,0 +1,39 @@ +{ + "username": "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо", + "password": "рдкрд╛рд╕рд╡рд░реНрдб", + "new_password": "рдирдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб", + "confirm_password": "рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдкреБрд╖реНрдЯрд┐ рдХреАрдЬрд┐рдпреЗ", + "first_name": "рдкрд╣рд▓рд╛ рдирд╛рдо", + "last_name": "рдЙрдкрдирд╛рдо", + "email": "рдореЗрд▓ рдкрддрд╛", + "phone_number": "рдлрд╝реЛрди рдирдВрдмрд░", + "district": "рдЬрд╝рд┐рд▓рд╛", + "gender": "рд▓рд┐рдВрдЧ", + "age": "рдЖрдпреБ", + "login": "рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ", + "password_mismatch": "рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдкреБрд╖реНрдЯрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдПрдХ рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП.", + "enter_valid_age": "рдХреГрдкрдпрд╛ рд╡реИрдз рдЖрдпреБ рджрд░реНрдЬ рдХрд░реЗрдВ", + "invalid_username": "рдЖрд╡рд╢реНрдпрдХред 150 рдЕрдХреНрд╖рд░ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдоред рдХреЗрд╡рд▓ рдЕрдХреНрд╖рд░, рдЕрдВрдХ рдФрд░ @/./+/-/_ред", + "invalid_password": "рдкрд╛рд╕рд╡рд░реНрдб рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ", + "invalid_email": "рдХреГрдкрдпрд╛ рдПрдХ рдорд╛рдиреНрдп рдИрдореЗрд▓ рдкрддрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░реЗрдВ", + "invalid_phone": "рдХреГрдкрдпрд╛ рдПрдХ рд╡реИрдз рдирдВрдмрд░ рдбрд╛рд▓реЗрдВ", + "register_hospital": "рдЕрд╕реНрдкрддрд╛рд▓ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВ", + "register_page_title": "рдЕрд╕реНрдкрддрд╛рд▓ рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░реЗрдВ", + "auth_login_title": "рдЕрдзрд┐рдХреГрдд рд▓реЙрдЧрд┐рди", + "forget_password": "рдкрд╛рд╕рд╡рд░реНрдб рднреВрд▓ рдЧрдП?", + "forget_password_instruction": "рдЕрдкрдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ, рдФрд░ рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ, рддреЛ рд╣рдо рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рднреЗрдЬреЗрдВрдЧреЗред", + "send_reset_link": "рд░реАрд╕реЗрдЯ рд▓рд┐рдВрдХ рднреЗрдЬреЗрдВ", + "already_a_member": "рдХреНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рджрд╕реНрдп рд╣реИрдВ?", + "password_sent": "рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдИрдореЗрд▓ рднреЗрдЬрд╛ рдЧрдпрд╛", + "password_reset_success": "рдкрд╛рд╕рд╡рд░реНрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд░реАрд╕реЗрдЯ рд╣реЛ рдЧрдпрд╛", + "password_reset_failure": "рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рд╡рд┐рдлрд▓", + "reset_password": "рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ", + "available_in": "рдореЗрдВ рдЙрдкрд▓рдмреНрдз", + "sign_out": "рд╕рд╛рдЗрди рдЖрдЙрдЯ", + "back_to_login": "рд▓реЙрдЧрд┐рди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ", + "min_password_len_8": "рдиреНрдпреВрдирддрдо рдкрд╛рд╕рд╡рд░реНрдб рд▓рдВрдмрд╛рдИ 8", + "req_atleast_one_digit": "рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрдВрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ", + "req_atleast_one_uppercase": "рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрдкрд░ рдХреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ", + "req_atleast_one_lowercase": "рдХрдо рд╕реЗ рдХрдо рдПрдХ рд▓реЛрдЕрд░ рдХреЗрд╕ рдЕрдХреНрд╖рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ", + "req_atleast_one_symbol": "рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреНрд░рддреАрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" +} diff --git a/src/Locale/hi/Bed.json b/src/Locale/hi/Bed.json new file mode 100644 index 00000000000..3580caf94b7 --- /dev/null +++ b/src/Locale/hi/Bed.json @@ -0,0 +1,13 @@ +{ + "bed_search_placeholder": "рдмрд┐рд╕реНрддрд░ рдХреЗ рдирд╛рдо рд╕реЗ рдЦреЛрдЬреЗрдВ", + "BED_WITH_OXYGEN_SUPPORT": "рдСрдХреНрд╕реАрдЬрди рд╕рдкреЛрд░реНрдЯ рд╡рд╛рд▓рд╛ рдмрд┐рд╕реНрддрд░", + "REGULAR": "рдирд┐рдпрдорд┐рдд", + "ICU": "рдЖрдИрд╕реАрдпреВ", + "ISOLATION": "рдПрдХрд╛рдВрдд", + "add_beds": "рдмрд┐рд╕реНрддрд░(рдмрд┐рд╕реНрддрд░) рдЬреЛрдбрд╝реЗрдВ", + "update_bed": "рдмрд┐рд╕реНрддрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ", + "bed_type": "рдмрд┐рд╕реНрддрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░", + "make_multiple_beds_label": "рдХреНрдпрд╛ рдЖрдк рдХрдИ рдмрд┐рд╕реНрддрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?", + "number_of_beds": "рдмрд┐рд╕реНрддрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛", + "number_of_beds_out_of_range_error": "рдмрд┐рд╕реНрддрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 100 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА" +} diff --git a/src/Locale/hi/Common.json b/src/Locale/hi/Common.json new file mode 100644 index 00000000000..e881bb29d75 --- /dev/null +++ b/src/Locale/hi/Common.json @@ -0,0 +1,207 @@ +{ + "goal": "рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рдбрд┐рдЬрд┐рдЯрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдкрд╣реБрдВрдЪ рдореЗрдВ рдирд┐рд░рдВрддрд░ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╣реИред", + "something_wrong": "рдХреБрдЫ рдЧрд╝рд▓рдд рд╣реБрдЖ! рдмрд╛рдж рдореЗрдВ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ!", + "try_again_later": "рдмрд╛рдж рдореЗрдВ рдкреБрди: рдкреНрд░рдпрд╛рд╕!", + "contribute_github": "рдЧрд┐рдЯрд╣рдм рдкрд░ рдпреЛрдЧрджрд╛рди рджреЗрдВ", + "footer_body": "рдУрдкрди рд╣реЗрд▓реНрдердХреЗрдпрд░ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкрдмреНрд▓рд┐рдХ рдпреВрдЯрд┐рд▓рд┐рдЯреА рд╣реИ рдЬрд┐рд╕реЗ рдЗрдиреЛрд╡реЗрдЯрд░реНрд╕ рдФрд░ рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХреЛрдВ рдХреА рдПрдХ рдмрд╣реБ-рд╡рд┐рд╖рдпрдХ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдУрдкрди рд╣реЗрд▓реНрдердХреЗрдпрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗрдпрд░ рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рдкрдмреНрд▓рд┐рдХ рдЧреБрдб рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрдпреБрдХреНрдд рд░рд╛рд╖реНрдЯреНрд░ рджреНрд╡рд╛рд░рд╛ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реИред", + "reset": "рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ", + "download": "рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛", + "downloads": "рдбрд╛рдЙрдирд▓реЛрдб", + "downloading": "рдбрд╛рдЙрдирд▓реЛрдб", + "generating": "рдЙрддреНрдкрд╛рджрдХ", + "send_email": "рдИрдореЗрд▓ рднреЗрдЬреЗрдВ", + "email_address": "рдореЗрд▓ рдкрддрд╛", + "email_success": "рд╣рдо рдЬрд▓реНрдж рд╣реА рдЖрдкрдХреЛ рдИрдореЗрд▓ рднреЗрдЬреЗрдВрдЧреЗред рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рдЗрдирдмреЙрдХреНрд╕ рджреЗрдЦреЗрдВред", + "disclaimer": "рдЕрд╕реНрд╡реАрдХрд░рдг", + "category": "рд╡рд░реНрдЧ", + "sub_category": "рдЙрдк рд╢реНрд░реЗрдгреА", + "download_type": "рдбрд╛рдЙрдирд▓реЛрдб рдкреНрд░рдХрд╛рд░", + "state": "рд░рд╛рдЬреНрдп", + "district": "рдЬрд╝рд┐рд▓рд╛", + "location": "рдЬрдЧрд╣", + "ward": "рд╡рд╛рд░реНрдб", + "Notice Board": "рд╕реВрдЪрдирд╛ рдкрдЯреНрдЯ", + "Assets": "рд╕рдВрдкрддреНрддрд┐", + "Notifications": "рд╕реВрдЪрдирд╛рдПрдВ", + "Submit": "рдЬрдорд╛ рдХрд░рдирд╛", + "Cancel": "рд░рджреНрдж рдХрд░рдирд╛", + "back": "рдкреАрдЫреЗ", + "powered_by": "рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд", + "care": "рджреЗрдЦрднрд╛рд▓", + "something_went_wrong": "рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛..!", + "stop": "рд░реБрдХрдирд╛", + "record": "рдСрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ", + "recording": "рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ", + "yes": "рд╣рд╛рдБ", + "no": "рдирд╣реАрдВ", + "status": "рд╕реНрдерд┐рддрд┐", + "created": "рдмрдирд╛рдпрд╛ рдерд╛", + "modified": "рд╕рдВрд╢реЛрдзрд┐рдд", + "updated": "рдЕрджреНрдпрддрди", + "update": "рдЕрджреНрдпрддрди", + "configure": "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░", + "assigned_to": "рдХреЛ рд╕реМрдВрдкрдирд╛", + "cancel": "рд░рджреНрдж рдХрд░рдирд╛", + "clear": "рд╕реНрдкрд╖реНрдЯ", + "apply": "рдЖрд╡реЗрджрди рдХрд░рдирд╛", + "filter_by": "рдлрд┐рд▓реНрдЯрд░ рдХреЗ рджреНрд╡рд╛рд░рд╛", + "filter": "рдлрд╝рд┐рд▓реНрдЯрд░", + "settings_and_filters": "рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░", + "ordering": "рдЖрджреЗрд╢", + "phone_number": "рдлрд╝реЛрди рдирдВрдмрд░", + "international_mobile": "рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдореЛрдмрд╛рдЗрд▓", + "indian_mobile": "рднрд╛рд░рддреАрдп рдореЛрдмрд╛рдЗрд▓", + "mobile": "рдЧрддрд┐рдорд╛рди", + "landline": "рднрд╛рд░рддреАрдп рд▓реИрдВрдбрд▓рд╛рдЗрди", + "support": "рд╕рд╣рд╛рдпрддрд╛", + "emergency_contact_number": "рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд╕рдВрдкрд░реНрдХ рдирдВрдмрд░", + "last_modified": "рдЕрдВрддрд┐рдо рд╕рдВрд╢реЛрдзрд┐рдд", + "patient_address": "рдорд░реАрдЬ рдХрд╛ рдкрддрд╛", + "all_details": "рд╕рднреА рд╡рд┐рд╡рд░рдг", + "confirm": "рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛", + "refresh_list": "рд╕реВрдЪреА рд░реАрдлрд╝реНрд░реЗрд╢ рдХрд░реЗрдВ", + "last_edited": "рдЕрдВрддрд┐рдо рдмрд╛рд░ рд╕рдВрдкрд╛рджрд┐рдд", + "audit_log": "рдСрдбрд┐рдЯ рд▓реЙрдЧ", + "comments": "рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ", + "contact_person_number": "рд╕рдВрдкрд░реНрдХ рд╡реНрдпрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛", + "referral_letter": "рд░реЗрдлрд░рд▓ рдкрддреНрд░", + "close": "рдмрдВрдж рдХрд░рдирд╛", + "print": "рдЫрд╛рдк", + "print_referral_letter": "рд░реЗрдлрд░рд▓ рдкрддреНрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ", + "date_of_positive_covid_19_swab": "рдХреЛрд╡рд┐рдб 19 рд╕реНрд╡реИрдм рдкреЙрдЬрд┐рдЯрд┐рд╡ рд╣реЛрдиреЗ рдХреА рддрд┐рдерд┐", + "patient_no": "рдУрдкреА/рдЖрдИрдкреА рд╕рдВрдЦреНрдпрд╛", + "date_of_admission": "рдкреНрд░рд╡реЗрд╢ рдХреА рддрд┐рдерд┐", + "india_1": "рднрд╛рд░рдд", + "unique_id": "рдЕрдиреЛрдЦрд╛ ID", + "date_and_time": "рддрд┐рдерд┐ рдФрд░ рд╕рдордп", + "facility_type": "рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░", + "number_of_chronic_diseased_dependents": "рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд░реЛрдЧ рд╕реЗ рдкреАрдбрд╝рд┐рдд рдЖрд╢реНрд░рд┐рддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛", + "number_of_aged_dependents_above_60": "рд╡реГрджреНрдз рдЖрд╢реНрд░рд┐рддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (60 рд╕реЗ рдЕрдзрд┐рдХ)", + "ongoing_medications": "рдЪрд▓ рд░рд╣реА рджрд╡рд╛рдПрдБ", + "countries_travelled": "рдпрд╛рддреНрд░рд╛ рдХрд┐рдпреЗ рдЧрдП рджреЗрд╢", + "travel_within_last_28_days": "рдШрд░реЗрд▓реВ/рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдпрд╛рддреНрд░рд╛ (рдкрд┐рдЫрд▓реЗ 28 рджрд┐рдиреЛрдВ рдХреЗ рднреАрддрд░)", + "estimated_contact_date": "рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдВрдкрд░реНрдХ рддрд┐рдерд┐", + "blood_group": "рдмреНрд▓рдб рдЧреНрд░реБрдк", + "date_of_birth": "рдЬрдиреНрдо рддрд┐рдерд┐", + "date_of_test": "рдкрд░реАрдХреНрд╖рдг рдХреА рддрд┐рдерд┐", + "srf_id": "рдПрд╕рдЖрд░рдПрдл рдЖрдИрдбреА", + "contact_number": "рд╕рдВрдкрд░реНрдХ рд╕рдВрдЦреНрдпрд╛", + "diagnosis": "рдирд┐рджрд╛рди", + "copied_to_clipboard": "рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛", + "age": "рдЖрдпреБ", + "is": "рд╣реИ", + "reason": "рдХрд╛рд░рдг", + "description": "рд╡рд┐рд╡рд░рдг", + "name": "рдирд╛рдо", + "address": "рдкрддрд╛", + "phone": "рдлрд╝реЛрди", + "nationality": "рд░рд╛рд╖реНрдЯреНрд░реАрдпрддрд╛", + "allergies": "рдПрд▓рд░реНрдЬреА", + "type_your_comment": "рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВ", + "any_other_comments": "рдХреЛрдИ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгреА", + "loading": "рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ", + "facility": "рд╕реБрд╡рд┐рдзрд╛", + "local_body": "рд╕реНрдерд╛рдиреАрдп рдирд┐рдХрд╛рдп", + "filters": "рдлрд┐рд▓реНрдЯрд░", + "unknown": "рдЕрдЬреНрдЮрд╛рдд", + "active": "рд╕рдХреНрд░рд┐рдп", + "completed": "рдкреБрд░рд╛ рд╣реЛрдирд╛ред", + "on": "рдкрд░", + "open": "рдЦреБрд▓рд╛", + "features": "рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ", + "pincode": "рдкрд┐рдирдХреЛрдб", + "required": "рдЖрд╡рд╢реНрдпрдХ", + "field_required": "рдпрд╣ рдлрд╝реАрд▓реНрдб рдЖрд╡рд╢реНрдпрдХ рд╣реИ", + "litres": "рд▓реАрдЯрд░", + "litres_per_day": "рд▓реАрдЯрд░/рджрд┐рди", + "invalid_pincode": "рдЕрдорд╛рдиреНрдп рдкрд┐рдирдХреЛрдб", + "invalid_phone_number": "рдЕрдорд╛рдиреНрдп рдлрд╝реЛрди рдирдВрдмрд░", + "latitude_invalid": "рдЕрдХреНрд╖рд╛рдВрд╢ -90 рдФрд░ 90 рдХреЗ рдмреАрдЪ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП", + "longitude_invalid": "рджреЗрд╢рд╛рдВрддрд░ -180 рдФрд░ 180 рдХреЗ рдмреАрдЪ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП", + "save": "рдмрдЪрд╛рдирд╛", + "continue": "рдЬрд╛рд░реА рд░рдЦрдирд╛", + "save_and_continue": "рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдЬрд╛рд░реА рд░рдЦреЗрдВ", + "select": "рдЪреБрдирдирд╛", + "lsg": "рдПрд▓рдПрд╕рдЬреА", + "delete": "рдорд┐рдЯрд╛рдирд╛", + "remove": "рдирд┐рдХрд╛рд▓рдирд╛", + "max_size_for_image_uploaded_should_be": "рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП", + "allowed_formats_are": "рд╕реНрд╡реАрдХреГрдд рдкреНрд░рд╛рд░реВрдк рд╣реИрдВ", + "recommended_aspect_ratio_for": "рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рдд", + "drag_drop_image_to_upload": "рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рдХреЛ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ", + "upload_an_image": "рдПрдХ рдЫрд╡рд┐ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "upload": "рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "uploading": "рдЕрдкрд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ", + "switch": "рдмрджрд▓рдирд╛", + "capture": "рдХрдмреНрдЬрд╛", + "retake": "рдлрд┐рд░ рд╕реЗ рд▓реЗрдирд╛", + "submit": "рдЬрдорд╛ рдХрд░рдирд╛", + "camera": "рдХреИрдорд░рд╛", + "submitting": "рднреЗрдЬрдиреЗ рд╕реЗ", + "view_details": "рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ", + "type_to_search": "рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдХрд░реЗрдВ", + "show_all": "рд╕рдм рджрд┐рдЦрд╛рдПрдВ", + "hide": "рдЫрд┐рдкрд╛рдирд╛", + "select_skills": "рдХреБрдЫ рдХреМрд╢рд▓ рдЪреБрдиреЗрдВ рдФрд░ рдЬреЛрдбрд╝реЗрдВ", + "contact_your_admin_to_add_skills": "рдХреМрд╢рд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ", + "add": "рдЬреЛрдбрд╝рдирд╛", + "add_as": "рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ", + "sort_by": "рдЗрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ", + "none": "рдХреЛрдИ рдирд╣реАрдВ", + "choose_file": "рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "open_camera": "рдХреИрдорд░рд╛ рдЦреЛрд▓реЗрдВ", + "file_preview": "рдлрд╝рд╛рдЗрд▓ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди", + "file_preview_not_supported": "рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред", + "view_faciliy": "рд╕реБрд╡рд┐рдзрд╛ рджреЗрдЦреЗрдВ", + "view_patients": "рдорд░реАрдЬрд╝ рджреЗрдЦреЗрдВ", + "frequency": "рдЖрд╡реГрддреНрддрд┐", + "days": "рджрд┐рди", + "never": "рдХрднреА рдирд╣реАрдВ", + "notes": "рдиреЛрдЯреНрд╕", + "add_notes": "рдиреЛрдЯреНрд╕ рдЬреЛрдбрд╝реЗрдВ", + "notes_placeholder": "рдЕрдкрдиреЗ рдиреЛрдЯреНрд╕ рд▓рд┐рдЦреЗрдВ", + "optional": "рд╡реИрдХрд▓реНрдкрд┐рдХ", + "discontinue": "рдмрдВрдж", + "discontinued": "рдмрдВрдж", + "not_specified": "рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ", + "all_changes_have_been_saved": "рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╕рд╣реЗрдЬ рд▓рд┐рдП рдЧрдП рд╣реИрдВ", + "no_data_found": "рдбрд╛рдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ", + "edit": "рд╕рдВрдкрд╛рджрди рдХрд░рдирд╛", + "clear_selection": "рдЪрдпрди рд╕рд╛рдлрд╝ рдХрд░реЗрдВ", + "select_date": "рддрд╛рд░реАрдЦрд╝ рдЪреБрдиреЗрдВ", + "DD/MM/YYYY": "рджрд┐рдирд╛рдВрдХ/рдорд╛рд╣/рд╡рд░реНрд╖", + "clear_all_filters": "рд╕рднреА рдлрд╝рд┐рд▓реНрдЯрд░ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ", + "summary": "рд╕рд╛рд░рд╛рдВрд╢", + "report": "рдкреНрд░рддрд┐рд╡реЗрджрди", + "treating_doctor": "рдЗрд▓рд╛рдЬ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдбреЙрдХреНрдЯрд░", + "ration_card__NO_CARD": "рдЧреИрд░-рдХрд╛рд░реНрдб рдзрд╛рд░рдХ", + "ration_card__BPL": "рдЧрд░реАрдмреА рд░реЗрдЦрд╛ рд╕реЗ рдиреАрдЪреЗ", + "ration_card__APL": "рдПрдкреАрдПрд▓", + "empty_date_time": "--:-- --; --/--/----", + "caution": "рд╕рд╛рд╡рдзрд╛рдиреА", + "feed_optimal_experience_for_phones": "рд╕рд░реНрд╡реЛрддреНрддрдо рджреГрд╢реНрдп рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдШреБрдорд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред", + "feed_optimal_experience_for_apple_phones": "рдмреЗрд╣рддрд░реАрди рджреГрд╢реНрдп рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдШреБрдорд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдСрдЯреЛ-рд░реЛрдЯреЗрдЯ рд╕рдХреНрд╖рдо рд╣реИред", + "action_irreversible": "рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИ", + "GENDER__1": "рдкреБрд░реБрд╖", + "GENDER__2": "рдорд╣рд┐рд▓рд╛", + "GENDER__3": "рдиреЙрди-рдмрд╛рдЗрдирд░реА", + "normal": "рд╕рд╛рдорд╛рдиреНрдп", + "done": "рд╣реЛ рдЧрдпрд╛", + "view": "рджреЗрдЦрдирд╛", + "rename": "рдирд╛рдо рдмрджрд▓реЗрдВ", + "more_info": "рдФрд░ рдЬрд╛рдирдХрд╛рд░реА", + "archive": "рдкреБрд░рд╛рд▓реЗрдЦ", + "discard": "рдЦрд╛рд░рд┐рдЬ рдХрд░рдирд╛", + "live": "рд░рд╣рдирд╛", + "discharged": "рдЫреБрдЯреНрдЯреА рджреЗ рджреА рдЧрдИ", + "archived": "рд╕рдВрдЧреНрд░рд╣реАрдд", + "no_changes_made": "рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛", + "user_deleted_successfuly": "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛", + "users": "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ", + "are_you_sure_want_to_delete": "рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ {{name}}рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?", + "oxygen_information": "рдСрдХреНрд╕реАрдЬрди рдХреА рдЬрд╛рдирдХрд╛рд░реА", + "deleted_successfully": "{{name}} рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛", + "delete_item": "{{name}}рдорд┐рдЯрд╛рдПрдБ", + "unsupported_browser": "рдЕрд╕рдорд░реНрдерд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░", + "unsupported_browser_description": "рдЖрдкрдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ ({{name}} рд╕рдВрд╕реНрдХрд░рдг {{version}}) рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдпрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред" +} \ No newline at end of file diff --git a/src/Locale/hi/Consultation.json b/src/Locale/hi/Consultation.json new file mode 100644 index 00000000000..a7bd1042530 --- /dev/null +++ b/src/Locale/hi/Consultation.json @@ -0,0 +1,59 @@ +{ + "no_consultation_updates": "рдХреЛрдИ рдкрд░рд╛рдорд░реНрд╢ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ", + "consultation_updates": "рдкрд░рд╛рдорд░реНрд╢ рдЕрджреНрдпрддрди", + "update_log": "рд▓реЙрдЧ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ", + "record_updates": "рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ", + "log_lab_results": "рд▓реЙрдЧ рд▓реИрдм рдкрд░рд┐рдгрд╛рдо", + "no_log_update_delta": "рдкрд┐рдЫрд▓реЗ рд▓реЙрдЧ рдЕрджреНрдпрддрди рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ", + "virtual_nursing_assistant": "рд╡рд░реНрдЪреБрдЕрд▓ рдирд░реНрд╕рд┐рдВрдЧ рд╕рд╣рд╛рдпрдХ", + "discharge": "рд╕реНрд░рд╛рд╡ рд╣реЛрдирд╛", + "discharge_summary": "рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рд╕рд╛рд░рд╛рдВрд╢", + "discharge_from_care": "CARE рд╕реЗ рдЫреБрдЯреНрдЯреА", + "generating_discharge_summary": "рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рд╕рд╛рд░рд╛рдВрд╢ рддреИрдпрд╛рд░ рдХрд░рдирд╛", + "discharge_summary_not_ready": "рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рд╕рд╛рд░рд╛рдВрд╢ рдЕрднреА рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ.", + "download_discharge_summary": "рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рд╕рд╛рд░рд╛рдВрд╢ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ", + "email_discharge_summary_description": "рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╡реИрдз рдИрдореЗрд▓ рдкрддрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ", + "generated_summary_caution": "рдпрд╣ CARE рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИред", + "NORMAL": "рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрджреНрдпрддрди", + "VENTILATOR": "рд╡рд┐рд╕реНрддреГрдд рдЕрджреНрдпрддрди", + "DOCTORS_LOG": "рдкреНрд░рдЧрддрд┐ рдиреЛрдЯ", + "AUTOMATED": "рд╕реНрд╡рдЪрд╛рд▓рд┐рдд", + "TELEMEDICINE": "рд╕реБрджреВрд░", + "investigations": "рдЬрд╛рдВрдЪ", + "search_investigation_placeholder": "рдЦреЛрдЬ рдЬрд╛рдВрдЪ рдФрд░ рд╕рдореВрд╣", + "save_investigation": "рдЬрд╛рдВрдЪ рд╕рд╣реЗрдЬреЗрдВ", + "investigation_reports": "рдЬрд╛рдВрдЪ рд░рд┐рдкреЛрд░реНрдЯ", + "no_investigation": "рдХреЛрдИ рдЬрд╛рдВрдЪ рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдорд┐рд▓реА", + "investigations_suggested": "рд╕реБрдЭрд╛рдП рдЧрдП рдЬрд╛рдВрдЪ", + "to_be_conducted": "рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ", + "log_report": "рд▓реЙрдЧ рд░рд┐рдкреЛрд░реНрдЯ", + "no_investigation_suggestions": "рдХреЛрдИ рдЬрд╛рдВрдЪ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ", + "select_investigation": "рдЬрд╛рдВрдЪ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ (рд╕рднреА рдЬрд╛рдВрдЪ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрдпрдирд┐рдд рд╣реЛрдВрдЧреА)", + "select_investigations": "рдЬрд╛рдВрдЪ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ", + "get_tests": "рдЯреЗрд╕реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ", + "select_investigation_groups": "рдЬрд╛рдВрдЪ рд╕рдореВрд╣ рдЪреБрдиреЗрдВ", + "select_groups": "рд╕рдореВрд╣ рдЪреБрдиреЗрдВ", + "generate_report": "рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░реЗрдВ", + "prev_sessions": "рдкрд┐рдЫрд▓реЗ рд╕рддреНрд░", + "next_sessions": "рдЕрдЧрд▓реЗ рд╕рддреНрд░", + "no_changes": "рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ", + "back_to_consultation": "рдкрд░рд╛рдорд░реНрд╢ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ", + "no_treating_physicians_available": "рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдХреЛрдИ рд╣реЛрдо рдлреИрд╕рд┐рд▓рд┐рдЯреА рдбреЙрдХреНрдЯрд░ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдПрдбрдорд┐рди рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред", + "encounter_suggestion_edit_disallowed": "рд╕рдВрдкрд╛рджрди рдкрд░рд╛рдорд░реНрд╢ рдореЗрдВ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ", + "encounter_suggestion__A": "рдкреНрд░рд╡реЗрд╢", + "encounter_suggestion__DC": "рдШрд░реЗрд▓реВ рджреЗрдЦрднрд╛рд▓", + "encounter_suggestion__OP": "рдмрд╛рд╣реНрдп-рд░реЛрдЧреА рджреМрд░рд╛", + "encounter_suggestion__DD": "рдкрд░рд╛рдорд░реНрд╢", + "encounter_suggestion__HI": "рдкрд░рд╛рдорд░реНрд╢", + "encounter_suggestion__R": "рдкрд░рд╛рдорд░реНрд╢", + "encounter_date_field_label__A": "рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХреА рддрд┐рдерд┐ рдФрд░ рд╕рдордп", + "encounter_date_field_label__DC": "рдШрд░реЗрд▓реВ рджреЗрдЦрднрд╛рд▓ рдкреНрд░рд╛рд░рдВрдн рдХреА рддрд┐рдерд┐ рдФрд░ рд╕рдордп", + "encounter_date_field_label__OP": "рдмрд╛рд╣реНрдп-рд░реЛрдЧреА рджреМрд░реЗ рдХреА рддрд┐рдерд┐ рдФрд░ рд╕рдордп", + "encounter_date_field_label__DD": "рдкрд░рд╛рдорд░реНрд╢ рдХреА рддрд┐рдерд┐ рдПрд╡рдВ рд╕рдордп", + "encounter_date_field_label__HI": "рдкрд░рд╛рдорд░реНрд╢ рдХреА рддрд┐рдерд┐ рдПрд╡рдВ рд╕рдордп", + "encounter_date_field_label__R": "рдкрд░рд╛рдорд░реНрд╢ рдХреА рддрд┐рдерд┐ рдПрд╡рдВ рд╕рдордп", + "back_dated_encounter_date_caution": "рдЖрдк рдПрдХ рдореБрдарднреЗрдбрд╝ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ", + "encounter_duration_confirmation": "рдЗрд╕ рдореБрдарднреЗрдбрд╝ рдХреА рдЕрд╡рдзрд┐ рд╣реЛрдЧреА", + "consultation_notes": "рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрджреЗрд╢ (рд╕рд▓рд╛рд╣)", + "procedure_suggestions": "рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрдЭрд╛рд╡" +} diff --git a/src/Locale/hi/CoverImageEdit.json b/src/Locale/hi/CoverImageEdit.json new file mode 100644 index 00000000000..901a7a28e2d --- /dev/null +++ b/src/Locale/hi/CoverImageEdit.json @@ -0,0 +1,5 @@ +{ + "edit_cover_photo": "рдХрд╡рд░ рдлрд╝реЛрдЯреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ", + "no_cover_photo_uploaded_for_this_facility": "рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╡рд░ рдлрд╝реЛрдЯреЛ рдЕрдкрд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛", + "capture_cover_photo": "рдХрд╡рд░ рдлрд╝реЛрдЯреЛ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВ" +} diff --git a/src/Locale/hi/Diagnosis.json b/src/Locale/hi/Diagnosis.json new file mode 100644 index 00000000000..edde96df72f --- /dev/null +++ b/src/Locale/hi/Diagnosis.json @@ -0,0 +1,21 @@ +{ + "diagnosis": "рдирд┐рджрд╛рди", + "diagnoses": "рдирд┐рджрд╛рди", + "diagnosis_already_added": "рдпрд╣ рдирд┐рджрд╛рди рдкрд╣рд▓реЗ рд╣реА рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛", + "principal": "рдкреНрд░рдзрд╛рдирд╛рдЪрд╛рд░реНрдп", + "principal_diagnosis": "рдореБрдЦреНрдп рдирд┐рджрд╛рди", + "unconfirmed": "рдЕрдкреБрд╖реНрдЯ", + "provisional": "рдЕрдирдВрддрд┐рдо", + "differential": "рдЕрдВрддрд░", + "confirmed": "рдХреА рдкреБрд╖реНрдЯрд┐", + "refuted": "рдХрд╛ рдЦрдВрдбрди рдХрд┐рдпрд╛", + "entered-in-error": "рддреНрд░реБрдЯрд┐рд╡рд╢ рдкреНрд░рд╡рд┐рд╖реНрдЯ рд╣реБрдЖ", + "help_unconfirmed": "рдЗрд╕реЗ рдПрдХ рдкреБрд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдорд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдиреИрджрд╛рдирд┐рдХ рдФрд░/рдпрд╛ рдиреИрджрд╛рдирд┐рдХ рд╕рд╛рдХреНрд╖реНрдп рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред", + "help_provisional": "рдпрд╣ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдирд┐рджрд╛рди рд╣реИ - рдЕрднреА рднреА рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред", + "help_differential": "рд╕рдВрднрд╛рд╡рд┐рдд (рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдкрд░рд╕реНрдкрд░ рдЕрдирдиреНрдп) рдирд┐рджрд╛рдиреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рд╕реЗ рдПрдХ, рдЬреЛ рдирд┐рджрд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрдкрдЪрд╛рд░ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред", + "help_confirmed": "рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрд╖реНрдЯ рдорд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдиреИрджрд╛рдирд┐рдХ рдФрд░/рдпрд╛ рдиреИрджрд╛рдирд┐рдХ рд╕рд╛рдХреНрд╖реНрдп рдореМрдЬреВрдж рд╣реИрдВред", + "help_refuted": "рдмрд╛рдж рдХреЗ рдирд┐рджрд╛рдирд╛рддреНрдордХ рдФрд░ рдиреИрджрд╛рдирд┐рдХ рд╕рд╛рдХреНрд╖реНрдпреЛрдВ рд╕реЗ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред", + "help_entered-in-error": "рдпрд╣ рдХрдерди рдЧрд▓рддреА рд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред", + "search_icd11_placeholder": "ICD-11 рдирд┐рджрд╛рди рдЦреЛрдЬреЗрдВ", + "icd11_as_recommended": "рд╡рд┐рд╢реНрд╡ рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕рдВрдЧрдарди рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд ICD-11 рдХреЗ рдЕрдиреБрд╕рд╛рд░" +} diff --git a/src/Locale/hi/Entities.json b/src/Locale/hi/Entities.json new file mode 100644 index 00000000000..edfbf313685 --- /dev/null +++ b/src/Locale/hi/Entities.json @@ -0,0 +1,11 @@ +{ + "Facilities": "рд╕реБрд╡рд┐рдзрд╛рдПрдБ", + "Patients": "рдорд░реАрдЬреЛрдВ", + "Sample Test": "рдирдореВрдирд╛ рдкрд░реАрдХреНрд╖рдг", + "Shifting": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг", + "Resource": "рд╕рдВрд╕рд╛рдзрди", + "External Results": "рдмрд╛рд╣реНрдп рдкрд░рд┐рдгрд╛рдо", + "Users": "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ", + "Profile": "рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓", + "Dashboard": "рдбреИрд╢рдмреЛрд░реНрдб" +} diff --git a/src/Locale/hi/ErrorPages.json b/src/Locale/hi/ErrorPages.json new file mode 100644 index 00000000000..c03a5f8545f --- /dev/null +++ b/src/Locale/hi/ErrorPages.json @@ -0,0 +1,13 @@ +{ + "return_to_care": "CARE рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВ", + "404_message": "рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рдкреЗрдЬ рдкрд░ рдЖ рдЧрдП рд╣реИрдВ рдЬреЛ рдпрд╛ рддреЛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдпрд╛ рдЙрд╕реЗ рдХрд┐рд╕реА рджреВрд╕рд░реЗ URL рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рд╕рд╣реА рд▓рд┐рдВрдХ рдбрд╛рд▓рд╛ рд╣реИ!", + "error_404": "рддреНрд░реБрдЯрд┐ 404", + "page_not_found": "рдкреГрд╖реНрда рдирд╣реАрдВ рдорд┐рд▓рд╛", + "session_expired": "рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реБрдЖ", + "invalid_password_reset_link": "рдЕрдорд╛рдиреНрдп рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рд▓рд┐рдВрдХ", + "invalid_link_msg": "рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЬреЛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рд▓рд┐рдВрдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдпрд╛ рддреЛ рдЕрдорд╛рдиреНрдп рд╣реИ рдпрд╛ рдЙрд╕рдХреА рд╕рдордп-рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЪреБрдХреА рд╣реИред рдХреГрдкрдпрд╛ рдирдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рд▓рд┐рдВрдХ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред", + "return_to_password_reset": "рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВ", + "return_to_login": "рд▓реЙрдЧрд┐рди рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВ", + "session_expired_msg": "рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд▓реЙрдЧрд┐рди рдХрд░реЗрдВред", + "invalid_reset": "рдЕрдорд╛рдиреНрдп рд░реАрд╕реЗрдЯ" +} diff --git a/src/Locale/hi/ExternalResult.json b/src/Locale/hi/ExternalResult.json new file mode 100644 index 00000000000..07b5c91547a --- /dev/null +++ b/src/Locale/hi/ExternalResult.json @@ -0,0 +1,25 @@ +{ + "please_upload_a_csv_file": "рдХреГрдкрдпрд╛ рдПрдХ CSV рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "upload_external_results": "рдмрд╛рд╣рд░реА рдкрд░рд┐рдгрд╛рдо рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "csv_file_in_the_specified_format": "рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ CSV рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВ", + "sample_format": "рдирдореВрдирд╛ рдкреНрд░рд╛рд░реВрдк", + "search_for_facility": "рд╕реБрд╡рд┐рдзрд╛ рдЦреЛрдЬреЗрдВ", + "select_local_body": "рд╕реНрдерд╛рдиреАрдп рдирд┐рдХрд╛рдп рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ", + "select_wards": "рд╡рд╛рд░реНрдб рдЪреБрдиреЗрдВ", + "result_date": "рдкрд░рд┐рдгрд╛рдо рджрд┐рдирд╛рдВрдХ", + "sample_collection_date": "рдирдореВрдирд╛ рд╕рдВрдЧреНрд░рд╣рдг рддрд┐рдерд┐", + "record_has_been_deleted_successfully": "рд░рд┐рдХрд╛рд░реНрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.", + "error_while_deleting_record": "рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐ рд╣реБрдИ", + "result_details": "рдкрд░рд┐рдгрд╛рдо рд╡рд┐рд╡рд░рдг", + "confirm_delete": "рдорд┐рдЯрд╛рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ", + "are_you_sure_want_to_delete_this_record": "рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рдЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?", + "patient_category": "рд░реЛрдЧреА рд╢реНрд░реЗрдгреА", + "source": "рд╕реНрд░реЛрдд", + "result": "рдкрд░рд┐рдгрд╛рдо", + "sample_type": "рдирдореВрдирд╛ рдкреНрд░рдХрд╛рд░", + "patient_status": "рд░реЛрдЧреА рдХреА рд╕реНрдерд┐рддрд┐", + "mobile_number": "рдореЛрдмрд╛рдЗрд▓ рдирдВрдмрд░", + "patient_created": "рд░реЛрдЧреА рдмрдирд╛рдпрд╛ рдЧрдпрд╛", + "care_external_results_id": "рджреЗрдЦрднрд╛рд▓ рдмрд╛рд╣реНрдп рдкрд░рд┐рдгрд╛рдо рдЖрдИрдбреА", + "update_record": "рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ" +} diff --git a/src/Locale/hi/Facility.json b/src/Locale/hi/Facility.json new file mode 100644 index 00000000000..67032df0cb9 --- /dev/null +++ b/src/Locale/hi/Facility.json @@ -0,0 +1,119 @@ +{ + "facility_search_placeholder": "рд╕реБрд╡рд┐рдзрд╛ / рдЬрд┐рд▓рд╛ рдирд╛рдо рд╕реЗ рдЦреЛрдЬреЗрдВ", + "advanced_filters": "рдЙрдиреНрдирдд рдлрд╝рд┐рд▓реНрдЯрд░", + "facility_type": "рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░", + "facility_name": "рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдирд╛рдо", + "KASP Empanelled": "KASP рдкреИрдирд▓рдмрджреНрдз", + "View Facility": "рд╕реБрд╡рд┐рдзрд╛ рджреЗрдЦреЗрдВ", + "no_duplicate_facility": "рдЖрдкрдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдирд╣реАрдВ рдмрдирд╛рдиреА рдЪрд╛рд╣рд┐рдП", + "no_facilities": "рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рдорд┐рд▓реА", + "no_staff": "рдХреЛрдИ рдХрд░реНрдордЪрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓рд╛", + "no_bed_types_found": "рдХреЛрдИ рдмрд┐рд╕реНрддрд░ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛", + "total_beds": "рдХреБрд▓ рдмрд┐рд╕реНрддрд░", + "create_facility": "рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдмрдирд╛рдПрдВ", + "staff_list": "рд╕реНрдЯрд╛рдл рд╕реВрдЪреА", + "bed_capacity": "рдмрд┐рд╕реНрддрд░ рдХреНрд╖рдорддрд╛", + "cylinders": "рд╕рд┐рд▓реЗрдВрдбрд░", + "cylinders_per_day": "рд╕рд┐рд▓реЗрдВрдбрд░/рджрд┐рди", + "liquid_oxygen_capacity": "рджреНрд░рд╡ рдСрдХреНрд╕реАрдЬрди рдХреНрд╖рдорддрд╛", + "expected_burn_rate": "рдЕрдкреЗрдХреНрд╖рд┐рдд рдмрд░реНрди рджрд░", + "type_b_cylinders": "рдмреА рдкреНрд░рдХрд╛рд░ рд╕рд┐рд▓реЗрдВрдбрд░", + "type_c_cylinders": "рд╕реА рдкреНрд░рдХрд╛рд░ рд╕рд┐рд▓реЗрдВрдбрд░", + "type_d_cylinders": "рдбреА рдкреНрд░рдХрд╛рд░ рд╕рд┐рд▓реЗрдВрдбрд░", + "select_local_body": "рд╕реНрдерд╛рдиреАрдп рдирд┐рдХрд╛рдп рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ", + "update_asset": "рд╕рдВрдкрддреНрддрд┐ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ", + "create_new_asset": "рдирдИ рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдПрдВ", + "you_need_at_least_a_location_to_create_an_assest": "рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред", + "add_location": "рд╕реНрдерд╛рди рдЬреЛрдбрд╝рдирд╛", + "close_scanner": "рд╕реНрдХреИрдирд░ рдмрдВрдж рдХрд░реЗрдВ", + "scan_asset_qr": "рдПрд╕реЗрдЯ рдХреНрдпреВрдЖрд░ рд╕реНрдХреИрди рдХрд░реЗрдВ!", + "update": "рдЕрджреНрдпрддрди", + "create": "рдмрдирд╛рдПрдВ", + "asset_name": "рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо", + "asset_location": "рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рд╕реНрдерд╛рди", + "asset_type": "рд╕рдВрдкрджрд╛ рдкреНрд░рдХрд╛рд░", + "asset_class": "рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рд╡рд░реНрдЧ", + "details_about_the_equipment": "рдЙрдкрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг", + "working_status": "рдХрд╛рдордХрд╛рдЬреА рд╕реНрдерд┐рддрд┐", + "why_the_asset_is_not_working": "рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИ?", + "describe_why_the_asset_is_not_working": "рдмрддрд╛рдПрдВ рдХрд┐ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИ", + "asset_qr_id": "рдПрд╕реЗрдЯ рдХреНрдпреВрдЖрд░ рдЖрдИрдбреА", + "manufacturer": "рдЙрддреНрдкрд╛рджрдХ", + "eg_xyz": "рдЙрджрд╛рд╣рд░рдг: XYZ", + "eg_abc": "рдЙрджрд╛рд╣рд░рдг: рдПрдмреАрд╕реА", + "warranty_amc_expiry": "рд╡рд╛рд░рдВрдЯреА / рдПрдПрдорд╕реА рд╕рдорд╛рдкреНрддрд┐", + "customer_support_name": "рдЧреНрд░рд╛рд╣рдХ рд╕рд╣рд╛рдпрддрд╛ рдирд╛рдо", + "customer_support_number": "рдЧреНрд░рд╛рд╣рдХ рд╕рд╣рд╛рдпрддрд╛ рдирдВрдмрд░", + "customer_support_email": "рдЧреНрд░рд╛рд╣рдХ рд╕рд╣рд╛рдпрддрд╛ рдИрдореЗрд▓", + "eg_mail_example_com": "рдЙрджрд╛рд╣рд░рдг: mail@example.com", + "vendor_name": "рд╡рд┐рдХреНрд░реЗрддрд╛ рдХрд╛ рдирд╛рдо", + "serial_number": "рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛", + "last_serviced_on": "рдЕрдВрддрд┐рдо рд╕реЗрд╡рд╛ рдХрдм рджреА рдЧрдИ", + "notes": "рдиреЛрдЯреНрд╕", + "create_asset": "рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдПрдВ", + "create_add_more": "рдФрд░ рдЕрдзрд┐рдХ рдмрдирд╛рдПрдВ рдФрд░ рдЬреЛрдбрд╝реЗрдВ", + "discharged_patients": "рдЫреБрдЯреНрдЯреА рджрд┐рдП рдЧрдП рдорд░реАрдЬрд╝", + "discharged_patients_empty": "рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдХреЛрдИ рднреА рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рдорд░реАрдЬрд╝ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ", + "update_facility_middleware_success": "рд╕реБрд╡рд┐рдзрд╛ рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛", + "treatment_summary__head_title": "рдЙрдкрдЪрд╛рд░ рд╕рд╛рд░рд╛рдВрд╢", + "treatment_summary__print": "рдкреНрд░рд┐рдВрдЯ рдЙрдкрдЪрд╛рд░ рд╕рд╛рд░рд╛рдВрд╢", + "treatment_summary__heading": "рдЕрдВрддрд░рд┐рдо рдЙрдкрдЪрд╛рд░ рд╕рд╛рд░рд╛рдВрд╢", + "patient_registration__name": "рдирд╛рдо", + "patient_registration__address": "рдкрддрд╛", + "patient_registration__age": "рдЖрдпреБ", + "patient_consultation__op": "рд╕реЗрд╢рди", + "patient_consultation__ip": "рдЖрдИ рдкреА", + "patient_consultation__dc_admission": "рдШрд░реЗрд▓реВ рджреЗрдЦрднрд╛рд▓ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреА рддрд┐рдерд┐", + "patient_consultation__admission": "рдкреНрд░рд╡реЗрд╢ рдХреА рддрд┐рдерд┐", + "patient_registration__gender": "рд▓рд┐рдВрдЧ", + "patient_registration__contact": "рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд╕рдВрдкрд░реНрдХ", + "patient_registration__comorbidities": "comorbidities", + "patient_registration__comorbidities__disease": "рдмреАрдорд╛рд░реА", + "patient_registration__comorbidities__details": "рд╡рд┐рд╡рд░рдг", + "patient_consultation__consultation_notes": "рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрджреЗрд╢", + "patient_consultation__special_instruction": "рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢", + "suggested_investigations": "рд╕реБрдЭрд╛рдП рдЧрдП рдЬрд╛рдВрдЪ", + "investigations__date": "рддрд╛рд░реАрдЦ", + "investigations__name": "рдирд╛рдо", + "investigations__result": "рдкрд░рд┐рдгрд╛рдо", + "investigations__ideal_value": "рдЖрджрд░реНрд╢ рдореВрд▓реНрдп", + "investigations__range": "рдореВрд▓реНрдп рдкрд╣реБрдВрдЪ", + "investigations__unit": "рдЗрдХрд╛рдИ", + "patient_consultation__treatment__plan": "рдпреЛрдЬрдирд╛", + "patient_consultation__treatment__summary": "рд╕рд╛рд░рд╛рдВрд╢", + "patient_consultation__treatment__summary__date": "рддрд╛рд░реАрдЦ", + "patient_consultation__treatment__summary__spo2": "рдПрд╕рдкреАрдУ2", + "patient_consultation__treatment__summary__temperature": "рддрд╛рдкрдорд╛рди", + "diagnosis": "рдирд┐рджрд╛рди", + "diagnosis__principal": "рдкреНрд░рдзрд╛рдирд╛рдЪрд╛рд░реНрдп", + "diagnosis__confirmed": "рдХреА рдкреБрд╖реНрдЯрд┐", + "diagnosis__provisional": "рдЕрдирдВрддрд┐рдо", + "diagnosis__unconfirmed": "рдЕрдкреБрд╖реНрдЯ", + "diagnosis__differential": "рдЕрдВрддрд░", + "active_prescriptions": "рд╕рдХреНрд░рд┐рдп рдиреБрд╕реНрдЦреЗ", + "prescriptions__medicine": "рджрд╡рд╛", + "prescriptions__route": "рдорд╛рд░реНрдЧ", + "prescriptions__dosage_frequency": "рдЦреБрд░рд╛рдХ рдФрд░ рдЖрд╡реГрддреНрддрд┐", + "prescriptions__start_date": "рдирд┐рд░реНрдзрд╛рд░рд┐рдд", + "select_facility_for_discharged_patients_warning": "рдЫреБрдЯреНрдЯреА рджрд┐рдП рдЧрдП рдорд░реАрдЬреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред", + "duplicate_patient_record_confirmation": "рдЬрдиреНрдо рдХрд╛ рд╡рд░реНрд╖ рдЬреЛрдбрд╝рдХрд░ рдорд░реАрдЬ рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдиреЗ рдЕрд╕реНрдкрддрд╛рд▓ рдореЗрдВ рднрд░реНрддреА рдХрд░реЗрдВ", + "duplicate_patient_record_rejection": "рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЬрд┐рд╕ рд╕рдВрджрд┐рдЧреНрдз/рд░реЛрдЧреА рдХреА рд╕реВрдЪреА рдореИрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рд╣реИред", + "duplicate_patient_record_birth_unknown": "рдпрджрд┐ рдЖрдк рд░реЛрдЧреА рдХреЗ рдЬрдиреНрдо рд╡рд░реНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдЬрд┐рд▓рд╛ рджреЗрдЦрднрд╛рд▓ рд╕рдордиреНрд╡рдпрдХ, рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕реБрд╡рд┐рдзрд╛ рдпрд╛ рд░реЛрдЧреА рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред", + "patient_transfer_birth_match_note": "рдзреНрдпрд╛рди рджреЗрдВ: рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрд░реЛрдз рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдиреНрдо рдХрд╛ рд╡рд░реНрд╖ рдорд░реАрдЬ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред", + "cover_image_updated_note": "рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рдХрд╡рд░ рдЫрд╡рд┐ рджреЗрдЦрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ", + "available_features": "рдЙрдкрд▓рдмреНрдз рд╕реБрд╡рд┐рдзрд╛рдПрдБ", + "update_facility": "рдЕрджреНрдпрддрди рд╕реБрд╡рд┐рдзрд╛", + "configure_facility": "рд╕реБрд╡рд┐рдзрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ", + "inventory_management": "рд╕реВрдЪреА рдкреНрд░рдмрдВрдзрди", + "location_management": "рд╕реНрдерд╛рди рдкреНрд░рдмрдВрдзрди", + "resource_request": "рд╕рдВрд╕рд╛рдзрди рдЕрдиреБрд░реЛрдз", + "view_asset": "рд╕рдВрдкрддреНрддрд┐рдпрд╛рдВ рджреЗрдЦреЗрдВ", + "view_users": "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрдЦреЗрдВ", + "view_abdm_records": "ABDM рд░рд┐рдХреЙрд░реНрдб рджреЗрдЦреЗрдВ", + "delete_facility": "рд╕реБрд╡рд┐рдзрд╛ рд╣рдЯрд╛рдПрдВ", + "central_nursing_station": "рд╕реЗрдВрдЯреНрд░рд▓ рдирд░реНрд╕рд┐рдВрдЧ рд╕реНрдЯреЗрд╢рди", + "add_details_of_patient": "рдорд░реАрдЬрд╝ рдХрд╛ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝реЗрдВ", + "choose_location": "рд╕реНрдерд╛рди рдХрд╛ рдЪрдпрди", + "live_monitoring": "рд▓рд╛рдЗрд╡ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ", + "open_live_monitoring": "рд▓рд╛рдЗрд╡ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЦреЛрд▓реЗрдВ" +} diff --git a/src/Locale/hi/FileUpload.json b/src/Locale/hi/FileUpload.json new file mode 100644 index 00000000000..b2e7e5fa966 --- /dev/null +++ b/src/Locale/hi/FileUpload.json @@ -0,0 +1,29 @@ +{ + "audio__allow_permission": "рдХреГрдкрдпрд╛ рд╕рд╛рдЗрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ", + "audio__allow_permission_helper": "рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рднреА рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рддрдХ рдкрд╣реБрдВрдЪ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд┐рдпрд╛ рд╣реЛ.", + "audio__allow_permission_button": "рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ", + "audio__record": "рдСрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ", + "audio__record_helper": "рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ", + "audio__recording": "рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ", + "audio__recording_helper": "рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдорд╛рдЗрдХреНрд░реЛрдлрд╝реЛрди рдореЗрдВ рдмреЛрд▓реЗрдВ.", + "audio__recording_helper_2": "рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред", + "audio__recorded": "рдСрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЧрдпрд╛", + "audio__start_again": "рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ", + "enter_file_name": "рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ", + "no_files_found": "рдХреЛрдИ {{type}} рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реА", + "upload_headings__patient": "рдирдИ рд░реЛрдЧреА рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "upload_headings__consultation": "рдирдИ рдкрд░рд╛рдорд░реНрд╢ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "upload_headings__sample_report": "рдирдореВрдирд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "upload_headings__supporting_info": "рд╕рд╣рд╛рдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ", + "file_list_headings__patient": "рд░реЛрдЧреА рдлрд╝рд╛рдЗрд▓реЗрдВ", + "file_list_headings__consultation": "рдкрд░рд╛рдорд░реНрд╢ рдлрд╝рд╛рдЗрд▓реЗрдВ", + "file_list_headings__sample_report": "рдирдореВрдирд╛ рд░рд┐рдкреЛрд░реНрдЯ", + "file_list_headings__supporting_info": "рд╕рд╣рд╛рдпрдХ рдЬрд╛рдирдХрд╛рд░реА", + "file_error__choose_file": "рдХреГрдкрдпрд╛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВ", + "file_error__file_name": "рдХреГрдкрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ", + "file_error__file_size": "рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ 100 рдПрдордмреА рд╣реИ", + "file_error__file_type": "рдЕрдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░ \".{{extension}}\" рд╕реНрд╡реАрдХреГрдд рдкреНрд░рдХрд╛рд░: {{allowedExtensions}}", + "file_uploaded": "рдлрд╝рд╛рдЗрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ", + "file_error__dynamic": "рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐: {{statusText}}", + "file_error__network": "рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐: рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐" +} diff --git a/src/Locale/hi/Hub.json b/src/Locale/hi/Hub.json new file mode 100644 index 00000000000..54a2ecc49f9 --- /dev/null +++ b/src/Locale/hi/Hub.json @@ -0,0 +1,14 @@ +{ + "monitor": "рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛", + "show_default_presets": "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реАрд╕реЗрдЯ рджрд┐рдЦрд╛рдПрдВ", + "show_patient_presets": "рдорд░реАрдЬрд╝ рдкреНрд░реАрд╕реЗрдЯ рджрд┐рдЦрд╛рдПрдБ", + "moving_camera": "рдЪрд▓рддрд╛ рдХреИрдорд░рд╛", + "full_screen": "рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди", + "feed_is_currently_not_live": "рдлрд╝реАрдб рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЗрд╡ рдирд╣реАрдВ рд╣реИ", + "zoom_out": "рдЬрд╝реВрдо рдЖрдЙрдЯ", + "zoom_in": "рдЬрд╝реВрдо рдЗрди", + "right": "рд╕рд╣реА", + "left": "рдмрд╛рдПрдВ", + "down": "рдиреАрдЪреЗ", + "up": "рдКрдкрд░" +} diff --git a/src/Locale/hi/LogUpdate.json b/src/Locale/hi/LogUpdate.json new file mode 100644 index 00000000000..3026eccce57 --- /dev/null +++ b/src/Locale/hi/LogUpdate.json @@ -0,0 +1,73 @@ +{ + "RESPIRATORY_SUPPORT_SHORT__UNKNOWN": "рдХреЛрдИ рдирд╣реАрдВ", + "RESPIRATORY_SUPPORT_SHORT__OXYGEN_SUPPORT": "O2 рд╕рдорд░реНрдерди", + "RESPIRATORY_SUPPORT_SHORT__NON_INVASIVE": "рдПрдирдЖрдИрд╡реА", + "RESPIRATORY_SUPPORT_SHORT__INVASIVE": "рдЪрддреБрд░реНрде", + "RESPIRATORY_SUPPORT__UNKNOWN": "рдХреЛрдИ рдирд╣реАрдВ", + "RESPIRATORY_SUPPORT__OXYGEN_SUPPORT": "рдСрдХреНрд╕реАрдЬрди рд╕рд╣рд╛рдпрддрд╛", + "RESPIRATORY_SUPPORT__NON_INVASIVE": "рдиреЙрди-рдЗрдирд╡реЗрд╕рд┐рд╡ рд╡реЗрдВрдЯрд┐рд▓реЗрдЯрд░ (рдПрдирдЖрдИрд╡реА)", + "RESPIRATORY_SUPPORT__INVASIVE": "рдЗрдирд╡реЗрд╕рд┐рд╡ рд╡реЗрдВрдЯрд┐рд▓реЗрдЯрд░ (IV)", + "VENTILATOR_MODE__CMV": "рдореИрдХреЗрдирд┐рдХрд▓ рд╡реЗрдВрдЯрд┐рд▓реЗрд╢рди (CMV) рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ", + "VENTILATOR_MODE__VCV": "рд╡реЙрд▓реНрдпреВрдо рдирд┐рдпрдВрддреНрд░рдг рд╡реЗрдВрдЯрд┐рд▓реЗрд╢рди (VCV)", + "VENTILATOR_MODE__PCV": "рджрдмрд╛рд╡ рдирд┐рдпрдВрддреНрд░рдг рд╡реЗрдВрдЯрд┐рд▓реЗрд╢рди (рдкреАрд╕реАрд╡реА)", + "VENTILATOR_MODE__SIMV": "рд╕рдордХрд╛рд▓рд┐рдХ рдЖрдВрддрд░рд╛рдпрд┐рдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╡реЗрдВрдЯрд┐рд▓реЗрд╢рди (рдПрд╕рдЖрдИрдПрдорд╡реА)", + "VENTILATOR_MODE__VC_SIMV": "рд╡реЙрд▓реНрдпреВрдо рдирд┐рдпрдВрддреНрд░рд┐рдд SIMV (VC-SIMV)", + "VENTILATOR_MODE__PC_SIMV": "рджрдмрд╛рд╡ рдирд┐рдпрдВрддреНрд░рд┐рдд SIMV (PC-SIMV)", + "VENTILATOR_MODE__PSV": "рд╕реА-рдкреАрдПрдкреА / рдкреНрд░реЗрд╢рд░ рд╕рдкреЛрд░реНрдЯ рд╡реЗрдВрдЯрд┐рд▓реЗрд╢рди (рдкреАрдПрд╕рд╡реА)", + "CONSCIOUSNESS_LEVEL__UNRESPONSIVE": "рдЕрдиреБрддреНрддрд░рджрд╛рдпреА", + "CONSCIOUSNESS_LEVEL__RESPONDS_TO_PAIN": "рджрд░реНрдж рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ", + "CONSCIOUSNESS_LEVEL__RESPONDS_TO_VOICE": "рдЖрд╡рд╛рдЬрд╝ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ", + "CONSCIOUSNESS_LEVEL__ALERT": "рдЪреЗрддрд╛рд╡рдиреА", + "CONSCIOUSNESS_LEVEL__AGITATED_OR_CONFUSED": "рдЙрддреНрддреЗрдЬрд┐рдд рдпрд╛ рднреНрд░рдорд┐рдд", + "CONSCIOUSNESS_LEVEL__ONSET_OF_AGITATION_AND_CONFUSION": "рдЙрддреНрддреЗрдЬрдирд╛ рдФрд░ рднреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд", + "PUPIL_REACTION__UNKNOWN": "рдЕрдЬреНрдЮрд╛рдд", + "PUPIL_REACTION__BRISK": "рддреЗрдЬ", + "PUPIL_REACTION__SLUGGISH": "рд╕реБрд╕реНрдд", + "PUPIL_REACTION__FIXED": "рддрдп", + "PUPIL_REACTION__CANNOT_BE_ASSESSED": "рдореВрд▓реНрдпрд╛рдВрдХрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛", + "LIMB_RESPONSE__UNKNOWN": "рдЕрдЬреНрдЮрд╛рдд", + "LIMB_RESPONSE__STRONG": "рдордЬрд╝рдмреВрдд", + "LIMB_RESPONSE__MODERATE": "рдордзреНрдпрдо", + "LIMB_RESPONSE__WEAK": "рдХрдордЬрд╝реЛрд░", + "LIMB_RESPONSE__FLEXION": "рдореЛрдбрд╝", + "LIMB_RESPONSE__EXTENSION": "рд╡рд┐рд╕реНрддрд╛рд░", + "LIMB_RESPONSE__NONE": "рдХреЛрдИ рдирд╣реАрдВ", + "OXYGEN_MODALITY__NASAL_PRONGS": "рдирд╛рдХ рдХреЗ рдХрд╛рдВрдЯреЗ", + "OXYGEN_MODALITY__SIMPLE_FACE_MASK": "рд╕рд░рд▓ рдлреЗрд╕ рдорд╛рд╕реНрдХ", + "OXYGEN_MODALITY__NON_REBREATHING_MASK": "рдиреЙрди рд░реАрдмреНрд░реАрджрд┐рдВрдЧ рдорд╛рд╕реНрдХ", + "OXYGEN_MODALITY__HIGH_FLOW_NASAL_CANNULA": "рдЙрдЪреНрдЪ рдкреНрд░рд╡рд╛рд╣ рдирд╛рдХ рдкреНрд░рд╡реЗрд╢рдиреА", + "INSULIN_INTAKE_FREQUENCY__UNKNOWN": "рдЕрдЬреНрдЮрд╛рдд", + "INSULIN_INTAKE_FREQUENCY__OD": "рджрд┐рди рдореЗрдВ рдПрдХ рдмрд╛рд░ (OD)", + "INSULIN_INTAKE_FREQUENCY__BD": "рджрд┐рди рдореЗрдВ рджреЛ рдмрд╛рд░ (рдмреАрдбреА)", + "INSULIN_INTAKE_FREQUENCY__TD": "рджрд┐рди рдореЗрдВ рддреАрди рдмрд╛рд░ (рдЯреАрдбреА)", + "NURSING_CARE_PROCEDURE__personal_hygiene": "рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрд╡рдЪреНрдЫрддрд╛", + "NURSING_CARE_PROCEDURE__positioning": "рдкреЛрдЬрд┐рд╢рдирд┐рдВрдЧ", + "NURSING_CARE_PROCEDURE__suctioning": "рд╕рдХреНрд╢рдирд┐рдВрдЧ", + "NURSING_CARE_PROCEDURE__ryles_tube_care": "рд░рд╛рдЗрд▓реНрд╕ рдЯреНрдпреВрдм рдХреЗрдпрд░", + "NURSING_CARE_PROCEDURE__iv_sitecare": "IV рд╕рд╛рдЗрдЯ рджреЗрдЦрднрд╛рд▓", + "NURSING_CARE_PROCEDURE__nubulisation": "рдиреВрдмреБрд▓рд╛рдЗрдЬрд╝реЗрд╢рди", + "NURSING_CARE_PROCEDURE__dressing": "рдбреНрд░реЗрд╕рд┐рдВрдЧ", + "NURSING_CARE_PROCEDURE__dvt_pump_stocking": "рдбреАрд╡реАрдЯреА рдкрдВрдк рд╕реНрдЯреЙрдХрд┐рдВрдЧ", + "NURSING_CARE_PROCEDURE__restrain": "рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛", + "NURSING_CARE_PROCEDURE__chest_tube_care": "рдЪреЗрд╕реНрдЯ рдЯреНрдпреВрдм рдХреА рджреЗрдЦрднрд╛рд▓", + "NURSING_CARE_PROCEDURE__tracheostomy_care": "рдЯреНрд░реИрдХрд┐рдпреЛрд╕реНрдЯреЛрдореА рджреЗрдЦрднрд╛рд▓", + "NURSING_CARE_PROCEDURE__stoma_care": "рд╕реНрдЯреЛрдорд╛ рджреЗрдЦрднрд╛рд▓", + "NURSING_CARE_PROCEDURE__catheter_care": "рдХреИрдереЗрдЯрд░ рджреЗрдЦрднрд╛рд▓", + "HEARTBEAT_RHYTHM__REGULAR": "рдирд┐рдпрдорд┐рдд", + "HEARTBEAT_RHYTHM__IRREGULAR": "рдЕрдирд┐рдпрдорд┐рдд", + "HEARTBEAT_RHYTHM__UNKNOWN": "рдЕрдЬреНрдЮрд╛рдд", + "heartbeat_rhythm": "рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреА рд▓рдп", + "heartbeat_description": "рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХрд╛ рд╡рд┐рд╡рд░рдг", + "blood_pressure": "рд░рдХреНрддрдЪрд╛рдк", + "map_acronym": "рдорд╛рдирдЪрд┐рддреНрд░", + "systolic": "рд╕рд┐рд╕реНрдЯреЛрд▓рд┐рдХ", + "diastolic": "рдбрд╛рдпрд╕реНрдЯреЛрд▓рд┐рдХ", + "temperature": "рддрд╛рдкрдорд╛рди", + "resipiratory_rate": "рд╢реНрд╡рд╕рди рджрд░", + "pain": "рджрд░реНрдж", + "pain_chart_description": "рджрд░реНрдж рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдФрд░ рддреАрд╡реНрд░рддрд╛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ", + "pulse": "рдирд╛рдбрд╝реА", + "bradycardia": "рдордВрджрдирд╛рдбрд╝реА", + "tachycardia": "tachycardia", + "spo2": "SpOтВВ" +} \ No newline at end of file diff --git a/src/Locale/hi/Medicine.json b/src/Locale/hi/Medicine.json new file mode 100644 index 00000000000..746cdb32856 --- /dev/null +++ b/src/Locale/hi/Medicine.json @@ -0,0 +1,68 @@ +{ + "medicine": "рджрд╡рд╛", + "route": "рдорд╛рд░реНрдЧ", + "dosage": "рдорд╛рддреНрд░рд╛ рдмрдирд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐", + "base_dosage": "рдорд╛рддреНрд░рд╛ рдмрдирд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐", + "start_dosage": "рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЦреБрд░рд╛рдХ", + "target_dosage": "рд▓рдХреНрд╖реНрдп рдЦреБрд░рд╛рдХ", + "instruction_on_titration": "рдЕрдиреБрдорд╛рдкрди рдкрд░ рдирд┐рд░реНрджреЗрд╢", + "titrate_dosage": "рдЯрд╛рдЗрдЯреНрд░реЗрдЯ рдЦреБрд░рд╛рдХ", + "indicator": "рд╕реВрдЪрдХ", + "inidcator_event": "рд╕рдВрдХреЗрддрдХ рдШрдЯрдирд╛", + "max_dosage_24_hrs": "рдЕрдзрд┐рдХрддрдо рдЦреБрд░рд╛рдХ 24 рдШрдВрдЯреЗ рдореЗрдВ.", + "min_time_bw_doses": "рдЦреБрд░рд╛рдХреЛрдВ рдХреЗ рдмреАрдЪ рдиреНрдпреВрдирддрдо рд╕рдордп", + "manage_prescriptions": "рдиреБрд╕реНрдЦреЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ", + "prescription_details": "рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рд╡рд┐рд╡рд░рдг", + "prescription_medications": "рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рджрд╡рд╛рдПрдВ", + "prn_prescriptions": "рдкреАрдЖрд░рдПрди рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди", + "prescription": "рдиреБрд╕реНрдЦрд╛", + "discharge_prescription": "рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди", + "edit_prescriptions": "рдиреБрд╕реНрдЦреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ", + "prescription_medication": "рджрд╡рд╛ рдХрд╛ рдкрд░реНрдЪрд╛", + "add_prescription_medication": "рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рджрд╡рд╛ рдЬреЛрдбрд╝реЗрдВ", + "prn_prescription": "рдкреАрдЖрд░рдПрди рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди", + "add_prn_prescription": "PRN рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдЬреЛрдбрд╝реЗрдВ", + "add_prescription_to_consultation_note": "рдЗрд╕ рдкрд░рд╛рдорд░реНрд╢ рдореЗрдВ рдПрдХ рдирдпрд╛ рдиреБрд╕реНрдЦрд╛ рдЬреЛрдбрд╝реЗрдВред", + "medicine_administration_history": "рдФрд╖рдзрд┐ рдкреНрд░рд╢рд╛рд╕рди рдЗрддрд┐рд╣рд╛рд╕", + "return_to_patient_dashboard": "рдорд░реАрдЬрд╝ рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдБ", + "administered_on": "рдкреНрд░рд╢рд╛рд╕рд┐рдд", + "administer": "рдкреНрд░рд╢рд╛рд╕рди", + "administer_medicine": "рджрд╡рд╛рдИ рджреЗрдирд╛", + "administer_medicines": "рджрд╡рд╛рдЗрдпрд╛рдБ рджреЗрдВ", + "administer_selected_medicines": "рдЪрдпрдирд┐рдд рджрд╡рд╛рдПрдБ рджреЗрдВ", + "select_for_administration": "рдкреНрд░рд╢рд╛рд╕рди рдХреЗ рд▓рд┐рдП рдЪрдпрди рдХрд░реЗрдВ", + "medicines_administered": "рджреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рджрд╡рд╛(рдПрдБ)", + "medicines_administered_error": "рджрд╡рд╛(рдПрдБ) рджреЗрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐", + "prescription_discontinued": "рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛", + "administration_notes": "рдкреНрд░рд╢рд╛рд╕рди рдиреЛрдЯреНрд╕", + "last_administered": "рдЕрдВрддрд┐рдо рдкреНрд░рд╢рд╛рд╕рд┐рдд", + "prescription_logs": "рдкреНрд░рд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рд▓реЙрдЧ", + "modification_caution_note": "рдПрдХ рдмрд╛рд░ рдЬреЛрдбрд╝ рджреЗрдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдИ рд╕рдВрд╢реЛрдзрди рд╕рдВрднрд╡ рдирд╣реАрдВ", + "discontinue_caution_note": "рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рдЗрд╕ рдиреБрд╕реНрдЦреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?", + "confirm_discontinue": "рдмрдВрдж рдХрд░рдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ", + "edit_caution_note": "рдкрд░рд╛рдорд░реНрд╢ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдиреБрд╕реНрдЦрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рддрдерд╛ рд╡рд░реНрддрдорд╛рди рдиреБрд╕реНрдЦрд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред", + "reason_for_discontinuation": "рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг", + "reason_for_edit": "рд╕рдВрдкрд╛рджрди рдХрд╛ рдХрд╛рд░рдг", + "PRESCRIPTION_ROUTE_ORAL": "рдореМрдЦрд┐рдХ", + "PRESCRIPTION_ROUTE_IV": "рдЪрддреБрд░реНрде", + "PRESCRIPTION_ROUTE_IM": "рдореИрдВ рд╣реВрдБ", + "PRESCRIPTION_ROUTE_SC": "рдЕрдиреБрд╕реВрдЪрд┐рдд рдЬрд╛рддрд┐", + "PRESCRIPTION_ROUTE_INHALATION": "рд╕рд╛рдБрд╕ рд▓реЗрдирд╛", + "PRESCRIPTION_ROUTE_NASOGASTRIC": "рдирд╛рд╕реЛрдЧреИрд╕реНрдЯреНрд░рд┐рдХ / рдЧреИрд╕реНрдЯреНрд░реЛрд╕реНрдЯреЛрдореА рдЯреНрдпреВрдм", + "PRESCRIPTION_ROUTE_INTRATHECAL": "рдЕрдВрддрдГрдХрдкрд╛рд▓ рдЗрдВрдЬреЗрдХреНрд╢рди", + "PRESCRIPTION_ROUTE_TRANSDERMAL": "рдЯреНрд░рд╛рдВрд╕рдбрд░реНрдорд▓", + "PRESCRIPTION_ROUTE_RECTAL": "рд░реЗрдХреНрдЯрд▓", + "PRESCRIPTION_ROUTE_SUBLINGUAL": "рд╕рдмрд▓рд┐рдВрдЧреБрдЕрд▓", + "PRESCRIPTION_FREQUENCY_STAT": "рддреБрд░рдиреНрдд", + "PRESCRIPTION_FREQUENCY_OD": "рдПрдХ рдмрд╛рд░ рджреИрдирд┐рдХ", + "PRESCRIPTION_FREQUENCY_HS": "рдХреЗрд╡рд▓ рд░рд╛рддреНрд░рд┐", + "PRESCRIPTION_FREQUENCY_BD": "рджреЛ рдмрд╛рд░ рджреИрдирд┐рдХ рд▓реЗрдВ", + "PRESCRIPTION_FREQUENCY_TID": "8рд╡рд╛рдБ рдкреНрд░рддрд┐ рдШрдВрдЯрд╛", + "PRESCRIPTION_FREQUENCY_QID": "6рд╡рд╛рдБ рдкреНрд░рддрд┐ рдШрдВрдЯрд╛", + "PRESCRIPTION_FREQUENCY_Q4H": "4 рдШрдВрдЯреЗ рдкреНрд░рддрд┐ рдШрдВрдЯрд╛", + "PRESCRIPTION_FREQUENCY_QOD": "рд╡реИрдХрд▓реНрдкрд┐рдХ рджрд┐рди", + "PRESCRIPTION_FREQUENCY_QWK": "рдПрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдПрдХ рдмрд╛рд░", + "inconsistent_dosage_units_error": "рдЦреБрд░рд╛рдХ рдЗрдХрд╛рдЗрдпрд╛рдБ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП", + "max_dosage_in_24hrs_gte_base_dosage_error": "24 рдШрдВрдЯреЗ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЦреБрд░рд╛рдХ рдЖрдзрд╛рд░ рдЦреБрд░рд╛рдХ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП", + "administration_dosage_range_error": "рдЦреБрд░рд╛рдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдФрд░ рд▓рдХреНрд╖реНрдп рдЦреБрд░рд╛рдХ рдХреЗ рдмреАрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП" +} \ No newline at end of file diff --git a/src/Locale/hi/Notifications.json b/src/Locale/hi/Notifications.json new file mode 100644 index 00000000000..b6526ad8b11 --- /dev/null +++ b/src/Locale/hi/Notifications.json @@ -0,0 +1,22 @@ +{ + "no_notices_for_you": "рдЖрдкрдХреЗ рд▓рд┐рдП рдХреЛрдИ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ.", + "mark_as_read": "рдкрдврд╝реЗ рд╣реБрдП рдХрд╛ рдЪрд┐рд╣реНрди", + "mark_as_unread": "рдЕрдкрдард┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ", + "subscribe": "рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ", + "subscribe_on_this_device": "рдЗрд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ", + "show_unread_notifications": "рдЕрдкрдард┐рдд рджрд┐рдЦрд╛рдПрдБ", + "show_all_notifications": "рд╕рдм рджрд┐рдЦрд╛рдПрдВ", + "filter_by_category": "рд╢реНрд░реЗрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ", + "mark_all_as_read": "рд╕рднреА рдХреЛ рдкрдврд╝рд╛ рд╣реБрдЖ рдорд╛рд░реНрдХ рдХрд░реЗрдВ", + "reload": "рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ", + "Notifications": "рд╕реВрдЪрдирд╛рдПрдВ", + "no_results_found": "рдХреЛрдИ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдорд┐рд▓рд╛", + "load_more": "рдФрд░ рд▓реЛрдб рдХрд░реЗрдВ", + "subscription_error": "рд╕рджрд╕реНрдпрддрд╛ рддреНрд░реБрдЯрд┐", + "unsubscribe_failed": "рд╕рджрд╕реНрдпрддрд╛ рд░рджреНрдж рдХрд░рдирд╛ рд╡рд┐рдлрд▓ рд╣реБрдЖ.", + "unsubscribe": "рд╕рджрд╕реНрдпрддрд╛ рд░рджреНрдж", + "escape": "рдкрд▓рд╛рдпрди", + "loading": "рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ...", + "invalid_asset_id_msg": "рдУрд╣! рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдЖрдИрдбреА рд╡реИрдз рдирд╣реАрдВ рд▓рдЧрддреАред", + "asset_not_found_msg": "рдУрд╣! рдЖрдк рдЬрд┐рд╕ рд╕рдВрдкрддреНрддрд┐ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рд╕рдВрдкрддреНрддрд┐ рдЖрдИрдбреА рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред" +} diff --git a/src/Locale/hi/Resource.json b/src/Locale/hi/Resource.json new file mode 100644 index 00000000000..ac0695b5ad9 --- /dev/null +++ b/src/Locale/hi/Resource.json @@ -0,0 +1,12 @@ +{ + "create_resource_request": "рд╕рдВрд╕рд╛рдзрди рдЕрдиреБрд░реЛрдз рдмрдирд╛рдПрдБ", + "contact_person": "рд╕реБрд╡рд┐рдзрд╛ рдХреЗрдВрджреНрд░ рдкрд░ рд╕рдВрдкрд░реНрдХ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдирд╛рдо", + "approving_facility": "рдЕрдиреБрдореЛрджрди рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдирд╛рдо", + "contact_phone": "рд╕рдВрдкрд░реНрдХ рд╡реНрдпрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛", + "request_title": "рд╢реАрд░реНрд╖рдХ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ", + "request_title_placeholder": "рдЕрдкрдирд╛ рд╢реАрд░реНрд╖рдХ рдпрд╣рд╛рдБ рд▓рд┐рдЦреЗрдВ", + "required_quantity": "рдЖрд╡рд╢реНрдпрдХ рдорд╛рддреНрд░рд╛", + "request_description": "рдЕрдиреБрд░реЛрдз рдХрд╛ рд╡рд┐рд╡рд░рдг", + "request_description_placeholder": "рдЕрдкрдирд╛ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБ рд▓рд┐рдЦреЗрдВ", + "search_resource": "рд╕рдВрд╕рд╛рдзрди рдЦреЛрдЬреЗрдВ" +} diff --git a/src/Locale/hi/Shifting.json b/src/Locale/hi/Shifting.json new file mode 100644 index 00000000000..652e0839d09 --- /dev/null +++ b/src/Locale/hi/Shifting.json @@ -0,0 +1,90 @@ +{ + "emergency": "рдЖрдкрд╛рддрдХрд╛рд▓", + "up_shift": "рдЕрдк рд╢рд┐рдлреНрдЯ", + "antenatal": "рдЙрддреНрдкрддреНрддрд┐ рдХреЗ рдкреВрд░реНрд╡ рдХрд╛", + "phone_no": "рдлреЛрди рдирдВрдмрд░ред", + "patient_name": "рдорд░реАрдЬ рдХрд╛ рдирд╛рдо", + "disease_status": "рд░реЛрдЧ рдХреА рд╕реНрдерд┐рддрд┐", + "breathlessness_level": "рд╕рд╛рдВрд╕ рдлреВрд▓рдиреЗ рдХрд╛ рд╕реНрддрд░", + "assigned_facility": "рд╕реБрд╡рд┐рдзрд╛ рд╕реМрдВрдкреА рдЧрдИ", + "origin_facility": "рд╡рд░реНрддрдорд╛рди рд╕реБрд╡рд┐рдзрд╛", + "shifting_approval_facility": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрдореЛрджрди рд╕реБрд╡рд┐рдзрд╛", + "shifting": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг", + "search_patient": "рдорд░реАрдЬ рдЦреЛрдЬреЗрдВ", + "list_view": "рд▓рд┐рд╕реНрдЯ рд╡реНрдпреВ", + "comment_min_length": "рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 1 рдЕрдХреНрд╖рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП", + "comment_added_successfully": "рдЯрд┐рдкреНрдкрдгреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬреЛрдбрд╝реА рдЧрдИ", + "post_your_comment": "рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ", + "shifting_approving_facility": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрдореЛрджрди рд╕реБрд╡рд┐рдзрд╛", + "is_emergency_case": "рдХреНрдпрд╛ рдпрд╣ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдорд╛рдорд▓рд╛ рд╣реИ?", + "is_upshift_case": "рдХреНрдпрд╛ рдЕрдкрд╢рд┐рдлреНрдЯ рдорд╛рдорд▓рд╛ рд╣реИ?", + "is_antenatal": "рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рд╕рд╡рдкреВрд░реНрд╡ рд╣реИ?", + "patient_phone_number": "рдорд░реАрдЬрд╝ рдХрд╛ рдлрд╝реЛрди рдирдВрдмрд░", + "created_date": "рд╕реГрдЬрд┐рдд рджрд┐рдирд╛рдВрдХ", + "modified_date": "рд╕рдВрд╢реЛрдзрд┐рдд рддрд┐рдерд┐", + "no_patients_to_show": "рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд░реАрдЬрд╝ рдирд╣реАрдВ.", + "shifting_status": "рдмрджрд▓рддреА рд╕реНрдерд┐рддрд┐", + "transfer_to_receiving_facility": "рдкреНрд░рд╛рдкреНрддрд┐ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг", + "confirm_transfer_complete": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ!", + "mark_transfer_complete_confirmation": "рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рдЗрд╕ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЛ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдУрд░рд┐рдЬрд┐рди рд╕реБрд╡рд┐рдзрд╛ рдЕрдм рдЗрд╕ рд░реЛрдЧреА рддрдХ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рдкрд╛рдПрдЧреА", + "board_view": "рдмреЛрд░реНрдб рджреГрд╢реНрдп", + "shifting_deleted": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд░рд┐рдХреЙрд░реНрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.", + "details_of_shifting_approving_facility": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрдореЛрджрди рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг", + "details_of_assigned_facility": "рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг", + "details_of_origin_facility": "рдореВрд▓ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг", + "details_of_patient": "рдорд░реАрдЬ рдХрд╛ рд╡рд┐рд╡рд░рдг", + "record_delete_confirm": "рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рдЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?", + "phone_number_at_current_facility": "рд╡рд░реНрддрдорд╛рди рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рд╕рдВрдкрд░реНрдХ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдлрд╝реЛрди рдирдВрдмрд░", + "authorize_shift_delete": "рд╢рд┐рдлрд╝реНрдЯ рдбрд┐рд▓реАрдЯ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд░реЗрдВ", + "delete_record": "рд░рд┐рдХреЙрд░реНрдб рдорд┐рдЯрд╛рдПрдБ", + "severity_of_breathlessness": "рд╕рд╛рдВрд╕ рдлреВрд▓рдиреЗ рдХреА рдЧрдВрднреАрд░рддрд╛", + "facility_preference": "рд╕реБрд╡рд┐рдзрд╛ рд╡рд░реАрдпрддрд╛", + "vehicle_preference": "рд╡рд╛рд╣рди рд╡рд░реАрдпрддрд╛", + "is_up_shift": "рдХреНрдпрд╛ рд╢рд┐рдлреНрдЯ рдЪрд╛рд▓реВ рд╣реИ", + "patient_category": "рд░реЛрдЧреА рд╢реНрд░реЗрдгреА", + "ambulance_driver_name": "рдПрдореНрдмреБрд▓реЗрдВрд╕ рдЪрд╛рд▓рдХ рдХрд╛ рдирд╛рдо", + "ambulance_phone_number": "рдПрдореНрдмреБрд▓реЗрдВрд╕ рдХрд╛ рдлрд╝реЛрди рдирдВрдмрд░", + "ambulance_number": "рдПрдореНрдмреБрд▓реЗрдВрд╕ рдирдВ.", + "is_emergency": "рдХреНрдпрд╛ рдЖрдкрд╛рддрдХрд╛рд▓ рд╣реИ?", + "contact_person_at_the_facility": "рд╡рд░реНрддрдорд╛рди рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рд╕рдВрдкрд░реНрдХ рд╡реНрдпрдХреНрддрд┐", + "update_status_details": "рд╕реНрдерд┐рддрд┐/рд╡рд┐рд╡рд░рдг рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ", + "shifting_details": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╡рд┐рд╡рд░рдг", + "auto_generated_for_care": "рджреЗрдЦрднрд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди", + "approved_by_district_covid_control_room": "рдЬрд┐рд▓рд╛ рдХреЛрд╡рд┐рдб рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд", + "treatment_summary": "рдЙрдкрдЪрд╛рд░ рд╕рд╛рд░рд╛рдВрд╢", + "reason_for_referral": "рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рд╡рдЬрд╣", + "referred_to": "рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛", + "covid_19_cat_gov": "рдХреЗрд░рд▓ рд╕рд░рдХрд╛рд░ рдХреЗ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрд╡рд┐рдб_19 рдХреНрд▓рд┐рдирд┐рдХрд▓ рд╢реНрд░реЗрдгреА (рдП/рдмреА/рд╕реА)", + "district_program_management_supporting_unit": "рдЬрд┐рд▓рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рдмрдВрдзрди рд╕рд╣рд╛рдпрдХ рдЗрдХрд╛рдИ", + "name_of_hospital": "рдЕрд╕реНрдкрддрд╛рд▓ рдХрд╛ рдирд╛рдо", + "passport_number": "рдкрд╛рд╕рдкреЛрд░реНрдЯ рдирдВрдмрд░", + "test_type": "рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХрд╛рд░", + "medical_worker": "рдЪрд┐рдХрд┐рддреНрд╕рд╛рдХрд░реНрдореА", + "error_deleting_shifting": "рд╢рд┐рдлреНрдЯрд┐рдВрдЧ рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐", + "type_any_extra_comments_here": "рдХреЛрдИ рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЯрд┐рдкреНрдкрдгреА рдпрд╣рд╛рдБ рд▓рд┐рдЦреЗрдВ", + "type_your_reason_here": "рдЕрдкрдирд╛ рдХрд╛рд░рдг рдпрд╣рд╛рдБ рд▓рд┐рдЦреЗрдВ", + "reason_for_shift": "рдмрджрд▓рд╛рд╡ рдХрд╛ рдХрд╛рд░рдг", + "preferred_facility_type": "рдкрд╕рдВрджреАрджрд╛ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рдХрд╛рд░", + "preferred_vehicle": "рдкрд╕рдВрджреАрджрд╛ рд╡рд╛рд╣рди", + "is_it_upshift": "рдХреНрдпрд╛ рдпрд╣ рдЕрдкрд╢рд┐рдлреНрдЯ рд╣реИ", + "is_this_an_upshift": "рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЙрдиреНрдирддрд┐ рд╣реИ?", + "is_this_an_emergency": "рдХреНрдпрд╛ рдпрд╣ рдЖрдкрд╛рддрдХрд╛рд▓ рд╣реИ?", + "what_facility_assign_the_patient_to": "рдЖрдк рдорд░реАрдЬрд╝ рдХреЛ рдХреМрди рд╕реА рд╕реБрд╡рд┐рдзрд╛ рджреЗрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?", + "name_of_shifting_approving_facility": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрдореЛрджрди рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдирд╛рдо", + "update_shift_request": "рд╢рд┐рдлреНрдЯ рдЕрдиреБрд░реЛрдз рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ", + "shift_request_updated_successfully": "рд╢рд┐рдлрд╝реНрдЯ рдЕрдиреБрд░реЛрдз рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛", + "please_enter_a_reason_for_the_shift": "рдХреГрдкрдпрд╛ рдмрджрд▓рд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдмрддрд╛рдПрдВ.", + "please_select_preferred_vehicle_type": "рдХреГрдкрдпрд╛ рдкрд╕рдВрджреАрджрд╛ рд╡рд╛рд╣рди рдкреНрд░рдХрд╛рд░ рдЪреБрдиреЗрдВ", + "please_select_facility_type": "рдХреГрдкрдпрд╛ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рдХрд╛рд░ рдЪреБрдиреЗрдВ", + "please_select_breathlessness_level": "рдХреГрдкрдпрд╛ рд╕рд╛рдВрд╕ рдлреВрд▓рдиреЗ рдХрд╛ рд╕реНрддрд░ рдЪреБрдиреЗрдВ", + "please_select_a_facility": "рдХреГрдкрдпрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдЪреБрдиреЗрдВ", + "please_select_status": "рдХреГрдкрдпрд╛ рд╕реНрдерд┐рддрд┐ рдЪреБрдиреЗрдВ", + "please_select_patient_category": "рдХреГрдкрдпрд╛ рд░реЛрдЧреА рд╢реНрд░реЗрдгреА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ", + "shifting_approving_facility_can_not_be_empty": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЕрдиреБрдореЛрджрди рд╕реБрд╡рд┐рдзрд╛ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреАред", + "redirected_to_create_consultation": "рдиреЛрдЯ: рдЖрдкрдХреЛ рдкрд░рд╛рдорд░реНрд╢ рдлрд╝реЙрд░реНрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирдГ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреГрдкрдпрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реЙрд░реНрдо рдкреВрд░рд╛ рдХрд░реЗрдВ", + "mark_this_transfer_as_complete_question": "рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рдЗрд╕ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЛ рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдУрд░рд┐рдЬрд┐рди рд╕реБрд╡рд┐рдзрд╛ рдЕрдм рдЗрд╕ рд░реЛрдЧреА рддрдХ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рдкрд╛рдПрдЧреА", + "transfer_in_progress": "рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ", + "patient_state": "рдорд░реАрдЬ рдХреА рд╕реНрдерд┐рддрд┐", + "yet_to_be_decided": "рдЕрднреА рдирд┐рд░реНрдгрдп рд╣реЛрдирд╛ рдмрд╛рдХреА", + "awaiting_destination_approval": "рдЧрдВрддрд╡реНрдп рдЕрдиреБрдореЛрджрди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ" +} diff --git a/src/Locale/hi/SortOptions.json b/src/Locale/hi/SortOptions.json new file mode 100644 index 00000000000..46b319fac69 --- /dev/null +++ b/src/Locale/hi/SortOptions.json @@ -0,0 +1,18 @@ +{ + "-created_date": "рдирд╡реАрдирддрдо рдирд┐рд░реНрдорд╛рдг рддрд┐рдерд┐ рдкрд╣рд▓реЗ", + "created_date": "рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреА рдирд┐рд░реНрдорд╛рдг рддрд┐рдерд┐ рдкрд╣рд▓реЗ", + "-category_severity": "рд╕рд░реНрд╡реЛрдЪреНрдЪ рдЧрдВрднреАрд░рддрд╛ рд╢реНрд░реЗрдгреА рдкрд╣рд▓реЗ", + "category_severity": "рд╕рдмрд╕реЗ рдХрдо рдЧрдВрднреАрд░рддрд╛ рд╡рд╛рд▓реА рд╢реНрд░реЗрдгреА рдкрд╣рд▓реЗ", + "-modified_date": "рдирд╡реАрдирддрдо рдЕрджреНрдпрддрди рддрд┐рдерд┐ рдкрд╣рд▓реЗ", + "modified_date": "рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреА рдЕрджреНрдпрддрди рддрд┐рдерд┐ рдкрд╣рд▓реЗ", + "facility__name,last_consultation__current_bed__bed__name": "рдмрд┐рд╕реНрддрд░ рдирдВ. 1-рдПрди", + "facility__name,-last_consultation__current_bed__bed__name": "рдмрд┐рд╕реНрддрд░ рд╕рдВрдЦреНрдпрд╛ рдПрди-1", + "-review_time": "рдирд╡реАрдирддрдо рд╕рдореАрдХреНрд╖рд╛ рддрд┐рдерд┐ рдкрд╣рд▓реЗ", + "review_time": "рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреА рд╕рдореАрдХреНрд╖рд╛ рддрд┐рдерд┐ рдкрд╣рд▓реЗ", + "taken_at": "рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреА рд▓реА рдЧрдИ рддрд╛рд░реАрдЦ рдкрд╣рд▓реЗ", + "-taken_at": "рдирд╡реАрдирддрдо рд▓реА рдЧрдИ рддрд┐рдерд┐ рдкрд╣рд▓реЗ", + "name": "рдорд░реАрдЬрд╝ рдХрд╛ рдирд╛рдо AZ", + "-name": "рдорд░реАрдЬ рдХрд╛ рдирд╛рдо ZA", + "bed__name": "рдмрд┐рд╕реНрддрд░ рдирдВ. 1-рдПрди", + "-bed__name": "рдмрд┐рд╕реНрддрд░ рд╕рдВрдЦреНрдпрд╛ рдПрди-1" +} diff --git a/src/Locale/hi/Users.json b/src/Locale/hi/Users.json new file mode 100644 index 00000000000..750cac438de --- /dev/null +++ b/src/Locale/hi/Users.json @@ -0,0 +1,16 @@ +{ + "user_management": "рдкреНрд░рдпреЛрдХреНрддрд╛ рдкреНрд░рдмрдВрдзрди", + "facilities": "рд╕реБрд╡рд┐рдзрд╛рдПрдБ", + "add_new_user": "рдирдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛", + "no_users_found": "рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛", + "home_facility": "рдШрд░ рдХреА рд╕реБрд╡рд┐рдзрд╛", + "no_home_facility": "рдХреЛрдИ рдЧреГрд╣ рд╕реБрд╡рд┐рдзрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХреА рдЧрдИ", + "clear_home_facility": "рдХреНрд▓рд┐рдпрд░ рд╣реЛрдо рд╕реБрд╡рд┐рдзрд╛", + "linked_facilities": "рд▓рд┐рдВрдХреНрдб рд╕реБрд╡рд┐рдзрд╛рдПрдВ", + "no_linked_facilities": "рдХреЛрдИ рд▓рд┐рдВрдХреНрдб рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ", + "average_weekly_working_hours": "рдФрд╕рдд рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдХрд╛рд░реНрдп рдШрдВрдЯреЗ", + "set_average_weekly_working_hours_for": "рдФрд╕рдд рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдХрд╛рд░реНрдп рдШрдВрдЯреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ", + "search_by_username": "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реЗ рдЦреЛрдЬреЗрдВ", + "last_online": "рдЕрдВрддрд┐рдо рдСрдирд▓рд╛рдЗрди", + "total_users": "рдХреБрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" +} diff --git a/src/Locale/kn/Asset.json b/src/Locale/kn/Asset.json new file mode 100644 index 00000000000..be7a3daca22 --- /dev/null +++ b/src/Locale/kn/Asset.json @@ -0,0 +1,20 @@ +{ + "create_asset": "р▓Жр▓╕р│Нр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓┐", + "edit_history": "р▓Зр▓др▓┐р▓╣р▓╛р▓╕р▓╡р▓ир│Нр▓ир│Б р▓╕р▓Вр▓кр▓╛р▓жр▓┐р▓╕р▓┐", + "update_record_for_asset": "р▓Жр▓╕р│Нр▓др▓┐р▓Чр▓╛р▓Чр▓┐ р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "edited_on": "р▓░р▓Вр▓жр│Б р▓╕р▓Вр▓кр▓╛р▓жр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "edited_by": "р▓╕р▓Вр▓кр▓╛р▓жр▓┐р▓╕р▓┐р▓жр▓╡р▓░р│Б", + "serviced_on": "р▓╕р│Зр▓╡р│Ж р▓╕р▓▓р│Нр▓▓р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "notes": "р▓Яр▓┐р▓кр│Нр▓кр▓гр▓┐р▓Чр▓│р│Б", + "back": "р▓╣р▓┐р▓Вр▓жр│Ж", + "close": "р▓ор│Бр▓Ър│Нр▓Ър▓┐", + "update_asset_service_record": "р▓╕р│Нр▓╡р▓др│Нр▓др│Б р▓╕р│Зр▓╡р▓╛ р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "eg_details_on_functionality_service_etc": "р▓Йр▓жр▓╛. р▓Хр▓╛р▓░р│Нр▓пр▓ир▓┐р▓░р│Нр▓╡р▓╣р▓гр│Ж, р▓╕р│Зр▓╡р│Ж р▓Зр▓др│Нр▓пр▓╛р▓жр▓┐р▓Чр▓│ р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б.", + "updating": "р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "update": "р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "are_you_still_watching": "р▓ир│Ар▓╡р│Б р▓Зр▓ир│Нр▓ир│В р▓ир│Лр▓бр│Бр▓др│Нр▓др▓┐р▓жр│Нр▓жр│Ар▓░р▓╛?", + "stream_stop_due_to_inativity": "р▓ир▓┐р▓╖р│Нр▓Хр│Нр▓░р▓┐р▓пр▓др│Жр▓п р▓Хр▓╛р▓░р▓г р▓▓р│Ир▓╡р│Н р▓лр│Ар▓бр│Н р▓╕р│Нр▓Яр│Нр▓░р│Ар▓ор▓┐р▓Вр▓Чр│Н р▓Ер▓ир│Нр▓ир│Б р▓ир▓┐р▓▓р│Нр▓▓р▓┐р▓╕р│Бр▓др│Нр▓др▓жр│Ж", + "stream_stopped_due_to_inativity": "р▓ир▓┐р▓╖р│Нр▓Хр│Нр▓░р▓┐р▓пр▓др│Жр▓пр▓┐р▓Вр▓жр▓╛р▓Чр▓┐ р▓▓р│Ир▓╡р│Н р▓лр│Ар▓бр│Н р▓╕р│Нр▓Яр│Нр▓░р│Ар▓ор▓┐р▓Вр▓Чр│Н р▓Ер▓ир│Нр▓ир│Б р▓ир▓┐р▓▓р│Нр▓▓р▓┐р▓╕р▓┐р▓жр│Ж", + "continue_watching": "р▓ир│Лр▓бр│Бр▓╡р│Бр▓жр▓ир│Нр▓ир│Б р▓ор│Бр▓Вр▓жр│Бр▓╡р▓░р▓┐р▓╕р▓┐", + "resume": "р▓кр│Бр▓ир▓░р▓╛р▓░р▓Вр▓нр▓┐р▓╕р▓┐" +} \ No newline at end of file diff --git a/src/Locale/kn/Auth.json b/src/Locale/kn/Auth.json index ff81099c794..25c4e1f19de 100644 --- a/src/Locale/kn/Auth.json +++ b/src/Locale/kn/Auth.json @@ -11,7 +11,6 @@ "gender": "р▓▓р▓┐р▓Вр▓Ч", "age": "р▓╡р▓пр▓╕р│Нр▓╕р│Б", "login": "р▓▓р▓╛р▓Чр▓┐р▓ир│Н", - "field_required": "р▓И р▓Ьр▓╛р▓Ч р▓мр│Жр│Хр▓Хр▓╛р▓Чр▓┐р▓жр│Ж", "password_mismatch": "р▓кр▓╛р▓╕р│Нр▓╡р▓░р│Нр▓бр│Н р▓ор▓др│Нр▓др│Б р▓жр│Гр▓вр│Ар▓Хр▓░р▓г р▓кр▓╛р▓╕р│Нр▓╡р▓░р│Нр▓бр│Н р▓Тр▓Вр▓жр│З р▓Жр▓Чр▓┐р▓░р▓мр│Зр▓Хр│Б.", "enter_valid_age": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓ж р▓╡р▓пр▓╕р│Нр▓╕р▓ир│Нр▓ир│Б р▓ир▓ор│Вр▓жр▓┐р▓╕р▓┐", "invalid_username": "р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓жр│Ж. 150 р▓Ер▓Хр│Нр▓╖р▓░р▓Чр▓│р│Б р▓Ер▓ер▓╡р▓╛ р▓Хр▓бр▓┐р▓ор│Ж. р▓Ер▓Хр│Нр▓╖р▓░р▓Чр▓│р│Б, р▓Ер▓Вр▓Хр│Жр▓Чр▓│р│Б р▓ор▓др│Нр▓др│Б @/./+/-/_ р▓ор▓╛р▓др│Нр▓░.", @@ -22,8 +21,6 @@ "register_page_title": "р▓Жр▓╕р│Нр▓кр▓др│Нр▓░р│Ж р▓ир▓┐р▓░р│Нр▓╡р▓╛р▓╣р▓Хр▓░р▓╛р▓Чр▓┐ р▓ир│Лр▓Вр▓жр▓╛р▓пр▓┐р▓╕р▓┐", "auth_login_title": "р▓Ер▓зр▓┐р▓Хр│Гр▓д р▓▓р▓╛р▓Чр▓┐р▓ир│Н", "forget_password": "р▓кр▓╛р▓╕р│Нр▓╡р▓░р│Нр▓бр│Н р▓ор▓░р│Жр▓др▓┐р▓░р▓╛?", - "back_to_login": "р▓▓р▓╛р▓Чр▓┐р▓ир│Н р▓кр│Бр▓Яр▓Хр│Нр▓Хр│Ж р▓╣р▓┐р▓Вр▓др▓┐р▓░р│Бр▓Чр▓┐", - "available_in": "р▓▓р▓нр│Нр▓пр▓╡р▓┐р▓░р│Бр▓╡ р▓нр▓╛р▓╖р│Жр▓Чр▓│р│Б", "forget_password_instruction": "р▓ир▓┐р▓ор│Нр▓о р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░ р▓╣р│Жр▓╕р▓░р▓ир│Нр▓ир│Б р▓ир▓ор│Вр▓жр▓┐р▓╕р▓┐ р▓ор▓др│Нр▓др│Б р▓ир▓┐р▓ор│Нр▓о р▓кр▓╛р▓╕р│НтАМр▓╡р▓░р│Нр▓бр│Н р▓Ер▓ир│Нр▓ир│Б р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р▓▓р│Б р▓ир▓╛р▓╡р│Б р▓ир▓┐р▓ор▓Чр│Ж р▓▓р▓┐р▓Вр▓Хр│Н р▓Ер▓ир│Нр▓ир│Б р▓Хр▓│р│Бр▓╣р▓┐р▓╕р│Бр▓др│Нр▓др│Зр▓╡р│Ж.", "send_reset_link": "р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р│Бр▓╡ р▓▓р▓┐р▓Вр▓Хр│Н р▓Хр▓│р│Бр▓╣р▓┐р▓╕р▓┐", "already_a_member": "р▓Ир▓Чр▓╛р▓Чр▓▓р│З р▓╕р▓жр▓╕р│Нр▓пр▓░р│З?", @@ -31,5 +28,12 @@ "password_reset_success": "р▓кр▓╛р▓╕р│Нр▓╡р▓░р│Нр▓бр│Н р▓Ер▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", "password_reset_failure": "р▓кр▓╛р▓╕р│Нр▓╡р▓░р│Нр▓бр│Н р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р▓▓р│Б р▓╡р▓┐р▓лр▓▓р▓╡р▓╛р▓Чр▓┐р▓жр│Ж", "reset_password": "р▓кр▓╛р▓╕р│Нр▓╡р▓░р│Нр▓бр│Н р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р▓┐", - "sign_out": "р▓╕р│Ир▓ир│Н р▓Фр▓Яр│Н р▓ор▓╛р▓бр▓┐" + "available_in": "р▓▓р▓нр│Нр▓пр▓╡р▓┐р▓░р│Бр▓╡ р▓нр▓╛р▓╖р│Жр▓Чр▓│р│Б", + "sign_out": "р▓╕р│Ир▓ир│Н р▓Фр▓Яр│Н р▓ор▓╛р▓бр▓┐", + "back_to_login": "р▓▓р▓╛р▓Чр▓┐р▓ир│Н р▓кр│Бр▓Яр▓Хр│Нр▓Хр│Ж р▓╣р▓┐р▓Вр▓др▓┐р▓░р│Бр▓Чр▓┐", + "min_password_len_8": "р▓Хр▓ир▓┐р▓╖р│Нр▓а р▓кр▓╛р▓╕р│НтАМр▓╡р▓░р│Нр▓бр│Н р▓Йр▓жр│Нр▓ж 8", + "req_atleast_one_digit": "р▓Хр▓ир▓┐р▓╖р│Нр▓а р▓Тр▓Вр▓жр│Б р▓Ер▓Вр▓Хр▓┐ р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓жр│Ж", + "req_atleast_one_uppercase": "р▓Хр▓ир▓┐р▓╖р│Нр▓а р▓Тр▓Вр▓жр│Б р▓жр│Кр▓бр│Нр▓б р▓кр│Нр▓░р▓Хр▓░р▓гр▓ж р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓жр│Ж", + "req_atleast_one_lowercase": "р▓Хр▓ир▓┐р▓╖р│Нр▓а р▓Тр▓Вр▓жр│Б р▓╕р▓гр│Нр▓г р▓Ер▓Хр│Нр▓╖р▓░р▓ж р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓жр│Ж", + "req_atleast_one_symbol": "р▓Хр▓ир▓┐р▓╖р│Нр▓а р▓Тр▓Вр▓жр│Б р▓Ър▓┐р▓╣р│Нр▓ир│Жр▓п р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓жр│Ж" } diff --git a/src/Locale/kn/Bed.json b/src/Locale/kn/Bed.json new file mode 100644 index 00000000000..0067a749202 --- /dev/null +++ b/src/Locale/kn/Bed.json @@ -0,0 +1,13 @@ +{ + "bed_search_placeholder": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Жр▓Чр▓│ р▓╣р│Жр▓╕р▓░р▓┐р▓и р▓ор│Вр▓▓р▓Х р▓╣р│Бр▓бр│Бр▓Хр▓┐", + "BED_WITH_OXYGEN_SUPPORT": "р▓Жр▓ор│Нр▓▓р▓Ьр▓ир▓Х р▓мр│Жр▓Вр▓мр▓▓р▓жр│Кр▓Вр▓жр▓┐р▓Чр│Ж р▓мр│Жр▓бр│Н", + "REGULAR": "р▓ир▓┐р▓пр▓ор▓┐р▓д", + "ICU": "р▓Рр▓╕р▓┐р▓пр│Б", + "ISOLATION": "р▓кр│Нр▓░р▓др│Нр▓пр│Зр▓Хр▓др│Ж", + "add_beds": "р▓мр│Жр▓бр│Н(р▓Чр▓│р│Б) р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "update_bed": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Жр▓пр▓ир│Нр▓ир│Б р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "bed_type": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Жр▓п р▓кр│Нр▓░р▓Хр▓╛р▓░", + "make_multiple_beds_label": "р▓ир│Ар▓╡р│Б р▓мр▓╣р│Б р▓╣р▓╛р▓╕р▓┐р▓Чр│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓ор▓╛р▓бр▓▓р│Б р▓мр▓пр▓╕р│Бр▓╡р▓┐р▓░р▓╛?", + "number_of_beds": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Жр▓Чр▓│ р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "number_of_beds_out_of_range_error": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Жр▓Чр▓│ р▓╕р▓Вр▓Цр│Нр▓пр│Ж 100 р▓Хр│Нр▓Хр▓┐р▓Вр▓д р▓╣р│Жр▓Ър│Нр▓Ър▓┐р▓░р▓мр▓╛р▓░р▓жр│Б" +} diff --git a/src/Locale/kn/Common.json b/src/Locale/kn/Common.json index 3ba378654e2..6e136b1e906 100644 --- a/src/Locale/kn/Common.json +++ b/src/Locale/kn/Common.json @@ -1,17 +1,207 @@ { "goal": "р▓бр▓┐р▓Ьр▓┐р▓Яр▓▓р│Н р▓Йр▓кр▓Хр▓░р▓гр▓Чр▓│р▓ир│Нр▓ир│Б р▓мр▓│р▓╕р▓┐р▓Хр│Кр▓Вр▓бр│Б р▓╕р▓╛р▓░р│Нр▓╡р▓Ьр▓ир▓┐р▓Х р▓Жр▓░р│Лр▓Чр│Нр▓п р▓╕р│Зр▓╡р│Жр▓Чр▓│ р▓Чр│Бр▓гр▓ор▓Яр│Нр▓Я р▓ор▓др│Нр▓др│Б р▓кр│Нр▓░р▓╡р│Зр▓╢р▓╡р▓ир│Нр▓ир│Б р▓ир▓┐р▓░р▓Вр▓др▓░р▓╡р▓╛р▓Чр▓┐ р▓╕р│Бр▓зр▓╛р▓░р▓┐р▓╕р│Бр▓╡р│Бр▓жр│Б р▓ир▓ор│Нр▓о р▓Чр│Бр▓░р▓┐р▓пр▓╛р▓Чр▓┐р▓жр│Ж", "something_wrong": "р▓Пр▓ир│Жр│Вр│Х р▓др▓кр│Нр▓кр▓╛р▓Чр▓┐р▓жр│Ж! р▓ир▓Вр▓др▓░ р▓ор▓др│Нр▓др│Ж р▓кр│Нр▓░р▓пр▓др│Нр▓ир▓┐р▓╕р▓┐!", + "try_again_later": "р▓ир▓Вр▓др▓░ р▓ор▓др│Нр▓др│Ж р▓кр│Нр▓░р▓пр▓др│Нр▓ир▓┐р▓╕р▓┐!", "contribute_github": "GitHub р▓ир▓▓р│Нр▓▓р▓┐ р▓Хр│Кр▓бр│Бр▓Чр│Ж р▓ир│Ар▓бр▓┐", "footer_body": "р▓Хр│Кр▓░р│Кр▓ир▓╛р▓╕р│Зр▓лр│Н р▓ир│Жр▓Яр│НтАМр▓╡р▓░р│Нр▓Хр│Н р▓Ор▓Вр▓мр│Бр▓жр│Б р▓др│Жр▓░р│Жр▓ж р▓ор│Вр▓▓ р▓╕р▓╛р▓░р│Нр▓╡р▓Ьр▓ир▓┐р▓Х р▓Йр▓кр▓пр│Бр▓Хр│Нр▓др▓др│Жр▓пр▓╛р▓Чр▓┐р▓жр│Нр▓жр│Б, р▓ир▓╛р▓╡р│Ар▓ир│Нр▓пр▓Хр▓╛р▓░р▓░р│Б р▓ор▓др│Нр▓др│Б р▓╕р│Нр▓╡р▓пр▓Вр▓╕р│Зр▓╡р▓Хр▓░ р▓мр▓╣р│Б-р▓╢р▓┐р▓╕р│Нр▓др▓┐р▓и р▓др▓Вр▓бр▓жр▓┐р▓Вр▓ж р▓╡р▓┐р▓ир│Нр▓пр▓╛р▓╕р▓Чр│Кр▓│р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж. р▓Хр▓░р│Лр▓ир▓╛ р▓╕р│Зр▓лр│Н р▓Хр│Зр▓░р│Н р▓╡р▓┐р▓╢р│Нр▓╡р▓╕р▓Вр▓╕р│Нр▓ер│Жр▓пр▓┐р▓Вр▓ж р▓Чр│Бр▓░р│Бр▓др▓┐р▓╕р▓▓р│Нр▓кр▓Яр│Нр▓Я р▓бр▓┐р▓Ьр▓┐р▓Яр▓▓р│Н р▓╕р▓╛р▓░р│Нр▓╡р▓Ьр▓ир▓┐р▓Х р▓╕р│Зр▓╡р│Жр▓пр▓╛р▓Чр▓┐р▓жр│Ж.", "reset": "р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р▓┐", + "download": "р▓бр│Мр▓ир│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", "downloads": "р▓бр│Мр▓ир│НтАМр▓▓р│Лр▓бр│НтАМр▓Чр▓│р│Б", + "downloading": "р▓бр│Мр▓ир│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "generating": "р▓Йр▓др│Нр▓кр▓╛р▓жр▓┐р▓╕р│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "send_email": "р▓Зр▓ор│Зр▓▓р│Н р▓Хр▓│р│Бр▓╣р▓┐р▓╕р▓┐", + "email_address": "р▓Зр▓ор│Зр▓▓р│Н р▓╡р▓┐р▓│р▓╛р▓╕", + "email_success": "р▓ир▓╛р▓╡р│Б р▓╢р│Ар▓Шр│Нр▓░р▓жр▓▓р│Нр▓▓р│З р▓Зр▓ор│Зр▓▓р│Н р▓Хр▓│р│Бр▓╣р▓┐р▓╕р│Бр▓др│Нр▓др│Зр▓╡р│Ж. р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓ир▓┐р▓ор│Нр▓о р▓Зр▓ир│НтАМр▓мр▓╛р▓Хр│Нр▓╕р│Н р▓кр▓░р▓┐р▓╢р│Ар▓▓р▓┐р▓╕р▓┐.", + "disclaimer": "р▓╣р▓Хр│Нр▓Хр│Б р▓ир▓┐р▓░р▓╛р▓Хр▓░р▓гр│Ж", + "category": "р▓╡р▓░р│Нр▓Ч", + "sub_category": "р▓Йр▓к р▓╡р▓░р│Нр▓Ч", "download_type": "р▓бр│Мр▓ир│НтАМр▓▓р│Лр▓бр│Н р▓кр│Нр▓░р▓Хр▓╛р▓░", - "State": "р▓░р▓╛р▓Ьр│Нр▓п", - "District": "р▓Ьр▓┐р▓▓р│Нр▓▓р│Ж", - "Local Body": "р▓╕р│Нр▓ер▓│р│Ар▓п р▓╕р▓Вр▓╕р│Нр▓ер│Ж", - "Location": "р▓╕р│Нр▓ер▓│", - "Ward": "р▓╡р▓╛р▓░р│Нр▓бр│Н", + "state": "р▓░р▓╛р▓Ьр│Нр▓п", + "district": "р▓Ьр▓┐р▓▓р│Нр▓▓р│Ж", + "location": "р▓╕р│Нр▓ер▓│", + "ward": "р▓╡р▓╛р▓░р│Нр▓бр│Н", "Notice Board": "р▓╕р│Вр▓Ър▓ир▓╛ р▓лр▓▓р▓Х", "Assets": "р▓╕р│Нр▓╡р▓др│Нр▓др│Бр▓Чр▓│р│Б", - "Notifications": "р▓Ер▓зр▓┐р▓╕р│Вр▓Ър▓ир│Жр▓Чр▓│р│Б" + "Notifications": "р▓Ер▓зр▓┐р▓╕р│Вр▓Ър▓ир│Жр▓Чр▓│р│Б", + "Submit": "р▓╕р▓▓р│Нр▓▓р▓┐р▓╕р▓┐", + "Cancel": "р▓░р▓жр│Нр▓жр│Бр▓ор▓╛р▓бр▓┐", + "back": "р▓╣р▓┐р▓Вр▓жр│Ж", + "powered_by": "р▓ир▓бр│Жр▓╕р▓▓р│Нр▓кр▓бр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "care": "р▓Хр▓╛р▓│р▓Ьр▓┐", + "something_went_wrong": "р▓Пр▓ир│Л р▓др▓кр│Нр▓кр▓╛р▓Чр▓┐р▓жр│Ж..!", + "stop": "р▓ир▓┐р▓▓р│Нр▓▓р▓┐р▓╕р│Б", + "record": "р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр│Н р▓Жр▓бр▓┐р▓пр│Л", + "recording": "р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр▓┐р▓Вр▓Чр│Н", + "yes": "р▓╣р│Мр▓жр│Б", + "no": "р▓╕р▓В", + "status": "р▓╕р│Нр▓ер▓┐р▓др▓┐", + "created": "р▓░р▓Ър▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "modified": "р▓ор▓╛р▓░р│Нр▓кр▓бр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "updated": "р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "update": "р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "configure": "р▓Хр▓╛р▓ир│Нр▓лр▓┐р▓Чр▓░р│Н р▓ор▓╛р▓бр▓┐", + "assigned_to": "р▓Чр│Ж р▓ир▓┐р▓пр│Лр▓Ьр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "cancel": "р▓░р▓жр│Нр▓жр│Бр▓ор▓╛р▓бр▓┐", + "clear": "р▓др│Жр▓░р▓╡р│Бр▓Чр│Кр▓│р▓┐р▓╕р▓┐", + "apply": "р▓Ер▓ир│Нр▓╡р▓пр▓┐р▓╕р│Б", + "filter_by": "р▓ор│Вр▓▓р▓Х р▓лр▓┐р▓▓р│Нр▓Яр▓░р│Н р▓ор▓╛р▓бр▓┐", + "filter": "р▓лр▓┐р▓▓р│Нр▓Яр▓░р│Н", + "settings_and_filters": "р▓╕р│Жр▓Яр│Нр▓Яр▓┐р▓Вр▓Чр│НтАМр▓Чр▓│р│Б р▓ор▓др│Нр▓др│Б р▓лр▓┐р▓▓р│Нр▓Яр▓░р│НтАМр▓Чр▓│р│Б", + "ordering": "р▓Жр▓░р│Нр▓бр▓░р│Н р▓ор▓╛р▓бр▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "phone_number": "р▓жр│Вр▓░р▓╡р▓╛р▓гр▓┐ р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "international_mobile": "р▓Ер▓Вр▓др▓╛р▓░р▓╛р▓╖р│Нр▓Яр│Нр▓░р│Ар▓п р▓ор│Кр▓мр│Ир▓▓р│Н", + "indian_mobile": "р▓нр▓╛р▓░р▓др│Ар▓п р▓ор│Кр▓мр│Ир▓▓р│Н", + "mobile": "р▓ор│Кр▓мр│Ир▓▓р│Н", + "landline": "р▓нр▓╛р▓░р▓др│Ар▓п р▓╕р│Нр▓ер▓┐р▓░ р▓жр│Вр▓░р▓╡р▓╛р▓гр▓┐", + "support": "р▓мр│Жр▓Вр▓мр▓▓", + "emergency_contact_number": "р▓др│Бр▓░р│Нр▓др│Б р▓╕р▓Вр▓кр▓░р│Нр▓Х р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "last_modified": "р▓Хр│Кр▓ир│Жр▓пр▓жр▓╛р▓Чр▓┐ р▓ор▓╛р▓░р│Нр▓кр▓бр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "patient_address": "р▓░р│Лр▓Чр▓┐р▓п р▓╡р▓┐р▓│р▓╛р▓╕", + "all_details": "р▓Ор▓▓р│Нр▓▓р▓╛ р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "confirm": "р▓жр│Гр▓вр│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "refresh_list": "р▓кр▓Яр│Нр▓Яр▓┐р▓пр▓ир│Нр▓ир│Б р▓░р▓┐р▓лр│Нр▓░р│Жр▓╢р│Н р▓ор▓╛р▓бр▓┐", + "last_edited": "р▓Хр│Кр▓ир│Жр▓пр▓жр▓╛р▓Чр▓┐ р▓╕р▓Вр▓кр▓╛р▓жр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "audit_log": "р▓Жр▓бр▓┐р▓Яр│Н р▓▓р▓╛р▓Чр│Н", + "comments": "р▓Хр▓╛р▓ор│Жр▓Вр▓Яр│НтАМр▓Чр▓│р│Б", + "contact_person_number": "р▓╕р▓Вр▓кр▓░р│Нр▓Х р▓╡р│Нр▓пр▓Хр│Нр▓др▓┐р▓п р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "referral_letter": "р▓Йр▓▓р│Нр▓▓р│Зр▓Ц р▓кр▓др│Нр▓░", + "close": "р▓ор│Бр▓Ър│Нр▓Ър▓┐", + "print": "р▓ор│Бр▓жр│Нр▓░р▓┐р▓╕р│Б", + "print_referral_letter": "р▓░р│Жр▓лр▓░р▓▓р│Н р▓▓р│Жр▓Яр▓░р│Н р▓Ер▓ир│Нр▓ир│Б р▓ор│Бр▓жр│Нр▓░р▓┐р▓╕р▓┐", + "date_of_positive_covid_19_swab": "р▓зр▓ир▓╛р▓др│Нр▓ор▓Х р▓Хр│Лр▓╡р▓┐р▓бр│Н 19 р▓╕р│Нр▓╡р│Нр▓пр▓╛р▓мр│Н р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "patient_no": "OP/IP р▓╕р▓В", + "date_of_admission": "р▓кр│Нр▓░р▓╡р│Зр▓╢ р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "india_1": "р▓нр▓╛р▓░р▓д", + "unique_id": "р▓╡р▓┐р▓╢р▓┐р▓╖р│Нр▓Я р▓Рр▓бр▓┐", + "date_and_time": "р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор▓др│Нр▓др│Б р▓╕р▓ор▓п", + "facility_type": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░", + "number_of_chronic_diseased_dependents": "р▓жр│Ар▓░р│Нр▓Шр▓Хр▓╛р▓▓р▓ж р▓░р│Лр▓Чр▓Чр▓│ р▓Ер▓╡р▓▓р▓Вр▓мр▓┐р▓др▓░ р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "number_of_aged_dependents_above_60": "р▓╡р▓пр▓╕р│Нр▓╕р▓╛р▓ж р▓Ер▓╡р▓▓р▓Вр▓мр▓┐р▓др▓░ р▓╕р▓Вр▓Цр│Нр▓пр│Ж (60 р▓Хр│Нр▓Хр▓┐р▓Вр▓д р▓╣р│Жр▓Ър│Нр▓Ър│Б)", + "ongoing_medications": "р▓ир▓бр│Жр▓пр│Бр▓др│Нр▓др▓┐р▓░р│Бр▓╡ р▓Фр▓╖р▓зр▓┐р▓Чр▓│р│Б", + "countries_travelled": "р▓жр│Зр▓╢р▓Чр▓│р│Б р▓╕р▓Вр▓Ър▓░р▓┐р▓╕р▓┐р▓жр▓╡р│Б", + "travel_within_last_28_days": "р▓жр│Зр▓╢р│Ар▓п/р▓Ер▓Вр▓др▓░р▓░р▓╛р▓╖р│Нр▓Яр│Нр▓░р│Ар▓п р▓кр│Нр▓░р▓пр▓╛р▓г (р▓Хр▓│р│Жр▓ж 28 р▓жр▓┐р▓ир▓Чр▓│р▓▓р│Нр▓▓р▓┐)", + "estimated_contact_date": "р▓Ер▓Вр▓жр▓╛р▓Ьр│Б р▓╕р▓Вр▓кр▓░р│Нр▓Х р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "blood_group": "р▓░р▓Хр│Нр▓др▓ж р▓Чр│Бр▓Вр▓кр│Б", + "date_of_birth": "р▓╣р│Бр▓Яр│Нр▓Яр▓┐р▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "date_of_test": "р▓кр▓░р│Ар▓Хр│Нр▓╖р│Жр▓п р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "srf_id": "SRF ID", + "contact_number": "р▓╕р▓Вр▓кр▓░р│Нр▓Х р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "diagnosis": "р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п", + "copied_to_clipboard": "р▓Хр│Нр▓▓р▓┐р▓кр│НтАМр▓мр│Лр▓░р│Нр▓бр│НтАМр▓Чр│Ж р▓ир▓Хр▓▓р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "age": "р▓╡р▓пр▓╕р│Нр▓╕р│Б", + "is": "р▓Жр▓Чр▓┐р▓жр│Ж", + "reason": "р▓Хр▓╛р▓░р▓г", + "description": "р▓╡р▓┐р▓╡р▓░р▓гр│Ж", + "name": "р▓╣р│Жр▓╕р▓░р│Б", + "address": "р▓╡р▓┐р▓│р▓╛р▓╕", + "phone": "р▓лр│Лр▓ир│Н", + "nationality": "р▓░р▓╛р▓╖р│Нр▓Яр│Нр▓░р│Ар▓пр▓др│Ж", + "allergies": "р▓Ер▓▓р▓░р│Нр▓Ьр▓┐р▓Чр▓│р│Б", + "type_your_comment": "р▓ир▓┐р▓ор│Нр▓о р▓Хр▓╛р▓ор│Жр▓Вр▓Яр│Н р▓Ер▓ир│Нр▓ир│Б р▓Яр│Ир▓кр│Н р▓ор▓╛р▓бр▓┐", + "any_other_comments": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓Зр▓др▓░ р▓Хр▓╛р▓ор│Жр▓Вр▓Яр│НтАМр▓Чр▓│р│Б", + "loading": "р▓▓р│Лр▓бр│Н р▓Жр▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "facility": "р▓╕р│Мр▓▓р▓нр│Нр▓п", + "local_body": "р▓╕р│Нр▓ер▓│р│Ар▓п р▓╕р▓Вр▓╕р│Нр▓ер│Ж", + "filters": "р▓╢р│Лр▓зр▓Хр▓Чр▓│р│Б", + "unknown": "р▓Ер▓Ьр│Нр▓Юр▓╛р▓д", + "active": "р▓╕р▓Хр│Нр▓░р▓┐р▓п", + "completed": "р▓кр│Вр▓░р│Нр▓гр▓Чр│Кр▓Вр▓бр▓┐р▓жр│Ж", + "on": "р▓Жр▓ир│Н", + "open": "р▓др│Жр▓░р│Жр▓пр▓┐р▓░р▓┐", + "features": "р▓╡р│Ир▓╢р▓┐р▓╖р│Нр▓Яр│Нр▓пр▓Чр▓│р│Б", + "pincode": "р▓кр▓┐р▓ир│НтАМр▓Хр│Лр▓бр│Н", + "required": "р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓жр│Ж", + "field_required": "р▓И р▓Хр│Нр▓╖р│Зр▓др│Нр▓░р▓ж р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓жр│Ж", + "litres": "р▓▓р│Ар▓Яр▓░р│Н", + "litres_per_day": "р▓▓р│Ар▓Яр▓░р│Н / р▓жр▓┐р▓и", + "invalid_pincode": "р▓Ер▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓ж р▓кр▓┐р▓ир│НтАМр▓Хр│Лр▓бр│Н", + "invalid_phone_number": "р▓Ер▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓ж р▓лр│Лр▓ир│Н р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "latitude_invalid": "р▓Ер▓Хр│Нр▓╖р▓╛р▓Вр▓╢р▓╡р│Б -90 р▓ор▓др│Нр▓др│Б 90 р▓░ р▓ир▓бр│Бр▓╡р│Ж р▓Зр▓░р▓мр│Зр▓Хр│Б", + "longitude_invalid": "р▓░р│Зр▓Цр▓╛р▓Вр▓╢р▓╡р│Б -180 р▓ор▓др│Нр▓др│Б 180 р▓░ р▓ир▓бр│Бр▓╡р│Ж р▓Зр▓░р▓мр│Зр▓Хр│Б", + "save": "р▓Йр▓│р▓┐р▓╕р▓┐", + "continue": "р▓ор│Бр▓Вр▓жр│Бр▓╡р▓░р▓┐р▓╕р▓┐", + "save_and_continue": "р▓Йр▓│р▓┐р▓╕р▓┐ р▓ор▓др│Нр▓др│Б р▓ор│Бр▓Вр▓жр│Бр▓╡р▓░р▓┐р▓╕р▓┐", + "select": "р▓Жр▓пр│Нр▓Хр│Ж р▓ор▓╛р▓бр▓┐", + "lsg": "Lsg", + "delete": "р▓Ер▓│р▓┐р▓╕р▓┐", + "remove": "р▓др│Жр▓Чр│Жр▓жр│Бр▓╣р▓╛р▓Хр▓┐", + "max_size_for_image_uploaded_should_be": "р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐р▓ж р▓Ър▓┐р▓др│Нр▓░р▓Хр│Нр▓Хр│Ж р▓Чр▓░р▓┐р▓╖р│Нр▓а р▓Чр▓╛р▓др│Нр▓░ р▓Зр▓░р▓мр│Зр▓Хр│Б", + "allowed_formats_are": "р▓Ер▓ир│Бр▓ор▓др▓┐р▓╕р▓▓р▓╛р▓ж р▓╕р│Нр▓╡р▓░р│Вр▓кр▓Чр▓│р│Б", + "recommended_aspect_ratio_for": "р▓Зр▓жр▓Хр│Нр▓Хр▓╛р▓Чр▓┐ р▓╢р▓┐р▓лр▓╛р▓░р▓╕р│Б р▓ор▓╛р▓бр▓▓р▓╛р▓ж р▓Жр▓Хр▓╛р▓░ р▓Ер▓ир│Бр▓кр▓╛р▓д", + "drag_drop_image_to_upload": "р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓▓р│Б р▓Ър▓┐р▓др│Нр▓░р▓╡р▓ир│Нр▓ир│Б р▓Ор▓│р│Жр▓пр▓┐р▓░р▓┐ р▓ор▓др│Нр▓др│Б р▓мр▓┐р▓бр▓┐", + "upload_an_image": "р▓Ър▓┐р▓др│Нр▓░р▓╡р▓ир│Нр▓ир│Б р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "upload": "р▓Ер▓кр│Нр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "uploading": "р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "switch": "р▓мр▓жр▓▓р▓┐р▓╕р▓┐", + "capture": "р▓╕р│Жр▓░р│Жр▓╣р▓┐р▓бр▓┐р▓пр▓┐р▓░р▓┐", + "retake": "р▓ор▓░р│Бр▓кр▓бр│Жр▓пр▓┐р▓░р▓┐", + "submit": "р▓╕р▓▓р│Нр▓▓р▓┐р▓╕р▓┐", + "camera": "р▓Хр│Нр▓пр▓╛р▓ор│Жр▓░р▓╛", + "submitting": "р▓╕р▓▓р│Нр▓▓р▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "view_details": "р▓╡р▓┐р▓╡р▓░р▓Чр▓│р▓ир│Нр▓ир│Б р▓╡р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓┐", + "type_to_search": "р▓╣р│Бр▓бр│Бр▓Хр▓▓р│Б р▓Яр│Ир▓кр│Н р▓ор▓╛р▓бр▓┐", + "show_all": "р▓Ор▓▓р│Нр▓▓р▓╡р▓ир│Нр▓ир│В р▓др│Лр▓░р▓┐р▓╕р│Б", + "hide": "р▓ор▓░р│Жр▓ор▓╛р▓бр▓┐", + "select_skills": "р▓Хр│Жр▓▓р▓╡р│Б р▓Хр│Мр▓╢р▓▓р│Нр▓пр▓Чр▓│р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐ р▓ор▓др│Нр▓др│Б р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "contact_your_admin_to_add_skills": "р▓Хр│Мр▓╢р▓▓р│Нр▓пр▓Чр▓│р▓ир│Нр▓ир│Б р▓╕р│Зр▓░р▓┐р▓╕р▓▓р│Б р▓ир▓┐р▓ор│Нр▓о р▓ир▓┐р▓░р│Нр▓╡р▓╛р▓╣р▓Хр▓░р▓ир│Нр▓ир│Б р▓╕р▓Вр▓кр▓░р│Нр▓Хр▓┐р▓╕р▓┐", + "add": "р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "add_as": "р▓Ор▓Вр▓жр│Б р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "sort_by": "р▓╡р▓┐р▓Вр▓Чр▓бр▓┐р▓╕р▓┐", + "none": "р▓пр▓╛р▓╡р│Бр▓жр│В р▓Зр▓▓р│Нр▓▓", + "choose_file": "р▓╕р▓╛р▓зр▓ир▓жр▓┐р▓Вр▓ж р▓Ер▓кр│Нр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "open_camera": "р▓Хр│Нр▓пр▓╛р▓ор▓░р▓╛ р▓др│Жр▓░р│Жр▓пр▓┐р▓░р▓┐", + "file_preview": "р▓лр│Ир▓▓р│Н р▓кр│Вр▓░р│Нр▓╡р▓╡р│Ар▓Хр│Нр▓╖р▓гр│Ж", + "file_preview_not_supported": "р▓И р▓лр│Ир▓▓р│Н р▓Ер▓ир│Нр▓ир│Б р▓кр│Вр▓░р│Нр▓╡р▓╡р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓▓р│Б р▓╕р▓╛р▓зр│Нр▓пр▓╡р▓┐р▓▓р│Нр▓▓. р▓Ер▓жр▓ир│Нр▓ир│Б р▓бр│Мр▓ир│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓▓р│Б р▓кр│Нр▓░р▓пр▓др│Нр▓ир▓┐р▓╕р▓┐.", + "view_faciliy": "р▓╡р│Ар▓Хр│Нр▓╖р▓гр│Ж р▓╕р│Мр▓▓р▓нр│Нр▓п", + "view_patients": "р▓░р│Лр▓Чр▓┐р▓Чр▓│р▓ир│Нр▓ир│Б р▓╡р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓┐", + "frequency": "р▓Жр▓╡р▓░р│Нр▓др▓и", + "days": "р▓жр▓┐р▓ир▓Чр▓│р│Б", + "never": "р▓Ор▓Вр▓жр▓┐р▓Чр│В", + "notes": "р▓Яр▓┐р▓кр│Нр▓кр▓гр▓┐р▓Чр▓│р│Б", + "add_notes": "р▓Яр▓┐р▓кр│Нр▓кр▓гр▓┐р▓Чр▓│р▓ир│Нр▓ир│Б р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "notes_placeholder": "р▓ир▓┐р▓ор│Нр▓о р▓Яр▓┐р▓кр│Нр▓кр▓гр▓┐р▓Чр▓│р▓ир│Нр▓ир│Б р▓Яр│Ир▓кр│Н р▓ор▓╛р▓бр▓┐", + "optional": "р▓Рр▓Ър│Нр▓Ыр▓┐р▓Х", + "discontinue": "р▓╕р│Нр▓ер▓Чр▓┐р▓др▓Чр│Кр▓│р▓┐р▓╕р▓┐", + "discontinued": "р▓╕р│Нр▓ер▓Чр▓┐р▓др▓Чр│Кр▓│р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "not_specified": "р▓ир▓┐р▓░р│Нр▓жр▓┐р▓╖р│Нр▓Яр▓кр▓бр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓▓р│Нр▓▓", + "all_changes_have_been_saved": "р▓Ор▓▓р│Нр▓▓р▓╛ р▓мр▓жр▓▓р▓╛р▓╡р▓гр│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓Йр▓│р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "no_data_found": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓бр│Зр▓Яр▓╛ р▓Хр▓Вр▓бр│Бр▓мр▓Вр▓жр▓┐р▓▓р│Нр▓▓", + "edit": "р▓╕р▓Вр▓кр▓╛р▓жр▓┐р▓╕р│Б", + "clear_selection": "р▓Жр▓пр│Нр▓Хр│Жр▓пр▓ир│Нр▓ир│Б р▓др│Жр▓░р▓╡р│Бр▓Чр│Кр▓│р▓┐р▓╕р▓┐", + "select_date": "р▓жр▓┐р▓ир▓╛р▓Вр▓Хр▓╡р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "DD/MM/YYYY": "DD/MM/YYYY", + "clear_all_filters": "р▓Ор▓▓р│Нр▓▓р▓╛ р▓лр▓┐р▓▓р│Нр▓Яр▓░р│НтАМр▓Чр▓│р▓ир│Нр▓ир│Б р▓др│Жр▓░р▓╡р│Бр▓Чр│Кр▓│р▓┐р▓╕р▓┐", + "summary": "р▓╕р▓╛р▓░р▓╛р▓Вр▓╢", + "report": "р▓╡р▓░р▓жр▓┐", + "treating_doctor": "р▓Ър▓┐р▓Хр▓┐р▓др│Нр▓╕р│Ж р▓ир│Ар▓бр│Бр▓др│Нр▓др▓┐р▓░р│Бр▓╡ р▓╡р│Ир▓жр│Нр▓пр▓░р│Б", + "ration_card__NO_CARD": "р▓Хр▓╛р▓░р│Нр▓бр│Н р▓Ер▓▓р│Нр▓▓р▓ж р▓╣р│Лр▓▓р│Нр▓бр▓░р│Н", + "ration_card__BPL": "р▓мр▓┐р▓кр▓┐р▓Ор▓▓р│Н", + "ration_card__APL": "р▓Ор▓кр▓┐р▓Ор▓▓р│Н", + "empty_date_time": "--:-- --; ------------", + "caution": "р▓Ор▓Ър│Нр▓Ър▓░р▓┐р▓Хр│Ж", + "feed_optimal_experience_for_phones": "р▓Ер▓др│Нр▓пр│Бр▓др│Нр▓др▓о р▓╡р│Ар▓Хр│Нр▓╖р▓гр│Жр▓п р▓Ер▓ир│Бр▓нр▓╡р▓Хр│Нр▓Хр▓╛р▓Чр▓┐, р▓ир▓┐р▓ор│Нр▓о р▓╕р▓╛р▓зр▓ир▓╡р▓ир│Нр▓ир│Б р▓др▓┐р▓░р│Бр▓Чр▓┐р▓╕р▓▓р│Б р▓кр▓░р▓┐р▓Чр▓гр▓┐р▓╕р▓┐.", + "feed_optimal_experience_for_apple_phones": "р▓Ер▓др│Нр▓пр│Бр▓др│Нр▓др▓о р▓╡р│Ар▓Хр│Нр▓╖р▓гр│Жр▓п р▓Ер▓ир│Бр▓нр▓╡р▓Хр│Нр▓Хр▓╛р▓Чр▓┐, р▓ир▓┐р▓ор│Нр▓о р▓╕р▓╛р▓зр▓ир▓╡р▓ир│Нр▓ир│Б р▓др▓┐р▓░р│Бр▓Чр▓┐р▓╕р▓▓р│Б р▓кр▓░р▓┐р▓Чр▓гр▓┐р▓╕р▓┐. р▓ир▓┐р▓ор│Нр▓о р▓╕р▓╛р▓зр▓ир▓ж р▓╕р│Жр▓Яр│Нр▓Яр▓┐р▓Вр▓Чр│НтАМр▓Чр▓│р▓▓р│Нр▓▓р▓┐ р▓╕р│Нр▓╡р▓пр▓В-р▓др▓┐р▓░р│Бр▓Чр│Бр▓╡р▓┐р▓Хр│Жр▓пр▓ир│Нр▓ир│Б р▓╕р▓Хр│Нр▓░р▓┐р▓пр▓Чр│Кр▓│р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж р▓Ор▓Вр▓жр│Б р▓Цр▓Ър▓┐р▓др▓кр▓бр▓┐р▓╕р▓┐р▓Хр│Кр▓│р│Нр▓│р▓┐.", + "action_irreversible": "р▓И р▓Хр│Нр▓░р▓┐р▓пр│Жр▓пр│Б р▓мр▓жр▓▓р▓╛р▓пр▓┐р▓╕р▓▓р▓╛р▓Чр▓жр│Б", + "GENDER__1": "р▓кр│Бр▓░р│Бр▓╖", + "GENDER__2": "р▓╣р│Жр▓гр│Нр▓гр│Б", + "GENDER__3": "р▓мр│Ир▓ир▓░р▓┐ р▓Ер▓▓р│Нр▓▓р▓ж", + "normal": "р▓╕р▓╛р▓ор▓╛р▓ир│Нр▓п", + "done": "р▓ор│Бр▓Чр▓┐р▓жр▓┐р▓жр│Ж", + "view": "р▓╡р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓┐", + "rename": "р▓ор▓░р│Бр▓╣р│Жр▓╕р▓░р▓┐р▓╕р│Б", + "more_info": "р▓╣р│Жр▓Ър│Нр▓Ър▓┐р▓и р▓ор▓╛р▓╣р▓┐р▓др▓┐", + "archive": "р▓Жр▓░р│Нр▓Хр│Ир▓╡р│Н", + "discard": "р▓др▓┐р▓░р▓╕р│Нр▓Хр▓░р▓┐р▓╕р│Б", + "live": "р▓▓р│Ир▓╡р│Н", + "discharged": "р▓бр▓┐р▓╕р│Нр▓Ър▓╛р▓░р│Нр▓Ьр│Н р▓ор▓╛р▓бр▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "archived": "р▓Жр▓░р│Нр▓Хр│Ир▓╡р│Н р▓ор▓╛р▓бр▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "no_changes_made": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓мр▓жр▓▓р▓╛р▓╡р▓гр│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓ор▓╛р▓бр▓▓р▓╛р▓Чр▓┐р▓▓р│Нр▓▓", + "user_deleted_successfuly": "р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░р▓░р▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓Ер▓│р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "users": "р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░р▓░р│Б", + "are_you_sure_want_to_delete": "{{name}}р▓Ер▓│р▓┐р▓╕р▓▓р│Б р▓ир│Ар▓╡р│Б р▓Цр▓Ър▓┐р▓др▓╡р▓╛р▓Чр▓┐ р▓мр▓пр▓╕р│Бр▓╡р▓┐р▓░р▓╛?", + "oxygen_information": "р▓Жр▓ор│Нр▓▓р▓Ьр▓ир▓Х р▓ор▓╛р▓╣р▓┐р▓др▓┐", + "deleted_successfully": "{{name}} р▓Ер▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓Ер▓│р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "delete_item": "{{name}}р▓Ер▓│р▓┐р▓╕р▓┐", + "unsupported_browser": "р▓мр│Жр▓Вр▓мр▓▓р▓┐р▓др▓╡р▓▓р│Нр▓▓р▓ж р▓мр│Нр▓░р│Мр▓╕р▓░р│Н", + "unsupported_browser_description": "р▓ир▓┐р▓ор│Нр▓о р▓мр│Нр▓░р│Мр▓╕р▓░р│Н ({{name}} р▓Жр▓╡р│Гр▓др│Нр▓др▓┐ {{version}}) р▓мр│Жр▓Вр▓мр▓▓р▓┐р▓др▓╡р▓╛р▓Чр▓┐р▓▓р│Нр▓▓. р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓ир▓┐р▓ор│Нр▓о р▓мр│Нр▓░р│Мр▓╕р▓░р│Н р▓Ер▓ир│Нр▓ир│Б р▓Зр▓др│Нр▓др│Ар▓Ър▓┐р▓и р▓Жр▓╡р│Гр▓др│Нр▓др▓┐р▓Чр│Ж р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐ р▓Ер▓ер▓╡р▓╛ р▓Йр▓др│Нр▓др▓о р▓Ер▓ир│Бр▓нр▓╡р▓Хр│Нр▓Хр▓╛р▓Чр▓┐ р▓мр│Жр▓Вр▓мр▓▓р▓┐р▓д р▓мр│Нр▓░р│Мр▓╕р▓░р│НтАМр▓Чр│Ж р▓мр▓жр▓▓р▓┐р▓╕р▓┐." } \ No newline at end of file diff --git a/src/Locale/kn/Consultation.json b/src/Locale/kn/Consultation.json new file mode 100644 index 00000000000..a47ba8a4f19 --- /dev/null +++ b/src/Locale/kn/Consultation.json @@ -0,0 +1,59 @@ +{ + "no_consultation_updates": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Жр▓п р▓ир▓╡р│Ар▓Хр▓░р▓гр▓Чр▓│р▓┐р▓▓р│Нр▓▓", + "consultation_updates": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Ж р▓ир▓╡р│Ар▓Хр▓░р▓гр▓Чр▓│р│Б", + "update_log": "р▓▓р▓╛р▓Чр│Н р▓Ер▓ир│Нр▓ир│Б р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "record_updates": "р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр│Н р▓ир▓╡р│Ар▓Хр▓░р▓гр▓Чр▓│р│Б", + "log_lab_results": "р▓▓р▓╛р▓Чр│Н р▓▓р│Нр▓пр▓╛р▓мр│Н р▓лр▓▓р▓┐р▓др▓╛р▓Вр▓╢р▓Чр▓│р│Б", + "no_log_update_delta": "р▓╣р▓┐р▓Вр▓жр▓┐р▓и р▓▓р▓╛р▓Чр│Н р▓ир▓╡р│Ар▓Хр▓░р▓гр▓ж р▓ир▓Вр▓др▓░ р▓пр▓╛р▓╡р│Бр▓жр│З р▓мр▓жр▓▓р▓╛р▓╡р▓гр│Жр▓Чр▓│р▓┐р▓▓р│Нр▓▓", + "virtual_nursing_assistant": "р▓╡р▓░р│Нр▓Ър│Бр▓╡р▓▓р│Н р▓ир▓░р│Нр▓╕р▓┐р▓Вр▓Чр│Н р▓╕р▓╣р▓╛р▓пр▓Х", + "discharge": "р▓╡р▓┐р▓╕р▓░р│Нр▓Ьр▓ир│Ж", + "discharge_summary": "р▓бр▓┐р▓╕р│Нр▓Ър▓╛р▓░р│Нр▓Ьр│Н р▓╕р▓╛р▓░р▓╛р▓Вр▓╢", + "discharge_from_care": "CARE р▓ир▓┐р▓Вр▓ж р▓мр▓┐р▓бр│Бр▓Чр▓бр│Ж", + "generating_discharge_summary": "р▓бр▓┐р▓╕р│Нр▓Ър▓╛р▓░р│Нр▓Ьр│Н р▓╕р▓╛р▓░р▓╛р▓Вр▓╢р▓╡р▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "discharge_summary_not_ready": "р▓бр▓┐р▓╕р│Нр▓Ър▓╛р▓░р│Нр▓Ьр│Н р▓╕р▓╛р▓░р▓╛р▓Вр▓╢ р▓Зр▓ир│Нр▓ир│В р▓╕р▓┐р▓жр│Нр▓зр▓╡р▓╛р▓Чр▓┐р▓▓р│Нр▓▓.", + "download_discharge_summary": "р▓бр▓┐р▓╕р│Нр▓Ър▓╛р▓░р│Нр▓Ьр│Н р▓╕р▓╛р▓░р▓╛р▓Вр▓╢р▓╡р▓ир│Нр▓ир│Б р▓бр│Мр▓ир│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "email_discharge_summary_description": "р▓бр▓┐р▓╕р│Нр▓Ър▓╛р▓░р│Нр▓Ьр│Н р▓╕р▓╛р▓░р▓╛р▓Вр▓╢р▓╡р▓ир│Нр▓ир│Б р▓╕р│Нр▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓▓р│Б р▓ир▓┐р▓ор│Нр▓о р▓ор▓╛р▓ир│Нр▓п р▓Зр▓ор│Зр▓▓р│Н р▓╡р▓┐р▓│р▓╛р▓╕р▓╡р▓ир│Нр▓ир│Б р▓ир▓ор│Вр▓жр▓┐р▓╕р▓┐", + "generated_summary_caution": "р▓Зр▓жр│Б CARE р▓╡р│Нр▓пр▓╡р▓╕р│Нр▓ер│Жр▓пр▓▓р│Нр▓▓р▓┐ р▓╕р│Жр▓░р│Жр▓╣р▓┐р▓бр▓┐р▓пр▓▓р▓╛р▓ж р▓ор▓╛р▓╣р▓┐р▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓мр▓│р▓╕р▓┐р▓Хр│Кр▓Вр▓бр│Б р▓Хр▓Вр▓кр│Нр▓пр│Вр▓Яр▓░р│Н р▓░р▓Ър▓┐р▓╕р▓┐р▓ж р▓╕р▓╛р▓░р▓╛р▓Вр▓╢р▓╡р▓╛р▓Чр▓┐р▓жр│Ж.", + "NORMAL": "р▓╕р▓Вр▓Хр│Нр▓╖р▓┐р▓кр│Нр▓д р▓ир▓╡р│Ар▓Хр▓░р▓г", + "VENTILATOR": "р▓╡р▓┐р▓╡р▓░р▓╡р▓╛р▓ж р▓ир▓╡р│Ар▓Хр▓░р▓г", + "DOCTORS_LOG": "р▓кр│Нр▓░р▓Чр▓др▓┐ р▓Яр▓┐р▓кр│Нр▓кр▓гр▓┐", + "AUTOMATED": "р▓╕р│Нр▓╡р▓пр▓Вр▓Ър▓╛р▓▓р▓┐р▓д", + "TELEMEDICINE": "р▓Яр│Жр▓▓р▓┐р▓ор│Жр▓бр▓┐р▓╕р▓┐р▓ир│Н", + "investigations": "р▓др▓ир▓┐р▓Цр│Жр▓Чр▓│р│Б", + "search_investigation_placeholder": "р▓╣р│Бр▓бр│Бр▓Хр▓╛р▓Я р▓др▓ир▓┐р▓Цр│Ж р▓ор▓др│Нр▓др│Б р▓Чр│Бр▓Вр▓кр│Бр▓Чр▓│р│Б", + "save_investigation": "р▓др▓ир▓┐р▓Цр│Жр▓пр▓ир│Нр▓ир│Б р▓Йр▓│р▓┐р▓╕р▓┐", + "investigation_reports": "р▓др▓ир▓┐р▓Цр▓╛ р▓╡р▓░р▓жр▓┐р▓Чр▓│р│Б", + "no_investigation": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓др▓ир▓┐р▓Цр▓╛ р▓╡р▓░р▓жр▓┐р▓Чр▓│р│Б р▓Хр▓Вр▓бр│Бр▓мр▓Вр▓жр▓┐р▓▓р│Нр▓▓", + "investigations_suggested": "р▓др▓ир▓┐р▓Цр│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓╕р│Вр▓Ър▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "to_be_conducted": "р▓ир▓бр│Жр▓╕р▓▓р▓╛р▓Чр│Бр▓╡р│Бр▓жр│Б", + "log_report": "р▓▓р▓╛р▓Чр│Н р▓╡р▓░р▓жр▓┐", + "no_investigation_suggestions": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓др▓ир▓┐р▓Цр│Жр▓п р▓╕р▓▓р▓╣р│Жр▓Чр▓│р▓┐р▓▓р│Нр▓▓", + "select_investigation": "р▓др▓ир▓┐р▓Цр│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐ (р▓Ор▓▓р│Нр▓▓р▓╛ р▓др▓ир▓┐р▓Цр│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓кр│Вр▓░р│Нр▓╡р▓ир▓┐р▓пр│Лр▓Ьр▓┐р▓др▓╡р▓╛р▓Чр▓┐ р▓Жр▓пр│Нр▓Хр│Ж р▓ор▓╛р▓бр▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓жр│Ж)", + "select_investigations": "р▓др▓ир▓┐р▓Цр│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "get_tests": "р▓кр▓░р│Ар▓Хр│Нр▓╖р│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓кр▓бр│Жр▓пр▓┐р▓░р▓┐", + "select_investigation_groups": "р▓др▓ир▓┐р▓Цр▓╛ р▓Чр│Бр▓Вр▓кр│Бр▓Чр▓│р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "select_groups": "р▓Чр│Бр▓Вр▓кр│Бр▓Чр▓│р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "generate_report": "р▓╡р▓░р▓жр▓┐р▓пр▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓┐", + "prev_sessions": "р▓╣р▓┐р▓Вр▓жр▓┐р▓и р▓Ер▓╡р▓зр▓┐р▓Чр▓│р│Б", + "next_sessions": "р▓ор│Бр▓Вр▓жр▓┐р▓и р▓╕р│Жр▓╖р▓ир│НтАМр▓Чр▓│р│Б", + "no_changes": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓мр▓жр▓▓р▓╛р▓╡р▓гр│Жр▓Чр▓│р▓┐р▓▓р│Нр▓▓", + "back_to_consultation": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Жр▓Чр│Ж р▓╣р▓┐р▓Вр▓др▓┐р▓░р│Бр▓Чр▓┐", + "no_treating_physicians_available": "р▓И р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р│Б р▓пр▓╛р▓╡р│Бр▓жр│З р▓ор▓ир│Ж р▓╕р│Мр▓▓р▓нр│Нр▓п р▓╡р│Ир▓жр│Нр▓пр▓░р▓ир│Нр▓ир│Б р▓╣р│Кр▓Вр▓жр▓┐р▓▓р│Нр▓▓. р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓ир▓┐р▓ор│Нр▓о р▓ир▓┐р▓░р│Нр▓╡р▓╛р▓╣р▓Хр▓░р▓ир│Нр▓ир│Б р▓╕р▓Вр▓кр▓░р│Нр▓Хр▓┐р▓╕р▓┐.", + "encounter_suggestion_edit_disallowed": "р▓╕р▓Вр▓кр▓╛р▓жр▓ир│Ж р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Жр▓пр▓▓р│Нр▓▓р▓┐ р▓И р▓Жр▓пр│Нр▓Хр│Жр▓Чр│Ж р▓мр▓жр▓▓р▓╛р▓пр▓┐р▓╕р▓▓р│Б р▓Ер▓ир│Бр▓ор▓др▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓╡р│Бр▓жр▓┐р▓▓р│Нр▓▓", + "encounter_suggestion__A": "р▓кр│Нр▓░р▓╡р│Зр▓╢", + "encounter_suggestion__DC": "р▓бр│Кр▓ор▓┐р▓╕р▓┐р▓▓р▓┐р▓пр▓░р▓┐ р▓Хр│Зр▓░р│Н", + "encounter_suggestion__OP": "р▓╣р│Кр▓░р▓░р│Лр▓Чр▓┐р▓Чр▓│ р▓нр│Зр▓Яр▓┐", + "encounter_suggestion__DD": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Ж", + "encounter_suggestion__HI": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Ж", + "encounter_suggestion__R": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Ж", + "encounter_date_field_label__A": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Хр│Нр▓Хр│Ж р▓кр│Нр▓░р▓╡р│Зр▓╢р▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор▓др│Нр▓др│Б р▓╕р▓ор▓п", + "encounter_date_field_label__DC": "р▓бр│Кр▓ор▓┐р▓╕р▓┐р▓▓р▓┐р▓пр▓░р▓┐ р▓Хр│Зр▓░р│Н р▓кр│Нр▓░р▓╛р▓░р▓Вр▓нр▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор▓др│Нр▓др│Б р▓╕р▓ор▓п", + "encounter_date_field_label__OP": "р▓╣р│Кр▓░р▓░р│Лр▓Чр▓┐ р▓нр│Зр▓Яр▓┐р▓п р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор▓др│Нр▓др│Б р▓╕р▓ор▓п", + "encounter_date_field_label__DD": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Жр▓п р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор▓др│Нр▓др│Б р▓╕р▓ор▓п", + "encounter_date_field_label__HI": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Жр▓п р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор▓др│Нр▓др│Б р▓╕р▓ор▓п", + "encounter_date_field_label__R": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Жр▓п р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор▓др│Нр▓др│Б р▓╕р▓ор▓п", + "back_dated_encounter_date_caution": "р▓Зр▓жр▓Хр│Нр▓Хр▓╛р▓Чр▓┐ р▓ир│Ар▓╡р│Б р▓Ор▓ир│НтАМр▓Хр│Мр▓Вр▓Яр▓░р│Н р▓Ер▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р│Бр▓др│Нр▓др▓┐р▓жр│Нр▓жр│Ар▓░р▓┐", + "encounter_duration_confirmation": "р▓И р▓Ор▓ир│Нр▓Хр│Мр▓Вр▓Яр▓░р│Нр▓и р▓Ер▓╡р▓зр▓┐р▓пр│Б р▓Зр▓░р│Бр▓др│Нр▓др▓жр│Ж", + "consultation_notes": "р▓╕р▓╛р▓ор▓╛р▓ир│Нр▓п р▓╕р│Вр▓Ър▓ир│Жр▓Чр▓│р│Б (р▓╕р▓▓р▓╣р│Ж)", + "procedure_suggestions": "р▓Хр▓╛р▓░р│Нр▓пр▓╡р▓┐р▓зр▓╛р▓ир▓ж р▓╕р▓▓р▓╣р│Жр▓Чр▓│р│Б" +} diff --git a/src/Locale/kn/CoverImageEdit.json b/src/Locale/kn/CoverImageEdit.json new file mode 100644 index 00000000000..47698991c71 --- /dev/null +++ b/src/Locale/kn/CoverImageEdit.json @@ -0,0 +1,5 @@ +{ + "edit_cover_photo": "р▓Хр▓╡р▓░р│Н р▓лр│Лр▓Яр│Л р▓╕р▓Вр▓кр▓╛р▓жр▓┐р▓╕р▓┐", + "no_cover_photo_uploaded_for_this_facility": "р▓И р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Хр│Нр▓Хр▓╛р▓Чр▓┐ р▓пр▓╛р▓╡р│Бр▓жр│З р▓Хр▓╡р▓░р│Н р▓лр│Лр▓Яр│Л р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓▓р▓╛р▓Чр▓┐р▓▓р│Нр▓▓", + "capture_cover_photo": "р▓Хр▓╡р▓░р│Н р▓лр│Лр▓Яр│Л р▓╕р│Жр▓░р│Жр▓╣р▓┐р▓бр▓┐р▓пр▓┐р▓░р▓┐" +} diff --git a/src/Locale/kn/Diagnosis.json b/src/Locale/kn/Diagnosis.json new file mode 100644 index 00000000000..1498db6c1b6 --- /dev/null +++ b/src/Locale/kn/Diagnosis.json @@ -0,0 +1,21 @@ +{ + "diagnosis": "р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п", + "diagnoses": "р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓пр▓Чр▓│р│Б", + "diagnosis_already_added": "р▓И р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓пр▓╡р▓ир│Нр▓ир│Б р▓Ир▓Чр▓╛р▓Чр▓▓р│З р▓╕р│Зр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "principal": "р▓кр│Нр▓░р▓┐р▓ир│Нр▓╕р▓┐р▓кр▓╛р▓▓р│Н", + "principal_diagnosis": "р▓ор│Бр▓Цр│Нр▓п р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п", + "unconfirmed": "р▓жр│Гр▓вр│Ар▓Хр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓▓р│Нр▓▓", + "provisional": "р▓др▓╛р▓др│Нр▓Хр▓╛р▓▓р▓┐р▓Х", + "differential": "р▓нр│Зр▓жр▓╛р▓др│Нр▓ор▓Х", + "confirmed": "р▓жр│Гр▓вр▓кр▓бр▓┐р▓╕р▓┐р▓жр│Ж", + "refuted": "р▓ир▓┐р▓░р▓╛р▓Хр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "entered-in-error": "р▓др▓кр│Нр▓кр▓╛р▓Чр▓┐ р▓ир▓ор│Вр▓жр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "help_unconfirmed": "р▓Зр▓жр▓ир│Нр▓ир│Б р▓жр│Гр▓вр▓кр▓бр▓┐р▓╕р▓┐р▓ж р▓╕р│Нр▓ер▓┐р▓др▓┐ р▓Ор▓Вр▓жр│Б р▓кр▓░р▓┐р▓Чр▓гр▓┐р▓╕р▓▓р│Б р▓╕р▓╛р▓Хр▓╖р│Нр▓Яр│Б р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п р▓ор▓др│Нр▓др│Б/р▓Ер▓ер▓╡р▓╛ р▓╡р│Ир▓жр│Нр▓пр▓Хр│Ар▓п р▓кр│Бр▓░р▓╛р▓╡р│Жр▓Чр▓│р▓┐р▓▓р│Нр▓▓.", + "help_provisional": "р▓Зр▓жр│Б р▓др▓╛р▓др│Нр▓Хр▓╛р▓▓р▓┐р▓Х р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п - р▓Зр▓ир│Нр▓ир│В р▓кр▓░р▓┐р▓Чр▓гр▓ир│Жр▓пр▓▓р│Нр▓▓р▓┐р▓░р│Бр▓╡ р▓Ер▓нр│Нр▓пр▓░р│Нр▓ер▓┐.", + "help_differential": "р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п р▓кр│Нр▓░р▓Хр│Нр▓░р▓┐р▓пр│Ж р▓ор▓др│Нр▓др│Б р▓кр│Нр▓░р▓╛р▓ер▓ор▓┐р▓Х р▓Ър▓┐р▓Хр▓┐р▓др│Нр▓╕р│Жр▓пр▓ир│Нр▓ир│Б р▓ор▓др│Нр▓др▓╖р│Нр▓Яр│Б р▓ор▓╛р▓░р│Нр▓Чр▓жр▓░р│Нр▓╢р▓и р▓ор▓╛р▓бр▓▓р│Б р▓╕р▓ор▓░р│Нр▓ер▓┐р▓╕р▓▓р▓╛р▓ж р▓╕р▓Вр▓нр▓╛р▓╡р│Нр▓п (р▓ор▓др│Нр▓др│Б р▓╕р▓╛р▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓Чр▓┐ р▓кр▓░р▓╕р│Нр▓кр▓░ р▓кр│Нр▓░р▓др│Нр▓пр│Зр▓Хр▓╡р▓╛р▓ж) р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓пр▓Чр▓│ р▓Тр▓Вр▓жр│Б р▓╕р│Жр▓Яр│Н.", + "help_confirmed": "р▓Зр▓жр▓ир│Нр▓ир│Б р▓жр│Гр▓вр▓кр▓бр▓┐р▓╕р▓┐р▓ж р▓╕р│Нр▓ер▓┐р▓др▓┐ р▓Ор▓Вр▓жр│Б р▓кр▓░р▓┐р▓Чр▓гр▓┐р▓╕р▓▓р│Б р▓╕р▓╛р▓Хр▓╖р│Нр▓Яр│Б р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п р▓ор▓др│Нр▓др│Б/р▓Ер▓ер▓╡р▓╛ р▓Хр│Нр▓▓р▓┐р▓ир▓┐р▓Хр▓▓р│Н р▓кр│Бр▓░р▓╛р▓╡р│Жр▓Чр▓│р▓┐р▓╡р│Ж.", + "help_refuted": "р▓ир▓Вр▓др▓░р▓ж р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п р▓ор▓др│Нр▓др│Б р▓Хр│Нр▓▓р▓┐р▓ир▓┐р▓Хр▓▓р│Н р▓кр│Бр▓░р▓╛р▓╡р│Жр▓Чр▓│р▓┐р▓Вр▓ж р▓И р▓╕р│Нр▓ер▓┐р▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓др▓│р│Нр▓│р▓┐р▓╣р▓╛р▓Хр▓▓р▓╛р▓Чр▓┐р▓жр│Ж.", + "help_entered-in-error": "р▓╣р│Зр▓│р▓┐р▓Хр│Жр▓пр▓ир│Нр▓ир│Б р▓др▓кр│Нр▓кр▓╛р▓Чр▓┐ р▓ир▓ор│Вр▓жр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж р▓ор▓др│Нр▓др│Б р▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓Чр▓┐р▓▓р│Нр▓▓.", + "search_icd11_placeholder": "ICD-11 р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓пр▓Чр▓│р▓┐р▓Чр▓╛р▓Чр▓┐ р▓╣р│Бр▓бр│Бр▓Хр▓┐", + "icd11_as_recommended": "WHO р▓╢р▓┐р▓лр▓╛р▓░р▓╕р│Б р▓ор▓╛р▓бр▓┐р▓ж ICD-11 р▓кр│Нр▓░р▓Хр▓╛р▓░" +} diff --git a/src/Locale/kn/ErrorPages.json b/src/Locale/kn/ErrorPages.json new file mode 100644 index 00000000000..138cf9e5cac --- /dev/null +++ b/src/Locale/kn/ErrorPages.json @@ -0,0 +1,13 @@ +{ + "return_to_care": "CARE р▓Чр│Ж р▓╣р▓┐р▓Вр▓др▓┐р▓░р│Бр▓Чр▓┐", + "404_message": "р▓Ер▓╕р│Нр▓др▓┐р▓др│Нр▓╡р▓жр▓▓р│Нр▓▓р▓┐р▓▓р│Нр▓▓р▓ж р▓Ер▓ер▓╡р▓╛ р▓Зр▓ир│Нр▓ир│Кр▓Вр▓жр│Б URL р▓Чр│Ж р▓╕р▓░р▓┐р▓╕р▓┐р▓ж р▓кр│Бр▓Яр▓жр▓▓р│Нр▓▓р▓┐ р▓ир│Ар▓╡р│Б р▓Ор▓бр▓╡р▓┐ р▓мр▓┐р▓жр│Нр▓жр▓┐р▓░р│Бр▓╡р▓Вр▓др│Ж р▓др│Лр▓░р│Бр▓др│Нр▓др▓┐р▓жр│Ж. р▓ир│Ар▓╡р│Б р▓╕р▓░р▓┐р▓пр▓╛р▓ж р▓▓р▓┐р▓Вр▓Хр│Н р▓Ер▓ир│Нр▓ир│Б р▓ир▓ор│Вр▓жр▓┐р▓╕р▓┐р▓жр│Нр▓жр│Ар▓░р▓┐ р▓Ор▓Вр▓жр│Б р▓Цр▓Ър▓┐р▓др▓кр▓бр▓┐р▓╕р▓┐р▓Хр│Кр▓│р│Нр▓│р▓┐!", + "error_404": "р▓жр│Лр▓╖ 404", + "page_not_found": "р▓кр│Бр▓Я р▓Хр▓Вр▓бр│Бр▓мр▓Вр▓жр▓┐р▓▓р│Нр▓▓", + "session_expired": "р▓Ер▓╡р▓зр▓┐ р▓ор│Бр▓Чр▓┐р▓жр▓┐р▓жр│Ж", + "invalid_password_reset_link": "р▓Ер▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓ж р▓кр▓╛р▓╕р│НтАМр▓╡р▓░р│Нр▓бр│Н р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р│Бр▓╡ р▓▓р▓┐р▓Вр▓Хр│Н", + "invalid_link_msg": "р▓ир│Ар▓╡р│Б р▓мр▓│р▓╕р▓┐р▓ж р▓кр▓╛р▓╕р│НтАМр▓╡р▓░р│Нр▓бр│Н р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р│Бр▓╡ р▓▓р▓┐р▓Вр▓Хр│Н р▓Ер▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓Чр▓┐р▓жр│Ж р▓Ер▓ер▓╡р▓╛ р▓Ер▓╡р▓зр▓┐ р▓ор│Ар▓░р▓┐р▓жр│Ж р▓Ор▓Вр▓жр│Б р▓др│Лр▓░р│Бр▓др│Нр▓др▓┐р▓жр│Ж. р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓╣р│Кр▓╕ р▓кр▓╛р▓╕р│НтАМр▓╡р▓░р│Нр▓бр│Н р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р│Бр▓╡ р▓▓р▓┐р▓Вр▓Хр│Н р▓Ер▓ир│Нр▓ир│Б р▓╡р▓┐р▓ир▓Вр▓др▓┐р▓╕р▓┐.", + "return_to_password_reset": "р▓кр▓╛р▓╕р│Нр▓╡р▓░р│Нр▓бр│Н р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р▓▓р│Б р▓╣р▓┐р▓Вр▓др▓┐р▓░р│Бр▓Чр▓┐", + "return_to_login": "р▓▓р▓╛р▓Чр▓┐р▓ир│НтАМр▓Чр│Ж р▓╣р▓┐р▓Вр▓др▓┐р▓░р│Бр▓Чр▓┐", + "session_expired_msg": "р▓ир▓┐р▓ор│Нр▓о р▓Ер▓╡р▓зр▓┐ р▓ор│Бр▓Чр▓┐р▓жр▓┐р▓жр│Ж р▓Ор▓Вр▓жр│Б р▓др│Лр▓░р│Бр▓др│Нр▓др▓┐р▓жр│Ж. р▓Зр▓жр│Б р▓ир▓┐р▓╖р│Нр▓Хр│Нр▓░р▓┐р▓пр▓др│Жр▓п р▓Хр▓╛р▓░р▓гр▓жр▓┐р▓Вр▓жр▓╛р▓Чр▓┐р▓░р▓мр▓╣р│Бр▓жр│Б. р▓ор│Бр▓Вр▓жр│Бр▓╡р▓░р▓┐р▓╕р▓▓р│Б р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓ор▓др│Нр▓др│Ж р▓▓р▓╛р▓Чр▓┐р▓ир│Н р▓ор▓╛р▓бр▓┐.", + "invalid_reset": "р▓Ер▓ор▓╛р▓ир│Нр▓п р▓ор▓░р│Бр▓╣р│Кр▓Вр▓жр▓┐р▓╕р▓┐" +} diff --git a/src/Locale/kn/ExternalResult.json b/src/Locale/kn/ExternalResult.json new file mode 100644 index 00000000000..b8be0e872aa --- /dev/null +++ b/src/Locale/kn/ExternalResult.json @@ -0,0 +1,25 @@ +{ + "please_upload_a_csv_file": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б CSV р▓лр│Ир▓▓р│Н р▓Ер▓ир│Нр▓ир│Б р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "upload_external_results": "р▓мр▓╛р▓╣р│Нр▓п р▓лр▓▓р▓┐р▓др▓╛р▓Вр▓╢р▓Чр▓│р▓ир│Нр▓ир│Б р▓Ер▓кр│Нр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "csv_file_in_the_specified_format": "р▓ир▓┐р▓░р│Нр▓жр▓┐р▓╖р│Нр▓Яр▓кр▓бр▓┐р▓╕р▓┐р▓ж р▓╕р│Нр▓╡р▓░р│Вр▓кр▓жр▓▓р│Нр▓▓р▓┐ CSV р▓лр│Ир▓▓р│Н р▓Ер▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "sample_format": "р▓ор▓╛р▓жр▓░р▓┐ р▓╕р│Нр▓╡р▓░р│Вр▓к", + "search_for_facility": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Хр│Нр▓Хр▓╛р▓Чр▓┐ р▓╣р│Бр▓бр│Бр▓Хр▓┐", + "select_local_body": "р▓╕р│Нр▓ер▓│р│Ар▓п р▓╕р▓Вр▓╕р│Нр▓ер│Жр▓пр▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "select_wards": "р▓╡р▓╛р▓░р│Нр▓бр│НтАМр▓Чр▓│р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "result_date": "р▓лр▓▓р▓┐р▓др▓╛р▓Вр▓╢ р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "sample_collection_date": "р▓ор▓╛р▓жр▓░р▓┐ р▓╕р▓Вр▓Чр│Нр▓░р▓╣ р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "record_has_been_deleted_successfully": "р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓Ер▓│р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж.", + "error_while_deleting_record": "р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓Ер▓│р▓┐р▓╕р│Бр▓╡р▓╛р▓Ч р▓жр│Лр▓╖", + "result_details": "р▓лр▓▓р▓┐р▓др▓╛р▓Вр▓╢р▓ж р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "confirm_delete": "р▓Ер▓│р▓┐р▓╕р│Бр▓╡р│Бр▓жр▓ир│Нр▓ир│Б р▓жр│Гр▓вр│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "are_you_sure_want_to_delete_this_record": "р▓И р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓Ер▓│р▓┐р▓╕р▓▓р│Б р▓ир│Ар▓╡р│Б р▓Цр▓Ър▓┐р▓др▓╡р▓╛р▓Чр▓┐ р▓мр▓пр▓╕р│Бр▓╡р▓┐р▓░р▓╛?", + "patient_category": "р▓░р│Лр▓Чр▓┐р▓Чр▓│ р▓╡р▓░р│Нр▓Ч", + "source": "р▓ор│Вр▓▓", + "result": "р▓лр▓▓р▓┐р▓др▓╛р▓Вр▓╢", + "sample_type": "р▓ор▓╛р▓жр▓░р▓┐ р▓кр│Нр▓░р▓Хр▓╛р▓░", + "patient_status": "р▓░р│Лр▓Чр▓┐р▓п р▓╕р│Нр▓ер▓┐р▓др▓┐", + "mobile_number": "р▓ор│Кр▓мр│Ир▓▓р│Н р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "patient_created": "р▓░р│Лр▓Чр▓┐р▓пр▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "care_external_results_id": "р▓мр▓╛р▓╣р│Нр▓п р▓лр▓▓р▓┐р▓др▓╛р▓Вр▓╢р▓Чр▓│ р▓Рр▓бр▓┐р▓пр▓ир│Нр▓ир│Б р▓ир│Лр▓бр▓┐р▓Хр│Кр▓│р│Нр▓│р▓┐", + "update_record": "р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐" +} diff --git a/src/Locale/kn/Facility.json b/src/Locale/kn/Facility.json index 8bd18d2ce3b..5bc9128ae54 100644 --- a/src/Locale/kn/Facility.json +++ b/src/Locale/kn/Facility.json @@ -1,10 +1,119 @@ { "facility_search_placeholder": "р▓╕р│Мр▓▓р▓нр│Нр▓п / р▓Ьр▓┐р▓▓р│Нр▓▓р│Жр▓п р▓╣р│Жр▓╕р▓░р▓┐р▓и р▓ор│Вр▓▓р▓Х р▓╣р│Бр▓бр│Бр▓Хр▓┐", "advanced_filters": "р▓╕р│Бр▓зр▓╛р▓░р▓┐р▓д р▓лр▓┐р▓▓р│Нр▓Яр▓░р│НтАМр▓Чр▓│р│Б", - "Facility Type": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░", + "facility_type": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░", + "facility_name": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓╣р│Жр▓╕р▓░р│Б", "KASP Empanelled": "р▓Хр│Жр▓Ор▓Ор▓╕р│Нр▓кр▓┐ р▓Ор▓Вр▓кр▓ир│Зр▓▓р│Нр▓бр│Н", "View Facility": "р▓╡р│Ар▓Хр│Нр▓╖р▓гр│Ж р▓╕р│Мр▓▓р▓нр│Нр▓п", "no_duplicate_facility": "р▓ир│Ар▓╡р│Б р▓ир▓Хр▓▓р▓┐ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Чр▓│р▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓мр▓╛р▓░р▓жр│Б", "no_facilities": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Чр▓│р│Б р▓Хр▓Вр▓бр│Бр▓мр▓Вр▓жр▓┐р▓▓р│Нр▓▓", - "create_facility": "р▓╣р│Кр▓╕ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓┐" + "no_staff": "р▓╕р▓┐р▓мр│Нр▓мр▓Вр▓жр▓┐ р▓кр▓др│Нр▓др│Жр▓пр▓╛р▓Чр▓┐р▓▓р│Нр▓▓", + "no_bed_types_found": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓╣р▓╛р▓╕р▓┐р▓Чр│Жр▓п р▓кр│Нр▓░р▓Хр▓╛р▓░р▓Чр▓│р│Б р▓Хр▓Вр▓бр│Бр▓мр▓Вр▓жр▓┐р▓▓р│Нр▓▓", + "total_beds": "р▓Тр▓Яр│Нр▓Яр│Б р▓╣р▓╛р▓╕р▓┐р▓Чр│Жр▓Чр▓│р│Б", + "create_facility": "р▓╣р│Кр▓╕ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓┐", + "staff_list": "р▓╕р▓┐р▓мр│Нр▓мр▓Вр▓жр▓┐ р▓кр▓Яр│Нр▓Яр▓┐", + "bed_capacity": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Ж р▓╕р▓╛р▓ор▓░р│Нр▓ер│Нр▓п", + "cylinders": "р▓╕р▓┐р▓▓р▓┐р▓Вр▓бр▓░р│Нр▓Чр▓│р│Б", + "cylinders_per_day": "р▓╕р▓┐р▓▓р▓┐р▓Вр▓бр▓░р│Нр▓Чр▓│р│Б / р▓жр▓┐р▓и", + "liquid_oxygen_capacity": "р▓жр│Нр▓░р▓╡ р▓Жр▓ор│Нр▓▓р▓Ьр▓ир▓Хр▓ж р▓╕р▓╛р▓ор▓░р│Нр▓ер│Нр▓п", + "expected_burn_rate": "р▓ир▓┐р▓░р│Ар▓Хр│Нр▓╖р▓┐р▓д р▓мр▓░р│Нр▓ир│Н р▓жр▓░", + "type_b_cylinders": "р▓мр▓┐ р▓ор▓╛р▓жр▓░р▓┐р▓п р▓╕р▓┐р▓▓р▓┐р▓Вр▓бр▓░р│НтАМр▓Чр▓│р│Б", + "type_c_cylinders": "р▓╕р▓┐ р▓ор▓╛р▓жр▓░р▓┐р▓п р▓╕р▓┐р▓▓р▓┐р▓Вр▓бр▓░р│НтАМр▓Чр▓│р│Б", + "type_d_cylinders": "р▓бр▓┐ р▓ор▓╛р▓жр▓░р▓┐р▓п р▓╕р▓┐р▓▓р▓┐р▓Вр▓бр▓░р│НтАМр▓Чр▓│р│Б", + "select_local_body": "р▓╕р│Нр▓ер▓│р│Ар▓п р▓╕р▓Вр▓╕р│Нр▓ер│Жр▓пр▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "update_asset": "р▓Жр▓╕р│Нр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "create_new_asset": "р▓╣р│Кр▓╕ р▓Жр▓╕р│Нр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓┐", + "you_need_at_least_a_location_to_create_an_assest": "р▓Жр▓╕р│Нр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓▓р│Б р▓ир▓┐р▓ор▓Чр│Ж р▓Хр▓ир▓┐р▓╖р│Нр▓а р▓╕р│Нр▓ер▓│р▓ж р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓жр│Ж.", + "add_location": "р▓╕р│Нр▓ер▓│р▓╡р▓ир│Нр▓ир│Б р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "close_scanner": "р▓╕р│Нр▓Хр│Нр▓пр▓╛р▓ир▓░р│Н р▓Ер▓ир│Нр▓ир│Б р▓ор│Бр▓Ър│Нр▓Ър▓┐", + "scan_asset_qr": "р▓╕р│Нр▓╡р▓др│Нр▓др│Б QR р▓Ер▓ир│Нр▓ир│Б р▓╕р│Нр▓Хр│Нр▓пр▓╛р▓ир│Н р▓ор▓╛р▓бр▓┐!", + "update": "р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "create": "р▓░р▓Ър▓┐р▓╕р▓┐", + "asset_name": "р▓Жр▓╕р│Нр▓др▓┐ р▓╣р│Жр▓╕р▓░р│Б", + "asset_location": "р▓Жр▓╕р│Нр▓др▓┐р▓п р▓╕р│Нр▓ер▓│", + "asset_type": "р▓Жр▓╕р│Нр▓др▓┐ р▓кр│Нр▓░р▓Хр▓╛р▓░", + "asset_class": "р▓Жр▓╕р│Нр▓др▓┐ р▓╡р▓░р│Нр▓Ч", + "details_about_the_equipment": "р▓╕р▓▓р▓Хр▓░р▓гр│Жр▓Чр▓│ р▓мр▓Чр│Нр▓Чр│Ж р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "working_status": "р▓Хр│Жр▓▓р▓╕р▓ж р▓╕р│Нр▓ер▓┐р▓др▓┐", + "why_the_asset_is_not_working": "р▓╕р│Нр▓╡р▓др│Нр▓др│Б р▓Пр▓Хр│Ж р▓Хр▓╛р▓░р│Нр▓пр▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р│Бр▓др│Нр▓др▓┐р▓▓р│Нр▓▓?", + "describe_why_the_asset_is_not_working": "р▓╕р│Нр▓╡р▓др│Нр▓др│Б р▓Пр▓Хр│Ж р▓Хр▓╛р▓░р│Нр▓пр▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р│Бр▓др│Нр▓др▓┐р▓▓р│Нр▓▓ р▓Ор▓Вр▓мр│Бр▓жр▓ир│Нр▓ир│Б р▓╡р▓┐р▓╡р▓░р▓┐р▓╕р▓┐", + "asset_qr_id": "р▓Жр▓╕р│Нр▓др▓┐ QR ID", + "manufacturer": "р▓др▓пр▓╛р▓░р▓Х", + "eg_xyz": "р▓Йр▓жр▓╛. XYZ", + "eg_abc": "р▓Йр▓жр▓╛. р▓Ор▓мр▓┐р▓╕р▓┐", + "warranty_amc_expiry": "р▓╡р▓╛р▓░р▓Вр▓Яр▓┐ / AMC р▓ор│Бр▓Хр│Нр▓др▓╛р▓п", + "customer_support_name": "р▓Чр│Нр▓░р▓╛р▓╣р▓Х р▓мр│Жр▓Вр▓мр▓▓ р▓╣р│Жр▓╕р▓░р│Б", + "customer_support_number": "р▓Чр│Нр▓░р▓╛р▓╣р▓Х р▓мр│Жр▓Вр▓мр▓▓ р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "customer_support_email": "р▓Чр│Нр▓░р▓╛р▓╣р▓Х р▓мр│Жр▓Вр▓мр▓▓ р▓Зр▓ор│Зр▓▓р│Н", + "eg_mail_example_com": "р▓Йр▓жр▓╛. mail@example.com", + "vendor_name": "р▓ор▓╛р▓░р▓╛р▓Яр▓Чр▓╛р▓░р▓░ р▓╣р│Жр▓╕р▓░р│Б", + "serial_number": "р▓╕р▓░р▓гр▓┐ р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "last_serviced_on": "р▓Хр│Кр▓ир│Жр▓пр▓жр▓╛р▓Чр▓┐ р▓╕р│Зр▓╡р│Ж р▓╕р▓▓р│Нр▓▓р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "notes": "р▓Яр▓┐р▓кр│Нр▓кр▓гр▓┐р▓Чр▓│р│Б", + "create_asset": "р▓Жр▓╕р│Нр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓┐", + "create_add_more": "р▓░р▓Ър▓┐р▓╕р▓┐ р▓ор▓др│Нр▓др│Б р▓Зр▓ир│Нр▓ир▓╖р│Нр▓Яр│Б р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "discharged_patients": "р▓мр▓┐р▓бр│Бр▓Чр▓бр│Жр▓пр▓╛р▓ж р▓░р│Лр▓Чр▓┐р▓Чр▓│р│Б", + "discharged_patients_empty": "р▓И р▓╕р│Мр▓▓р▓нр│Нр▓пр▓жр▓▓р│Нр▓▓р▓┐ р▓мр▓┐р▓бр│Бр▓Чр▓бр│Жр▓пр▓╛р▓ж р▓пр▓╛р▓╡р│Бр▓жр│З р▓░р│Лр▓Чр▓┐р▓Чр▓│р│Б р▓Зр▓░р│Бр▓╡р│Бр▓жр▓┐р▓▓р│Нр▓▓", + "update_facility_middleware_success": "р▓╕р│Мр▓▓р▓нр│Нр▓п р▓ор▓┐р▓бр▓▓р│НтАМр▓╡р│Зр▓░р│Н р▓Ер▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "treatment_summary__head_title": "р▓Ър▓┐р▓Хр▓┐р▓др│Нр▓╕р│Жр▓п р▓╕р▓╛р▓░р▓╛р▓Вр▓╢", + "treatment_summary__print": "р▓кр│Нр▓░р▓┐р▓Вр▓Яр│Н р▓Яр│Нр▓░р│Ар▓Яр│Нр▓ор│Жр▓Вр▓Яр│Н р▓╕р▓╛р▓░р▓╛р▓Вр▓╢", + "treatment_summary__heading": "р▓ор▓зр│Нр▓пр▓Вр▓др▓░ р▓Ър▓┐р▓Хр▓┐р▓др│Нр▓╕р│Жр▓п р▓╕р▓╛р▓░р▓╛р▓Вр▓╢", + "patient_registration__name": "р▓╣р│Жр▓╕р▓░р│Б", + "patient_registration__address": "р▓╡р▓┐р▓│р▓╛р▓╕", + "patient_registration__age": "р▓╡р▓пр▓╕р│Нр▓╕р│Б", + "patient_consultation__op": "OP", + "patient_consultation__ip": "IP", + "patient_consultation__dc_admission": "р▓ор▓ир│Жр▓п р▓Жр▓░р│Ир▓Хр│Жр▓п р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓кр│Нр▓░р▓╛р▓░р▓Вр▓нр▓╡р▓╛р▓Чр▓┐р▓жр│Ж", + "patient_consultation__admission": "р▓кр│Нр▓░р▓╡р│Зр▓╢ р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "patient_registration__gender": "р▓▓р▓┐р▓Вр▓Ч", + "patient_registration__contact": "р▓др│Бр▓░р│Нр▓др│Б р▓╕р▓Вр▓кр▓░р│Нр▓Х", + "patient_registration__comorbidities": "р▓╕р▓╣р▓╡р▓░р│Нр▓др▓┐ р▓░р│Лр▓Чр▓Чр▓│р│Б", + "patient_registration__comorbidities__disease": "р▓░р│Лр▓Ч", + "patient_registration__comorbidities__details": "р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "patient_consultation__consultation_notes": "р▓╕р▓╛р▓ор▓╛р▓ир│Нр▓п р▓╕р│Вр▓Ър▓ир│Жр▓Чр▓│р│Б", + "patient_consultation__special_instruction": "р▓╡р▓┐р▓╢р│Зр▓╖ р▓╕р│Вр▓Ър▓ир│Жр▓Чр▓│р│Б", + "suggested_investigations": "р▓╕р│Вр▓Ър▓┐р▓╕р▓┐р▓ж р▓др▓ир▓┐р▓Цр│Жр▓Чр▓│р│Б", + "investigations__date": "р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "investigations__name": "р▓╣р│Жр▓╕р▓░р│Б", + "investigations__result": "р▓лр▓▓р▓┐р▓др▓╛р▓Вр▓╢", + "investigations__ideal_value": "р▓Жр▓жр▓░р│Нр▓╢ р▓ор│Мр▓▓р│Нр▓п", + "investigations__range": "р▓ор│Мр▓▓р│Нр▓п р▓╢р│Нр▓░р│Зр▓гр▓┐", + "investigations__unit": "р▓Шр▓Яр▓Х", + "patient_consultation__treatment__plan": "р▓пр│Лр▓Ьр▓ир│Ж", + "patient_consultation__treatment__summary": "р▓╕р▓╛р▓░р▓╛р▓Вр▓╢", + "patient_consultation__treatment__summary__date": "р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "patient_consultation__treatment__summary__spo2": "SpO2", + "patient_consultation__treatment__summary__temperature": "р▓др▓╛р▓кр▓ор▓╛р▓и", + "diagnosis": "р▓░р│Лр▓Чр▓ир▓┐р▓░р│Нр▓гр▓п", + "diagnosis__principal": "р▓кр│Нр▓░р▓┐р▓ир│Нр▓╕р▓┐р▓кр▓╛р▓▓р│Н", + "diagnosis__confirmed": "р▓жр│Гр▓вр▓кр▓бр▓┐р▓╕р▓┐р▓жр│Ж", + "diagnosis__provisional": "р▓др▓╛р▓др│Нр▓Хр▓╛р▓▓р▓┐р▓Х", + "diagnosis__unconfirmed": "р▓жр│Гр▓вр│Ар▓Хр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓▓р│Нр▓▓", + "diagnosis__differential": "р▓нр│Зр▓жр▓╛р▓др│Нр▓ор▓Х", + "active_prescriptions": "р▓╕р▓Хр│Нр▓░р▓┐р▓п р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Нр▓Чр▓│р│Б", + "prescriptions__medicine": "р▓Фр▓╖р▓зр▓┐", + "prescriptions__route": "р▓ор▓╛р▓░р│Нр▓Ч", + "prescriptions__dosage_frequency": "р▓бр│Лр▓╕р│Зр▓Ьр│Н р▓ор▓др│Нр▓др│Б р▓Жр▓╡р▓░р│Нр▓др▓и", + "prescriptions__start_date": "р▓░р▓Вр▓жр│Б р▓╕р│Вр▓Ър▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "select_facility_for_discharged_patients_warning": "р▓мр▓┐р▓бр│Бр▓Чр▓бр│Жр▓пр▓╛р▓ж р▓░р│Лр▓Чр▓┐р▓Чр▓│р▓ир│Нр▓ир│Б р▓╡р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓▓р│Б р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Ж р▓ор▓╛р▓бр▓мр│Зр▓Хр▓╛р▓Чр▓┐р▓жр│Ж.", + "duplicate_patient_record_confirmation": "р▓╣р│Бр▓Яр│Нр▓Яр▓┐р▓ж р▓╡р▓░р│Нр▓╖р▓╡р▓ир│Нр▓ир│Б р▓╕р│Зр▓░р▓┐р▓╕р│Бр▓╡ р▓ор│Вр▓▓р▓Х р▓ир▓┐р▓ор│Нр▓о р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Хр│Нр▓Хр│Ж р▓░р│Лр▓Чр▓┐р▓п р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓Тр▓кр│Нр▓кр▓┐р▓Хр│Кр▓│р│Нр▓│р▓┐", + "duplicate_patient_record_rejection": "р▓ир▓╛р▓ир│Б р▓░р▓Ър▓┐р▓╕р▓▓р│Б р▓мр▓пр▓╕р│Бр▓╡ р▓╢р▓Вр▓Хр▓┐р▓д / р▓░р│Лр▓Чр▓┐р▓пр│Б р▓кр▓Яр│Нр▓Яр▓┐р▓пр▓▓р│Нр▓▓р▓┐р▓▓р│Нр▓▓ р▓Ор▓Вр▓жр│Б р▓ир▓╛р▓ир│Б р▓жр│Гр▓вр│Ар▓Хр▓░р▓┐р▓╕р│Бр▓др│Нр▓др│Зр▓ир│Ж.", + "duplicate_patient_record_birth_unknown": "р▓░р│Лр▓Чр▓┐р▓п р▓Ьр▓ир│Нр▓о р▓╡р▓░р│Нр▓╖р▓ж р▓мр▓Чр│Нр▓Чр│Ж р▓ир▓┐р▓ор▓Чр│Ж р▓Цр▓Ър▓┐р▓др▓╡р▓┐р▓▓р│Нр▓▓р▓жр▓┐р▓жр│Нр▓жр▓░р│Ж р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓ир▓┐р▓ор│Нр▓о р▓Ьр▓┐р▓▓р│Нр▓▓р▓╛ р▓Жр▓░р│Ир▓Хр│Ж р▓╕р▓Вр▓пр│Лр▓Ьр▓Хр▓░р│Б, р▓╕р│Нр▓ер▓│р▓╛р▓Вр▓др▓░ р▓╕р│Мр▓▓р▓нр│Нр▓п р▓Ер▓ер▓╡р▓╛ р▓░р│Лр▓Чр▓┐р▓пр▓ир│Нр▓ир│Б р▓╕р▓Вр▓кр▓░р│Нр▓Хр▓┐р▓╕р▓┐.", + "patient_transfer_birth_match_note": "р▓Чр▓ор▓ир▓┐р▓╕р▓┐: р▓╡р▓░р│Нр▓Чр▓╛р▓╡р▓гр│Ж р▓╡р▓┐р▓ир▓Вр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓кр│Нр▓░р▓Хр│Нр▓░р▓┐р▓пр│Жр▓Чр│Кр▓│р▓┐р▓╕р▓▓р│Б р▓╣р│Бр▓Яр│Нр▓Яр▓┐р▓ж р▓╡р▓░р│Нр▓╖р▓╡р│Б р▓░р│Лр▓Чр▓┐р▓Чр│Ж р▓╣р│Кр▓Вр▓жр▓┐р▓Хр│Жр▓пр▓╛р▓Чр▓мр│Зр▓Хр│Б.", + "cover_image_updated_note": "р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐р▓ж р▓Хр▓╡р▓░р│Н р▓Ър▓┐р▓др│Нр▓░р▓╡р▓ир│Нр▓ир│Б р▓ир│Лр▓бр▓▓р│Б р▓╕р│Нр▓╡р▓▓р│Нр▓к р▓╕р▓ор▓п р▓др│Жр▓Чр│Жр▓жр│Бр▓Хр│Кр▓│р│Нр▓│р▓мр▓╣р│Бр▓жр│Б", + "available_features": "р▓▓р▓нр│Нр▓пр▓╡р▓┐р▓░р│Бр▓╡ р▓╡р│Ир▓╢р▓┐р▓╖р│Нр▓Яр│Нр▓пр▓Чр▓│р│Б", + "update_facility": "р▓ир▓╡р│Ар▓Хр▓░р▓г р▓╕р│Мр▓▓р▓нр│Нр▓п", + "configure_facility": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓Хр▓╛р▓ир│Нр▓лр▓┐р▓Чр▓░р│Н р▓ор▓╛р▓бр▓┐", + "inventory_management": "р▓жр▓╛р▓╕р│Нр▓др▓╛р▓ир│Б р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓гр│Ж", + "location_management": "р▓╕р│Нр▓ер▓│ р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓гр│Ж", + "resource_request": "р▓╕р▓Вр▓кр▓ир│Нр▓ор│Вр▓▓ р▓╡р▓┐р▓ир▓Вр▓др▓┐", + "view_asset": "р▓╕р│Нр▓╡р▓др│Нр▓др│Бр▓Чр▓│р▓ир│Нр▓ир│Б р▓╡р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓┐", + "view_users": "р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░р▓░р▓ир│Нр▓ир│Б р▓╡р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓┐", + "view_abdm_records": "ABDM р▓жр▓╛р▓Цр▓▓р│Жр▓Чр▓│р▓ир│Нр▓ир│Б р▓╡р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓┐", + "delete_facility": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓Ер▓│р▓┐р▓╕р▓┐", + "central_nursing_station": "р▓Хр│Зр▓Вр▓жр│Нр▓░ р▓ир▓░р│Нр▓╕р▓┐р▓Вр▓Чр│Н р▓╕р│Нр▓Яр│Зр▓╖р▓ир│Н", + "add_details_of_patient": "р▓░р│Лр▓Чр▓┐р▓п р▓╡р▓┐р▓╡р▓░р▓Чр▓│р▓ир│Нр▓ир│Б р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "choose_location": "р▓╕р│Нр▓ер▓│р▓╡р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "live_monitoring": "р▓▓р│Ир▓╡р│Н р▓ор▓╛р▓ир▓┐р▓Яр▓░р▓┐р▓Вр▓Чр│Н", + "open_live_monitoring": "р▓▓р│Ир▓╡р│Н р▓ор▓╛р▓ир▓┐р▓Яр▓░р▓┐р▓Вр▓Чр│Н р▓др│Жр▓░р│Жр▓пр▓┐р▓░р▓┐" } diff --git a/src/Locale/kn/FileUpload.json b/src/Locale/kn/FileUpload.json new file mode 100644 index 00000000000..8a62a726ed5 --- /dev/null +++ b/src/Locale/kn/FileUpload.json @@ -0,0 +1,29 @@ +{ + "audio__allow_permission": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓╕р│Ир▓Яр│Н р▓╕р│Жр▓Яр│Нр▓Яр▓┐р▓Вр▓Чр│НтАМр▓Чр▓│р▓▓р│Нр▓▓р▓┐ р▓ор│Ир▓Хр│Нр▓░р│Кр▓лр│Лр▓ир│Н р▓Ер▓ир│Бр▓ор▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓Ер▓ир│Бр▓ор▓др▓┐р▓╕р▓┐", + "audio__allow_permission_helper": "р▓ир│Ар▓╡р│Б р▓╣р▓┐р▓Вр▓жр│Ж р▓ор│Ир▓Хр│Нр▓░р│Лр▓лр│Лр▓ир│Н р▓кр│Нр▓░р▓╡р│Зр▓╢р▓╡р▓ир│Нр▓ир│Б р▓ир▓┐р▓░р▓╛р▓Хр▓░р▓┐р▓╕р▓┐р▓░р▓мр▓╣р│Бр▓жр│Б.", + "audio__allow_permission_button": "р▓╣р│Зр▓Чр│Ж р▓Ер▓ир│Бр▓ор▓др▓┐р▓╕р▓мр│Зр▓Хр│Жр▓Вр▓жр│Б р▓др▓┐р▓│р▓┐р▓пр▓▓р│Б р▓Зр▓▓р│Нр▓▓р▓┐ р▓Хр│Нр▓▓р▓┐р▓Хр│Н р▓ор▓╛р▓бр▓┐", + "audio__record": "р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр│Н р▓Жр▓бр▓┐р▓пр│Л", + "audio__record_helper": "р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр▓┐р▓Вр▓Чр│Н р▓кр│Нр▓░р▓╛р▓░р▓Вр▓нр▓┐р▓╕р▓▓р│Б р▓мр▓Яр▓ир│Н р▓Хр│Нр▓▓р▓┐р▓Хр│Н р▓ор▓╛р▓бр▓┐", + "audio__recording": "р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр▓┐р▓Вр▓Чр│Н", + "audio__recording_helper": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓ир▓┐р▓ор│Нр▓о р▓ор│Ир▓Хр│Нр▓░р│Лр▓лр│Лр▓ир│НтАМр▓ир▓▓р│Нр▓▓р▓┐ р▓ор▓╛р▓др▓ир▓╛р▓бр▓┐.", + "audio__recording_helper_2": "р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр▓┐р▓Вр▓Чр│Н р▓ир▓┐р▓▓р│Нр▓▓р▓┐р▓╕р▓▓р│Б р▓мр▓Яр▓ир│Н р▓ор│Зр▓▓р│Ж р▓Хр│Нр▓▓р▓┐р▓Хр│Н р▓ор▓╛р▓бр▓┐.", + "audio__recorded": "р▓Жр▓бр▓┐р▓пр│Л р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр│Н р▓ор▓╛р▓бр▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "audio__start_again": "р▓ор▓др│Нр▓др│Ж р▓кр│Нр▓░р▓╛р▓░р▓Вр▓нр▓┐р▓╕р▓┐", + "enter_file_name": "р▓лр│Ир▓▓р│Н р▓╣р│Жр▓╕р▓░р▓ир│Нр▓ир│Б р▓ир▓ор│Вр▓жр▓┐р▓╕р▓┐", + "no_files_found": "р▓пр▓╛р▓╡р│Бр▓жр│З {{type}} р▓лр│Ир▓▓р│НтАМр▓Чр▓│р│Б р▓Хр▓Вр▓бр│Бр▓мр▓Вр▓жр▓┐р▓▓р│Нр▓▓", + "upload_headings__patient": "р▓╣р│Кр▓╕ р▓░р│Лр▓Чр▓┐р▓п р▓лр│Ир▓▓р│Н р▓Ер▓ир│Нр▓ир│Б р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "upload_headings__consultation": "р▓╣р│Кр▓╕ р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Ж р▓лр│Ир▓▓р│Н р▓Ер▓ир│Нр▓ир│Б р▓Ер▓кр│Нр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "upload_headings__sample_report": "р▓ор▓╛р▓жр▓░р▓┐ р▓╡р▓░р▓жр▓┐р▓пр▓ир│Нр▓ир│Б р▓Ер▓кр│Нр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "upload_headings__supporting_info": "р▓кр│Лр▓╖р▓Х р▓ор▓╛р▓╣р▓┐р▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓Ер▓кр│Нр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "file_list_headings__patient": "р▓░р│Лр▓Чр▓┐р▓п р▓лр│Ир▓▓р│Нр▓Чр▓│р│Б", + "file_list_headings__consultation": "р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Ж р▓лр│Ир▓▓р│Нр▓Чр▓│р│Б", + "file_list_headings__sample_report": "р▓ор▓╛р▓жр▓░р▓┐ р▓╡р▓░р▓жр▓┐", + "file_list_headings__supporting_info": "р▓кр│Лр▓╖р▓Х р▓ор▓╛р▓╣р▓┐р▓др▓┐", + "file_error__choose_file": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓▓р│Б р▓лр│Ир▓▓р│Н р▓Ер▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "file_error__file_name": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓лр│Ир▓▓р│Н р▓╣р│Жр▓╕р▓░р▓ир│Нр▓ир│Б р▓ир▓ор│Вр▓жр▓┐р▓╕р▓┐", + "file_error__file_size": "р▓лр│Ир▓▓р│НтАМр▓Чр▓│ р▓Чр▓░р▓┐р▓╖р│Нр▓а р▓Чр▓╛р▓др│Нр▓░ 100 MB", + "file_error__file_type": "р▓Ер▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓ж р▓лр│Ир▓▓р│Н р▓кр│Нр▓░р▓Хр▓╛р▓░ \".{{extension}}\" р▓Ер▓ир│Бр▓ор▓др▓┐р▓╕р▓▓р▓╛р▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░р▓Чр▓│р│Б: {{allowedExtensions}}", + "file_uploaded": "р▓лр│Ир▓▓р│Н р▓Ер▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "file_error__dynamic": "р▓лр│Ир▓▓р│Н р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр│Бр▓╡р▓▓р│Нр▓▓р▓┐ р▓жр│Лр▓╖: {{statusText}}", + "file_error__network": "р▓лр│Ир▓▓р│Н р▓Ер▓кр│НтАМр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр│Бр▓╡р▓▓р│Нр▓▓р▓┐ р▓жр│Лр▓╖: р▓ир│Жр▓Яр│НтАМр▓╡р▓░р│Нр▓Хр│Н р▓жр│Лр▓╖" +} diff --git a/src/Locale/kn/Hub.json b/src/Locale/kn/Hub.json new file mode 100644 index 00000000000..d41fb99e161 --- /dev/null +++ b/src/Locale/kn/Hub.json @@ -0,0 +1,14 @@ +{ + "monitor": "р▓ор▓╛р▓ир▓┐р▓Яр▓░р│Н", + "show_default_presets": "р▓бр│Ар▓лр▓╛р▓▓р│Нр▓Яр│Н р▓кр│Вр▓░р│Нр▓╡р▓ир▓┐р▓Чр▓жр▓┐р▓Чр▓│р▓ир│Нр▓ир│Б р▓др│Лр▓░р▓┐р▓╕р▓┐", + "show_patient_presets": "р▓░р│Лр▓Чр▓┐р▓п р▓кр│Вр▓░р│Нр▓╡р▓ир▓┐р▓Чр▓жр▓┐р▓Чр▓│р▓ир│Нр▓ир│Б р▓др│Лр▓░р▓┐р▓╕р▓┐", + "moving_camera": "р▓ор│Вр▓╡р▓┐р▓Вр▓Чр│Н р▓Хр│Нр▓пр▓╛р▓ор│Жр▓░р▓╛", + "full_screen": "р▓кр│Вр▓░р│Нр▓г р▓кр▓░р▓жр│Ж", + "feed_is_currently_not_live": "р▓лр│Ар▓бр│Н р▓кр│Нр▓░р▓╕р│Нр▓др│Бр▓д р▓▓р│Ир▓╡р│Н р▓Жр▓Чр▓┐р▓▓р│Нр▓▓", + "zoom_out": "р▓Ьр│Вр▓ор│Н р▓Фр▓Яр│Н", + "zoom_in": "р▓Ьр│Вр▓ор│Н р▓Зр▓ир│Н", + "right": "р▓╕р▓░р▓┐", + "left": "р▓Ор▓бр▓Хр│Нр▓Хр│Ж", + "down": "р▓Хр│Жр▓│р▓Чр│Ж", + "up": "р▓ор│Зр▓▓р▓Хр│Нр▓Хр│Ж" +} diff --git a/src/Locale/kn/LogUpdate.json b/src/Locale/kn/LogUpdate.json new file mode 100644 index 00000000000..e1d8104ad95 --- /dev/null +++ b/src/Locale/kn/LogUpdate.json @@ -0,0 +1,73 @@ +{ + "RESPIRATORY_SUPPORT_SHORT__UNKNOWN": "р▓пр▓╛р▓╡р│Бр▓жр│В р▓Зр▓▓р│Нр▓▓", + "RESPIRATORY_SUPPORT_SHORT__OXYGEN_SUPPORT": "O2 р▓мр│Жр▓Вр▓мр▓▓", + "RESPIRATORY_SUPPORT_SHORT__NON_INVASIVE": "NIV", + "RESPIRATORY_SUPPORT_SHORT__INVASIVE": "IV", + "RESPIRATORY_SUPPORT__UNKNOWN": "р▓пр▓╛р▓╡р│Бр▓жр│В р▓Зр▓▓р│Нр▓▓", + "RESPIRATORY_SUPPORT__OXYGEN_SUPPORT": "р▓Жр▓ор│Нр▓▓р▓Ьр▓ир▓Х р▓мр│Жр▓Вр▓мр▓▓", + "RESPIRATORY_SUPPORT__NON_INVASIVE": "р▓ир▓╛р▓ир│Н-р▓Зр▓ир│Нр▓╡р│Зр▓╕р▓┐р▓╡р│Н р▓╡р│Жр▓Вр▓Яр▓┐р▓▓р│Зр▓Яр▓░р│Н (NIV)", + "RESPIRATORY_SUPPORT__INVASIVE": "р▓Жр▓Хр│Нр▓░р▓ор▓гр▓Хр▓╛р▓░р▓┐ р▓╡р│Жр▓Вр▓Яр▓┐р▓▓р│Зр▓Яр▓░р│Н (IV)", + "VENTILATOR_MODE__CMV": "р▓Хр▓Вр▓Яр│Нр▓░р│Лр▓▓р│Н р▓ор│Жр▓Хр│Нр▓пр▓╛р▓ир▓┐р▓Хр▓▓р│Н р▓╡р│Жр▓Вр▓Яр▓┐р▓▓р│Зр▓╖р▓ир│Н (CMV)", + "VENTILATOR_MODE__VCV": "р▓╡р▓╛р▓▓р│Нр▓пр│Вр▓ор│Н р▓Хр▓Вр▓Яр│Нр▓░р│Лр▓▓р│Н р▓╡р│Жр▓Вр▓Яр▓┐р▓▓р│Зр▓╢р▓ир│Н (VCV)", + "VENTILATOR_MODE__PCV": "р▓кр│Нр▓░р│Жр▓╢р▓░р│Н р▓Хр▓Вр▓Яр│Нр▓░р│Лр▓▓р│Н р▓╡р│Жр▓Вр▓Яр▓┐р▓▓р│Зр▓╖р▓ир│Н (PCV)", + "VENTILATOR_MODE__SIMV": "р▓╕р▓┐р▓Вр▓Хр│Нр▓░р│Кр▓ир│Ир▓╕р│Н р▓ор▓╛р▓бр▓┐р▓ж р▓ор▓зр│Нр▓пр▓Вр▓др▓░ р▓Хр▓бр│Нр▓бр▓╛р▓п р▓╡р▓╛р▓др▓╛р▓пр▓и (SIMV)", + "VENTILATOR_MODE__VC_SIMV": "р▓╡р▓╛р▓▓р│Нр▓пр│Вр▓ор│Н р▓Хр▓Вр▓Яр│Нр▓░р│Лр▓▓р│Нр▓бр│Н SIMV (VC-SIMV)", + "VENTILATOR_MODE__PC_SIMV": "р▓Тр▓др│Нр▓др▓б р▓ир▓┐р▓пр▓Вр▓др│Нр▓░р▓┐р▓д SIMV (PC-SIMV)", + "VENTILATOR_MODE__PSV": "C-PAP / р▓кр│Нр▓░р│Жр▓╢р▓░р│Н р▓╕р▓кр│Лр▓░р│Нр▓Яр│Н р▓╡р│Жр▓Вр▓Яр▓┐р▓▓р│Зр▓╖р▓ир│Н (PSV)", + "CONSCIOUSNESS_LEVEL__UNRESPONSIVE": "р▓кр│Нр▓░р▓др▓┐р▓Хр│Нр▓░р▓┐р▓пр▓┐р▓╕р▓ж", + "CONSCIOUSNESS_LEVEL__RESPONDS_TO_PAIN": "р▓ир│Лр▓╡р▓┐р▓Чр│Ж р▓╕р│Нр▓кр▓Вр▓жр▓┐р▓╕р│Бр▓др│Нр▓др▓жр│Ж", + "CONSCIOUSNESS_LEVEL__RESPONDS_TO_VOICE": "р▓зр│Нр▓╡р▓ир▓┐р▓Чр│Ж р▓кр│Нр▓░р▓др▓┐р▓Хр│Нр▓░р▓┐р▓пр▓┐р▓╕р│Бр▓др│Нр▓др▓жр│Ж", + "CONSCIOUSNESS_LEVEL__ALERT": "р▓Ор▓Ър│Нр▓Ър▓░р▓┐р▓Хр│Ж", + "CONSCIOUSNESS_LEVEL__AGITATED_OR_CONFUSED": "р▓Хр│Нр▓╖р│Лр▓нр│Ж р▓Ер▓ер▓╡р▓╛ р▓Чр│Кр▓Вр▓жр▓▓", + "CONSCIOUSNESS_LEVEL__ONSET_OF_AGITATION_AND_CONFUSION": "р▓Жр▓Вр▓жр│Лр▓▓р▓и р▓ор▓др│Нр▓др│Б р▓Чр│Кр▓Вр▓жр▓▓р▓ж р▓Жр▓░р▓Вр▓н", + "PUPIL_REACTION__UNKNOWN": "р▓Ер▓Ьр│Нр▓Юр▓╛р▓д", + "PUPIL_REACTION__BRISK": "р▓Ър│Бр▓░р│Бр▓Хр▓╛р▓ж", + "PUPIL_REACTION__SLUGGISH": "р▓Ьр▓б", + "PUPIL_REACTION__FIXED": "р▓ир▓┐р▓╡р▓╛р▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "PUPIL_REACTION__CANNOT_BE_ASSESSED": "р▓ор│Мр▓▓р│Нр▓пр▓ор▓╛р▓кр▓и р▓ор▓╛р▓бр▓▓р▓╛р▓Чр│Бр▓╡р│Бр▓жр▓┐р▓▓р│Нр▓▓", + "LIMB_RESPONSE__UNKNOWN": "р▓Ер▓Ьр│Нр▓Юр▓╛р▓д", + "LIMB_RESPONSE__STRONG": "р▓мр▓▓р▓╢р▓╛р▓▓р▓┐", + "LIMB_RESPONSE__MODERATE": "р▓ор▓зр│Нр▓пр▓о", + "LIMB_RESPONSE__WEAK": "р▓жр│Бр▓░р│Нр▓мр▓▓", + "LIMB_RESPONSE__FLEXION": "р▓мр▓╛р▓Чр│Бр▓╡р▓┐р▓Хр│Ж", + "LIMB_RESPONSE__EXTENSION": "р▓╡р▓┐р▓╕р│Нр▓др▓░р▓гр│Ж", + "LIMB_RESPONSE__NONE": "р▓пр▓╛р▓╡р│Бр▓жр│В р▓Зр▓▓р│Нр▓▓", + "OXYGEN_MODALITY__NASAL_PRONGS": "р▓ор│Вр▓Чр▓┐р▓и р▓кр│Нр▓░р▓╛р▓Вр▓Чр│Нр▓╕р│Н", + "OXYGEN_MODALITY__SIMPLE_FACE_MASK": "р▓╕р▓░р▓│ р▓лр│Зр▓╕р│Н р▓ор▓╛р▓╕р│Нр▓Хр│Н", + "OXYGEN_MODALITY__NON_REBREATHING_MASK": "р▓ир▓╛р▓ир│Н р▓░р▓┐р▓мр│Нр▓░р│Жр▓ер▓┐р▓Вр▓Чр│Н р▓ор▓╛р▓╕р│Нр▓Хр│Н", + "OXYGEN_MODALITY__HIGH_FLOW_NASAL_CANNULA": "р▓╣р│И р▓лр│Нр▓▓р│Л р▓ир▓╛р▓╕р▓▓р│Н р▓Хр│Нр▓пр▓╛р▓ир│Бр▓▓р▓╛", + "INSULIN_INTAKE_FREQUENCY__UNKNOWN": "р▓Ер▓Ьр│Нр▓Юр▓╛р▓д", + "INSULIN_INTAKE_FREQUENCY__OD": "р▓жр▓┐р▓ир▓Хр│Нр▓Хр│Ж р▓Тр▓ор│Нр▓ор│Ж (OD)", + "INSULIN_INTAKE_FREQUENCY__BD": "р▓жр▓┐р▓ир▓Хр│Нр▓Хр│Ж р▓Ор▓░р▓бр│Б р▓мр▓╛р▓░р▓┐ (BD)", + "INSULIN_INTAKE_FREQUENCY__TD": "р▓жр▓┐р▓ир▓Хр│Нр▓Хр│Ж р▓ор│Вр▓░р│Б р▓мр▓╛р▓░р▓┐ (р▓Яр▓┐р▓бр▓┐)", + "NURSING_CARE_PROCEDURE__personal_hygiene": "р▓╡р│Ир▓пр▓Хр│Нр▓др▓┐р▓Х р▓ир│Ир▓░р│Нр▓ор▓▓р│Нр▓п", + "NURSING_CARE_PROCEDURE__positioning": "р▓╕р│Нр▓ер▓╛р▓ир│Ар▓Хр▓░р▓г", + "NURSING_CARE_PROCEDURE__suctioning": "р▓╣р│Ар▓░р│Бр▓╡р│Бр▓жр│Б", + "NURSING_CARE_PROCEDURE__ryles_tube_care": "р▓░р│Ир▓▓р│Нр▓╕р│Н р▓Яр│Нр▓пр│Вр▓мр│Н р▓Хр│Зр▓░р│Н", + "NURSING_CARE_PROCEDURE__iv_sitecare": "IV р▓╕р│Ир▓Яр│Н р▓Хр│Зр▓░р│Н", + "NURSING_CARE_PROCEDURE__nubulisation": "р▓ир│Вр▓мр│Бр▓▓р│Ир▓╕р│Зр▓╢р▓ир│Н", + "NURSING_CARE_PROCEDURE__dressing": "р▓бр│Нр▓░р│Жр▓╕р│Нр▓╕р▓┐р▓Вр▓Чр│Н", + "NURSING_CARE_PROCEDURE__dvt_pump_stocking": "DVT р▓кр▓Вр▓кр│Н р▓╕р│Нр▓Яр▓╛р▓Хр▓┐р▓Вр▓Чр│Н", + "NURSING_CARE_PROCEDURE__restrain": "р▓ир▓┐р▓Чр│Нр▓░р▓╣р▓┐р▓╕р▓┐", + "NURSING_CARE_PROCEDURE__chest_tube_care": "р▓Ър│Жр▓╕р│Нр▓Яр│Н р▓Яр│Нр▓пр│Вр▓мр│Н р▓Хр│Зр▓░р│Н", + "NURSING_CARE_PROCEDURE__tracheostomy_care": "р▓Яр│Нр▓░р▓╛р▓Хр▓┐р▓пр│Кр▓╕р│Нр▓Яр│Кр▓ор▓┐ р▓Хр│Зр▓░р│Н", + "NURSING_CARE_PROCEDURE__stoma_care": "р▓╕р│Нр▓Яр│Кр▓ор▓╛ р▓Хр│Зр▓░р│Н", + "NURSING_CARE_PROCEDURE__catheter_care": "р▓Хр│Нр▓пр▓╛р▓др▓┐р▓Яр▓░р│Н р▓Хр│Зр▓░р│Н", + "HEARTBEAT_RHYTHM__REGULAR": "р▓ир▓┐р▓пр▓ор▓┐р▓д", + "HEARTBEAT_RHYTHM__IRREGULAR": "р▓Ер▓ир▓┐р▓пр▓ор▓┐р▓д", + "HEARTBEAT_RHYTHM__UNKNOWN": "р▓Ер▓Ьр│Нр▓Юр▓╛р▓д", + "heartbeat_rhythm": "р▓╣р│Гр▓жр▓п р▓мр▓бр▓┐р▓др▓ж р▓▓р▓п", + "heartbeat_description": "р▓╣р│Гр▓жр▓п р▓мр▓бр▓┐р▓др▓ж р▓╡р▓┐р▓╡р▓░р▓гр│Ж", + "blood_pressure": "р▓░р▓Хр│Нр▓др▓жр│Кр▓др│Нр▓др▓б", + "map_acronym": "р▓ир▓Хр│Нр▓╖р│Ж", + "systolic": "р▓╕р▓┐р▓╕р│Нр▓Яр│Кр▓▓р▓┐р▓Хр│Н", + "diastolic": "р▓бр▓пр▓╛р▓╕р│Нр▓Яр│Кр▓▓р▓┐р▓Хр│Н", + "temperature": "р▓др▓╛р▓кр▓ор▓╛р▓и", + "resipiratory_rate": "р▓Йр▓╕р▓┐р▓░р▓╛р▓Яр▓ж р▓жр▓░", + "pain": "р▓ир│Лр▓╡р│Б", + "pain_chart_description": "р▓ир│Лр▓╡р▓┐р▓и р▓кр│Нр▓░р▓жр│Зр▓╢ р▓ор▓др│Нр▓др│Б р▓др│Ар▓╡р│Нр▓░р▓др│Жр▓пр▓ир│Нр▓ир│Б р▓Чр│Бр▓░р│Бр▓др▓┐р▓╕р▓┐", + "pulse": "р▓ир▓╛р▓бр▓┐", + "bradycardia": "р▓мр│Нр▓░р▓╛р▓бр▓┐р▓Хр▓╛р▓░р│Нр▓бр▓┐р▓пр▓╛", + "tachycardia": "р▓Яр▓╛р▓Хр▓┐р▓Хр▓╛р▓░р│Нр▓бр▓┐р▓пр▓╛", + "spo2": "SpOтВВ" +} \ No newline at end of file diff --git a/src/Locale/kn/Medicine.json b/src/Locale/kn/Medicine.json new file mode 100644 index 00000000000..1f5b1583153 --- /dev/null +++ b/src/Locale/kn/Medicine.json @@ -0,0 +1,68 @@ +{ + "medicine": "р▓Фр▓╖р▓зр▓┐", + "route": "р▓ор▓╛р▓░р│Нр▓Ч", + "dosage": "р▓бр│Лр▓╕р│Зр▓Ьр│Н", + "base_dosage": "р▓бр│Лр▓╕р│Зр▓Ьр│Н", + "start_dosage": "р▓бр│Лр▓╕р│Зр▓Ьр│Н р▓кр│Нр▓░р▓╛р▓░р▓Вр▓нр▓┐р▓╕р▓┐", + "target_dosage": "р▓Чр│Бр▓░р▓┐ р▓бр│Лр▓╕р│Зр▓Ьр│Н", + "instruction_on_titration": "р▓Яр│Ир▓Яр▓░р│Зр▓╢р▓ир│Н р▓Хр│Бр▓░р▓┐р▓др│Б р▓╕р│Вр▓Ър▓ир│Ж", + "titrate_dosage": "р▓Яр│Ир▓Яр│Нр▓░р│Зр▓Яр│Н р▓бр│Лр▓╕р│Зр▓Ьр│Н", + "indicator": "р▓╕р│Вр▓Ър▓Х", + "inidcator_event": "р▓╕р│Вр▓Ър▓Х р▓Ир▓╡р│Жр▓Вр▓Яр│Н", + "max_dosage_24_hrs": "р▓Чр▓░р▓┐р▓╖р│Нр▓а 24 р▓Чр▓Вр▓Яр│Жр▓Чр▓│р▓▓р│Нр▓▓р▓┐ р▓бр│Лр▓╕р│Зр▓Ьр│Н", + "min_time_bw_doses": "р▓Хр▓ир▓┐р▓╖р│Нр▓а р▓╕р▓ор▓п b/w р▓кр│Нр▓░р▓ор▓╛р▓гр▓Чр▓│р│Б", + "manage_prescriptions": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│НтАМр▓Чр▓│р▓ир│Нр▓ир│Б р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р▓┐", + "prescription_details": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "prescription_medications": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓Фр▓╖р▓зр▓┐р▓Чр▓│р│Б", + "prn_prescriptions": "PRN р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│НтАМр▓Чр▓│р│Б", + "prescription": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н", + "discharge_prescription": "р▓бр▓┐р▓╕р│Нр▓Ър▓╛р▓░р│Нр▓Ьр│Н р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н", + "edit_prescriptions": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│НтАМр▓Чр▓│р▓ир│Нр▓ир│Б р▓╕р▓Вр▓кр▓╛р▓жр▓┐р▓╕р▓┐", + "prescription_medication": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓Фр▓╖р▓зр▓┐", + "add_prescription_medication": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓Фр▓╖р▓зр▓┐р▓Чр▓│р▓ир│Нр▓ир│Б р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "prn_prescription": "PRN р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н", + "add_prn_prescription": "PRN р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "add_prescription_to_consultation_note": "р▓И р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Жр▓Чр│Ж р▓╣р│Кр▓╕ р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓╕р│Зр▓░р▓┐р▓╕р▓┐.", + "medicine_administration_history": "р▓ор│Жр▓бр▓┐р▓╕р▓┐р▓ир│Н р▓Ер▓бр│Нр▓ор▓┐р▓ир▓┐р▓╕р│Нр▓Яр│Нр▓░р│Зр▓╖р▓ир│Н р▓Зр▓др▓┐р▓╣р▓╛р▓╕", + "return_to_patient_dashboard": "р▓░р│Лр▓Чр▓┐р▓п р▓бр│Нр▓пр▓╛р▓╢р│НтАМр▓мр│Лр▓░р│Нр▓бр│НтАМр▓Чр│Ж р▓╣р▓┐р▓Вр▓др▓┐р▓░р│Бр▓Чр▓┐", + "administered_on": "р▓░р▓Вр▓жр│Б р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "administer": "р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р│Б", + "administer_medicine": "р▓Фр▓╖р▓зр▓╡р▓ир│Нр▓ир│Б р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р▓┐", + "administer_medicines": "р▓Фр▓╖р▓зр▓Чр▓│р▓ир│Нр▓ир│Б р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р▓┐", + "administer_selected_medicines": "р▓Жр▓пр│Нр▓ж р▓Фр▓╖р▓зр▓Чр▓│р▓ир│Нр▓ир│Б р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р▓┐", + "select_for_administration": "р▓Жр▓бр▓│р▓┐р▓др▓Хр│Нр▓Хр▓╛р▓Чр▓┐ р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "medicines_administered": "р▓Фр▓╖р▓з(р▓Чр▓│р│Б) р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "medicines_administered_error": "р▓Фр▓╖р▓з(р▓Чр▓│р▓ир│Нр▓ир│Б) р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р│Бр▓╡р▓▓р│Нр▓▓р▓┐ р▓жр│Лр▓╖", + "prescription_discontinued": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓╕р│Нр▓ер▓Чр▓┐р▓др▓Чр│Кр▓Вр▓бр▓┐р▓жр│Ж", + "administration_notes": "р▓Жр▓бр▓│р▓┐р▓д р▓Яр▓┐р▓кр│Нр▓кр▓гр▓┐р▓Чр▓│р│Б", + "last_administered": "р▓Хр│Кр▓ир│Жр▓пр▓жр▓╛р▓Чр▓┐ р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "prescription_logs": "р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓жр▓╛р▓Цр▓▓р│Жр▓Чр▓│р│Б", + "modification_caution_note": "р▓Тр▓ор│Нр▓ор│Ж р▓╕р│Зр▓░р▓┐р▓╕р▓┐р▓ж р▓ир▓Вр▓др▓░ р▓пр▓╛р▓╡р│Бр▓жр│З р▓ор▓╛р▓░р│Нр▓кр▓╛р▓бр│Бр▓Чр▓│р│Б р▓╕р▓╛р▓зр│Нр▓пр▓╡р▓┐р▓▓р│Нр▓▓", + "discontinue_caution_note": "р▓И р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓Ер▓ир│Нр▓ир│Б р▓ир▓┐р▓▓р│Нр▓▓р▓┐р▓╕р▓▓р│Б р▓ир│Ар▓╡р│Б р▓Цр▓Ър▓┐р▓др▓╡р▓╛р▓Чр▓┐ р▓мр▓пр▓╕р│Бр▓╡р▓┐р▓░р▓╛?", + "confirm_discontinue": "р▓╕р│Нр▓ер▓Чр▓┐р▓др▓Чр│Кр▓│р▓┐р▓╕р│Бр▓╡р│Бр▓жр▓ир│Нр▓ир│Б р▓жр│Гр▓вр│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "edit_caution_note": "р▓╕р▓Вр▓кр▓╛р▓жр▓┐р▓д р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Кр▓Вр▓жр▓┐р▓Чр│Ж р▓╣р│Кр▓╕ р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓Ер▓ир│Нр▓ир│Б р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Жр▓Чр│Ж р▓╕р│Зр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓жр│Ж р▓ор▓др│Нр▓др│Б р▓кр│Нр▓░р▓╕р│Нр▓др│Бр▓д р▓кр│Нр▓░р▓┐р▓╕р│Нр▓Хр│Нр▓░р▓┐р▓кр│Нр▓╖р▓ир│Н р▓Ер▓ир│Нр▓ир│Б р▓╕р│Нр▓ер▓Чр▓┐р▓др▓Чр│Кр▓│р▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓жр│Ж.", + "reason_for_discontinuation": "р▓╕р│Нр▓ер▓Чр▓┐р▓др▓Чр│Кр▓│р│Нр▓│р▓▓р│Б р▓Хр▓╛р▓░р▓г", + "reason_for_edit": "р▓╕р▓Вр▓кр▓╛р▓жр▓ир│Жр▓Чр│Ж р▓Хр▓╛р▓░р▓г", + "PRESCRIPTION_ROUTE_ORAL": "р▓ор│Мр▓Цр▓┐р▓Х", + "PRESCRIPTION_ROUTE_IV": "IV", + "PRESCRIPTION_ROUTE_IM": "IM", + "PRESCRIPTION_ROUTE_SC": "р▓Ор▓╕р│Н/р▓╕р▓┐", + "PRESCRIPTION_ROUTE_INHALATION": "р▓Зр▓ир│Нр▓╣р▓▓р│Зр▓╖р▓ир│Н", + "PRESCRIPTION_ROUTE_NASOGASTRIC": "р▓ир▓╛р▓╕р│Кр▓Чр│Нр▓пр▓╛р▓╕р│Нр▓Яр│Нр▓░р▓┐р▓Хр│Н / р▓Чр│Нр▓пр▓╛р▓╕р│Нр▓Яр│Нр▓░р│Лр▓╕р│Нр▓Яр│Кр▓ор▓┐ р▓Яр│Нр▓пр│Вр▓мр│Н", + "PRESCRIPTION_ROUTE_INTRATHECAL": "р▓Зр▓Вр▓Яр│Нр▓░р▓╛р▓ер│Жр▓Хр▓▓р│Н р▓Зр▓Вр▓Ьр│Жр▓Хр│Нр▓╖р▓ир│Н", + "PRESCRIPTION_ROUTE_TRANSDERMAL": "р▓Яр│Нр▓░р▓╛р▓ир│Нр▓╕р│Нр▓бр▓░р│Нр▓ор▓▓р│Н", + "PRESCRIPTION_ROUTE_RECTAL": "р▓Чр│Бр▓жр▓ир▓╛р▓│", + "PRESCRIPTION_ROUTE_SUBLINGUAL": "р▓Йр▓кр▓нр▓╛р▓╖р│Ж", + "PRESCRIPTION_FREQUENCY_STAT": "р▓др▓Хр│Нр▓╖р▓гр▓╡р│З", + "PRESCRIPTION_FREQUENCY_OD": "р▓жр▓┐р▓ир▓Хр│Нр▓Хр│Ж р▓Тр▓ор│Нр▓ор│Ж", + "PRESCRIPTION_FREQUENCY_HS": "р▓░р▓╛р▓др│Нр▓░р▓┐ р▓ор▓╛р▓др│Нр▓░", + "PRESCRIPTION_FREQUENCY_BD": "р▓жр▓┐р▓ир▓Хр│Нр▓Хр│Ж р▓Ор▓░р▓бр│Б р▓мр▓╛р▓░р▓┐", + "PRESCRIPTION_FREQUENCY_TID": "8 р▓ир│З р▓Чр▓Вр▓Яр│Жр▓Чр│Ж", + "PRESCRIPTION_FREQUENCY_QID": "6 р▓ир│З р▓Чр▓Вр▓Яр│Жр▓Чр│Ж", + "PRESCRIPTION_FREQUENCY_Q4H": "4 р▓ир│З р▓Чр▓Вр▓Яр│Жр▓Чр│Ж", + "PRESCRIPTION_FREQUENCY_QOD": "р▓кр▓░р│Нр▓пр▓╛р▓п р▓жр▓┐р▓и", + "PRESCRIPTION_FREQUENCY_QWK": "р▓╡р▓╛р▓░р▓Хр│Нр▓Хр│Кр▓ор│Нр▓ор│Ж", + "inconsistent_dosage_units_error": "р▓бр│Лр▓╕р│Зр▓Ьр│Н р▓Шр▓Яр▓Хр▓Чр▓│р│Б р▓Тр▓Вр▓жр│З р▓Жр▓Чр▓┐р▓░р▓мр│Зр▓Хр│Б", + "max_dosage_in_24hrs_gte_base_dosage_error": "р▓Чр▓░р▓┐р▓╖р│Нр▓а 24 р▓Чр▓Вр▓Яр│Жр▓Чр▓│р▓▓р│Нр▓▓р▓┐ р▓бр│Лр▓╕р│Зр▓Ьр│Н р▓мр│Зр▓╕р│Н р▓бр│Лр▓╕р│Зр▓Ьр│НтАМр▓Чр▓┐р▓Вр▓д р▓╣р│Жр▓Ър│Нр▓Ър▓╛р▓Чр▓┐р▓░р▓мр│Зр▓Хр│Б р▓Ер▓ер▓╡р▓╛ р▓╕р▓ор▓ир▓╛р▓Чр▓┐р▓░р▓мр│Зр▓Хр│Б", + "administration_dosage_range_error": "р▓бр│Лр▓╕р│Зр▓Ьр│Н р▓кр│Нр▓░р▓╛р▓░р▓Вр▓н р▓ор▓др│Нр▓др│Б р▓Чр│Бр▓░р▓┐ р▓бр│Лр▓╕р│Зр▓Ьр│Н р▓ир▓бр│Бр▓╡р│Ж р▓Зр▓░р▓мр│Зр▓Хр│Б" +} \ No newline at end of file diff --git a/src/Locale/kn/Notifications.json b/src/Locale/kn/Notifications.json new file mode 100644 index 00000000000..48ceadfa4c6 --- /dev/null +++ b/src/Locale/kn/Notifications.json @@ -0,0 +1,22 @@ +{ + "no_notices_for_you": "р▓ир▓┐р▓ор▓Чр▓╛р▓Чр▓┐ р▓пр▓╛р▓╡р│Бр▓жр│З р▓╕р│Вр▓Ър▓ир│Жр▓Чр▓│р▓┐р▓▓р│Нр▓▓.", + "mark_as_read": "р▓Ур▓жр▓┐р▓жр▓Вр▓др│Ж р▓Чр│Бр▓░р│Бр▓др▓┐р▓╕р▓┐", + "mark_as_unread": "р▓Ур▓жр▓жр▓┐р▓░р│Бр▓╡р▓Вр▓др│Ж р▓Чр│Бр▓░р│Бр▓др▓┐р▓╕р▓┐", + "subscribe": "р▓Ър▓Вр▓жр▓╛р▓жр▓╛р▓░р▓░р▓╛р▓Чр▓┐", + "subscribe_on_this_device": "р▓И р▓╕р▓╛р▓зр▓ир▓жр▓▓р│Нр▓▓р▓┐ р▓Ър▓Вр▓жр▓╛р▓жр▓╛р▓░р▓░р▓╛р▓Чр▓┐", + "show_unread_notifications": "р▓Ур▓жр▓жр▓┐р▓░р│Бр▓╡р│Бр▓жр▓ир│Нр▓ир│Б р▓др│Лр▓░р▓┐р▓╕р▓┐", + "show_all_notifications": "р▓Ор▓▓р│Нр▓▓р▓╡р▓ир│Нр▓ир│В р▓др│Лр▓░р▓┐р▓╕р│Б", + "filter_by_category": "р▓╡р▓░р│Нр▓Чр▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░ р▓лр▓┐р▓▓р│Нр▓Яр▓░р│Н р▓ор▓╛р▓бр▓┐", + "mark_all_as_read": "р▓Ор▓▓р│Нр▓▓р▓╡р▓ир│Нр▓ир│В р▓Ур▓жр▓┐ р▓Ор▓Вр▓жр│Б р▓Чр│Бр▓░р│Бр▓др▓┐р▓╕р▓┐", + "reload": "р▓ор▓░р│Бр▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "Notifications": "р▓Ер▓зр▓┐р▓╕р│Вр▓Ър▓ир│Жр▓Чр▓│р│Б", + "no_results_found": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓лр▓▓р▓┐р▓др▓╛р▓Вр▓╢р▓Чр▓│р│Б р▓Хр▓Вр▓бр│Бр▓мр▓Вр▓жр▓┐р▓▓р│Нр▓▓", + "load_more": "р▓Зр▓ир│Нр▓ир▓╖р│Нр▓Яр│Б р▓▓р│Лр▓бр│Н р▓ор▓╛р▓бр▓┐", + "subscription_error": "р▓Ър▓Вр▓жр▓╛р▓жр▓╛р▓░р▓┐р▓Хр│Ж р▓жр│Лр▓╖", + "unsubscribe_failed": "р▓Ер▓ир│НтАМр▓╕р▓мр│НтАМр▓╕р│Нр▓Хр│Нр▓░р│Ир▓мр│Н р▓╡р▓┐р▓лр▓▓р▓╡р▓╛р▓Чр▓┐р▓жр│Ж.", + "unsubscribe": "р▓Ер▓ир│НтАМр▓╕р▓мр│НтАМр▓╕р│Нр▓Хр│Нр▓░р│Ир▓мр│Н р▓ор▓╛р▓бр▓┐", + "escape": "р▓Ор▓╕р│Нр▓Хр│Зр▓кр│Н", + "loading": "р▓▓р│Лр▓бр│Н р▓Жр▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж...", + "invalid_asset_id_msg": "р▓Ур▓╣р│Н! р▓ир│Ар▓╡р│Б р▓ир▓ор│Вр▓жр▓┐р▓╕р▓┐р▓ж р▓╕р│Нр▓╡р▓др│Нр▓др│Б р▓Рр▓бр▓┐ р▓ор▓╛р▓ир│Нр▓пр▓╡р▓╛р▓Чр▓┐р▓░р│Бр▓╡р▓Вр▓др│Ж р▓др│Лр▓░р│Бр▓др│Нр▓др▓┐р▓▓р│Нр▓▓.", + "asset_not_found_msg": "р▓Ур▓╣р│Н! р▓ир│Ар▓╡р│Б р▓╣р│Бр▓бр│Бр▓Хр│Бр▓др│Нр▓др▓┐р▓░р│Бр▓╡ р▓╕р│Нр▓╡р▓др│Нр▓др│Б р▓Ер▓╕р│Нр▓др▓┐р▓др│Нр▓╡р▓жр▓▓р│Нр▓▓р▓┐р▓▓р│Нр▓▓. р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓╕р│Нр▓╡р▓др│Нр▓др▓┐р▓и р▓Рр▓бр▓┐р▓пр▓ир│Нр▓ир│Б р▓кр▓░р▓┐р▓╢р│Ар▓▓р▓┐р▓╕р▓┐." +} diff --git a/src/Locale/kn/Resource.json b/src/Locale/kn/Resource.json new file mode 100644 index 00000000000..2ee497ba780 --- /dev/null +++ b/src/Locale/kn/Resource.json @@ -0,0 +1,12 @@ +{ + "create_resource_request": "р▓╕р▓Вр▓кр▓ир│Нр▓ор│Вр▓▓ р▓╡р▓┐р▓ир▓Вр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓░р▓Ър▓┐р▓╕р▓┐", + "contact_person": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓жр▓▓р│Нр▓▓р▓┐р▓░р│Бр▓╡ р▓╕р▓Вр▓кр▓░р│Нр▓Х р▓╡р│Нр▓пр▓Хр│Нр▓др▓┐р▓п р▓╣р│Жр▓╕р▓░р│Б", + "approving_facility": "р▓Ер▓ир│Бр▓ор│Лр▓жр▓┐р▓╕р│Бр▓╡ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓╣р│Жр▓╕р▓░р│Б", + "contact_phone": "р▓╕р▓Вр▓кр▓░р│Нр▓Х р▓╡р│Нр▓пр▓Хр│Нр▓др▓┐ р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "request_title": "р▓╡р▓┐р▓ир▓Вр▓др▓┐ р▓╢р│Ар▓░р│Нр▓╖р▓┐р▓Хр│Ж", + "request_title_placeholder": "р▓ир▓┐р▓ор│Нр▓о р▓╢р│Ар▓░р│Нр▓╖р▓┐р▓Хр│Жр▓пр▓ир│Нр▓ир│Б р▓Зр▓▓р│Нр▓▓р▓┐ р▓Яр│Ир▓кр│Н р▓ор▓╛р▓бр▓┐", + "required_quantity": "р▓Ер▓Чр▓др│Нр▓пр▓╡р▓┐р▓░р│Бр▓╡ р▓кр│Нр▓░р▓ор▓╛р▓г", + "request_description": "р▓╡р▓┐р▓ир▓Вр▓др▓┐р▓п р▓╡р▓┐р▓╡р▓░р▓гр│Ж", + "request_description_placeholder": "р▓ир▓┐р▓ор│Нр▓о р▓╡р▓┐р▓╡р▓░р▓гр│Жр▓пр▓ир│Нр▓ир│Б р▓Зр▓▓р│Нр▓▓р▓┐ р▓Яр│Ир▓кр│Н р▓ор▓╛р▓бр▓┐", + "search_resource": "р▓╣р│Бр▓бр│Бр▓Хр▓╛р▓Я р▓╕р▓Вр▓кр▓ир│Нр▓ор│Вр▓▓" +} diff --git a/src/Locale/kn/Shifting.json b/src/Locale/kn/Shifting.json new file mode 100644 index 00000000000..3458b962f7c --- /dev/null +++ b/src/Locale/kn/Shifting.json @@ -0,0 +1,90 @@ +{ + "emergency": "р▓др│Бр▓░р│Нр▓др│Б р▓кр▓░р▓┐р▓╕р│Нр▓ер▓┐р▓др▓┐", + "up_shift": "р▓Ер▓кр│Н р▓╢р▓┐р▓лр│Нр▓Яр│Н", + "antenatal": "р▓кр│Нр▓░р▓╕р▓╡р▓кр│Вр▓░р│Нр▓╡", + "phone_no": "р▓жр│Вр▓░р▓╡р▓╛р▓гр▓┐ р▓╕р▓Вр▓Цр│Нр▓пр│Ж.", + "patient_name": "р▓░р│Лр▓Чр▓┐р▓п р▓╣р│Жр▓╕р▓░р│Б", + "disease_status": "р▓░р│Лр▓Чр▓ж р▓╕р│Нр▓ер▓┐р▓др▓┐", + "breathlessness_level": "р▓Йр▓╕р▓┐р▓░р▓╛р▓Яр▓ж р▓ор▓Яр│Нр▓Я", + "assigned_facility": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓ир▓┐р▓пр│Лр▓Ьр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "origin_facility": "р▓кр│Нр▓░р▓╕р│Нр▓др│Бр▓д р▓╕р│Мр▓▓р▓нр│Нр▓п", + "shifting_approval_facility": "р▓╢р▓┐р▓лр│Нр▓Яр▓┐р▓Вр▓Чр│Н р▓Ер▓ир│Бр▓ор│Лр▓жр▓ир│Ж р▓╕р│Мр▓▓р▓нр│Нр▓п", + "shifting": "р▓╢р▓┐р▓лр│Нр▓Яр▓┐р▓Вр▓Чр│Н", + "search_patient": "р▓░р│Лр▓Чр▓┐р▓пр▓ир│Нр▓ир│Б р▓╣р│Бр▓бр│Бр▓Хр▓┐", + "list_view": "р▓кр▓Яр│Нр▓Яр▓┐ р▓╡р│Ар▓Хр│Нр▓╖р▓гр│Ж", + "comment_min_length": "р▓Хр▓╛р▓ор│Жр▓Вр▓Яр│Н р▓Хр▓ир▓┐р▓╖р│Нр▓а 1 р▓Ер▓Хр│Нр▓╖р▓░р▓╡р▓ир│Нр▓ир│Б р▓╣р│Кр▓Вр▓жр▓┐р▓░р▓мр│Зр▓Хр│Б", + "comment_added_successfully": "р▓Хр▓╛р▓ор│Жр▓Вр▓Яр│Н р▓Ер▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓╕р│Зр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "post_your_comment": "р▓ир▓┐р▓ор│Нр▓о р▓Хр▓╛р▓ор│Жр▓Вр▓Яр│Н р▓Ер▓ир│Нр▓ир│Б р▓кр│Лр▓╕р│Нр▓Яр│Н р▓ор▓╛р▓бр▓┐", + "shifting_approving_facility": "р▓Ер▓ир│Бр▓ор│Лр▓жр▓┐р▓╕р│Бр▓╡ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓мр▓жр▓▓р▓╛р▓пр▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "is_emergency_case": "р▓др│Бр▓░р│Нр▓др│Б р▓кр│Нр▓░р▓Хр▓░р▓гр▓╡р▓╛р▓Чр▓┐р▓жр│Ж", + "is_upshift_case": "р▓Ер▓кр│Н р▓╢р▓┐р▓лр│Нр▓Яр│Н р▓Хр│Зр▓╕р│Н р▓Жр▓Чр▓┐р▓жр│Ж", + "is_antenatal": "р▓кр│Нр▓░р▓╕р▓╡р▓кр│Вр▓░р│Нр▓╡р▓╡р▓╛р▓Чр▓┐р▓жр│Ж", + "patient_phone_number": "р▓░р│Лр▓Чр▓┐р▓п р▓лр│Лр▓ир│Н р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "created_date": "р▓░р▓Ър▓┐р▓╕р▓┐р▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "modified_date": "р▓ор▓╛р▓░р│Нр▓кр▓бр▓┐р▓╕р▓┐р▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "no_patients_to_show": "р▓др│Лр▓░р▓┐р▓╕р▓▓р│Б р▓░р│Лр▓Чр▓┐р▓Чр▓│р▓┐р▓▓р│Нр▓▓.", + "shifting_status": "р▓╕р│Нр▓ер▓┐р▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓мр▓жр▓▓р▓╛р▓пр▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "transfer_to_receiving_facility": "р▓╕р│Нр▓╡р│Ар▓Хр▓░р▓┐р▓╕р│Бр▓╡ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Хр│Нр▓Хр│Ж р▓╡р▓░р│Нр▓Чр▓╛р▓пр▓┐р▓╕р▓┐", + "confirm_transfer_complete": "р▓╡р▓░р│Нр▓Чр▓╛р▓╡р▓гр│Ж р▓кр│Вр▓░р│Нр▓гр▓Чр│Кр▓Вр▓бр▓┐р▓жр│Ж р▓Ор▓Вр▓жр│Б р▓Цр▓Ър▓┐р▓др▓кр▓бр▓┐р▓╕р▓┐!", + "mark_transfer_complete_confirmation": "р▓И р▓╡р▓░р│Нр▓Чр▓╛р▓╡р▓гр│Ж р▓кр│Вр▓░р│Нр▓гр▓Чр│Кр▓Вр▓бр▓┐р▓жр│Ж р▓Ор▓Вр▓жр│Б р▓Чр│Бр▓░р│Бр▓др▓┐р▓╕р▓▓р│Б р▓ир│Ар▓╡р│Б р▓Цр▓Ър▓┐р▓др▓╡р▓╛р▓Чр▓┐ р▓мр▓пр▓╕р│Бр▓╡р▓┐р▓░р▓╛? р▓ор│Вр▓▓ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р│Б р▓Зр▓ир│Нр▓ир│Б р▓ор│Бр▓Вр▓жр│Ж р▓И р▓░р│Лр▓Чр▓┐р▓Чр│Ж р▓кр│Нр▓░р▓╡р│Зр▓╢р▓╡р▓ир│Нр▓ир│Б р▓╣р│Кр▓Вр▓жр▓┐р▓░р│Бр▓╡р│Бр▓жр▓┐р▓▓р│Нр▓▓", + "board_view": "р▓мр│Лр▓░р│Нр▓бр│Н р▓╡р│Ар▓Хр│Нр▓╖р▓гр│Ж", + "shifting_deleted": "р▓╢р▓┐р▓лр│Нр▓Яр▓┐р▓Вр▓Чр│Н р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓Ер▓│р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж.", + "details_of_shifting_approving_facility": "р▓Ер▓ир│Бр▓ор│Лр▓жр▓┐р▓╕р│Бр▓╡ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓мр▓жр▓▓р▓╛р▓пр▓┐р▓╕р│Бр▓╡ р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "details_of_assigned_facility": "р▓ир▓┐р▓пр│Лр▓Ьр▓┐р▓╕р▓▓р▓╛р▓ж р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "details_of_origin_facility": "р▓ор│Вр▓▓ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "details_of_patient": "р▓░р│Лр▓Чр▓┐р▓п р▓╡р▓┐р▓╡р▓░р▓Чр▓│р│Б", + "record_delete_confirm": "р▓И р▓жр▓╛р▓Цр▓▓р│Жр▓пр▓ир│Нр▓ир│Б р▓Ер▓│р▓┐р▓╕р▓▓р│Б р▓ир│Ар▓╡р│Б р▓Цр▓Ър▓┐р▓др▓╡р▓╛р▓Чр▓┐ р▓мр▓пр▓╕р│Бр▓╡р▓┐р▓░р▓╛?", + "phone_number_at_current_facility": "р▓кр│Нр▓░р▓╕р│Нр▓др│Бр▓д р▓╕р│Мр▓▓р▓нр│Нр▓пр▓жр▓▓р│Нр▓▓р▓┐р▓░р│Бр▓╡ р▓╡р│Нр▓пр▓Хр│Нр▓др▓┐р▓п р▓╕р▓Вр▓кр▓░р│Нр▓Хр▓ж р▓лр│Лр▓ир│Н р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "authorize_shift_delete": "р▓╢р▓┐р▓лр│Нр▓Яр│Н р▓Ер▓│р▓┐р▓╕р│Бр▓╡р▓┐р▓Хр│Жр▓пр▓ир│Нр▓ир│Б р▓Ер▓зр▓┐р▓Хр│Гр▓др▓Чр│Кр▓│р▓┐р▓╕р▓┐", + "delete_record": "р▓жр▓╛р▓Цр▓▓р│Ж р▓Ер▓│р▓┐р▓╕р▓┐", + "severity_of_breathlessness": "р▓Йр▓╕р▓┐р▓░р▓╛р▓Яр▓ж р▓др│Ар▓╡р│Нр▓░р▓др│Ж", + "facility_preference": "р▓╕р│Мр▓▓р▓нр│Нр▓п р▓Жр▓жр│Нр▓пр▓др│Ж", + "vehicle_preference": "р▓╡р▓╛р▓╣р▓и р▓Жр▓жр│Нр▓пр▓др│Ж", + "is_up_shift": "р▓╢р▓┐р▓лр│Нр▓Яр│Н р▓Жр▓Чр▓┐р▓жр│Ж", + "patient_category": "р▓░р│Лр▓Чр▓┐р▓Чр▓│ р▓╡р▓░р│Нр▓Ч", + "ambulance_driver_name": "р▓Жр▓Вр▓мр│Нр▓пр│Бр▓▓р│Жр▓ир│Нр▓╕р│Н р▓Ър▓╛р▓▓р▓Хр▓и р▓╣р│Жр▓╕р▓░р│Б", + "ambulance_phone_number": "р▓Жр▓Вр▓мр│Нр▓пр│Бр▓▓р│Жр▓ир│Нр▓╕р│НтАМр▓и р▓жр│Вр▓░р▓╡р▓╛р▓гр▓┐ р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "ambulance_number": "р▓Жр▓Вр▓мр│Нр▓пр│Бр▓▓р│Жр▓ир│Нр▓╕р│Н р▓ир▓В", + "is_emergency": "р▓др│Бр▓░р│Нр▓др│Б р▓Жр▓Чр▓┐р▓жр│Ж", + "contact_person_at_the_facility": "р▓кр│Нр▓░р▓╕р│Нр▓др│Бр▓д р▓╕р│Мр▓▓р▓нр│Нр▓пр▓жр▓▓р│Нр▓▓р▓┐р▓░р│Бр▓╡ р▓╡р│Нр▓пр▓Хр│Нр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓╕р▓Вр▓кр▓░р│Нр▓Хр▓┐р▓╕р▓┐", + "update_status_details": "р▓╕р│Нр▓ер▓┐р▓др▓┐/р▓╡р▓┐р▓╡р▓░р▓Чр▓│р▓ир│Нр▓ир│Б р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "shifting_details": "р▓╡р▓┐р▓╡р▓░р▓Чр▓│р▓ир│Нр▓ир│Б р▓мр▓жр▓▓р▓╛р▓пр▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж", + "auto_generated_for_care": "р▓Жр▓░р│Ир▓Хр│Жр▓Чр▓╛р▓Чр▓┐ р▓╕р│Нр▓╡р▓пр▓В р▓░р▓Ър▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "approved_by_district_covid_control_room": "р▓Ьр▓┐р▓▓р│Нр▓▓р▓╛ COVID р▓ир▓┐р▓пр▓Вр▓др│Нр▓░р▓г р▓Хр│Кр▓ар▓бр▓┐р▓пр▓┐р▓Вр▓ж р▓Ер▓ир│Бр▓ор│Лр▓жр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "treatment_summary": "р▓Ър▓┐р▓Хр▓┐р▓др│Нр▓╕р│Жр▓п р▓╕р▓╛р▓░р▓╛р▓Вр▓╢", + "reason_for_referral": "р▓Йр▓▓р│Нр▓▓р│Зр▓Цр▓Хр│Нр▓Хр│Ж р▓Хр▓╛р▓░р▓г", + "referred_to": "р▓Йр▓▓р│Нр▓▓р│Зр▓Цр▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "covid_19_cat_gov": "р▓╕р▓░р│Нр▓Хр▓╛р▓░р▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░ р▓Хр│Лр▓╡р▓┐р▓бр│Н_19 р▓Хр│Нр▓▓р▓┐р▓ир▓┐р▓Хр▓▓р│Н р▓╡р▓░р│Нр▓Ч. р▓Хр│Зр▓░р▓│ р▓ор▓╛р▓░р│Нр▓Чр▓╕р│Вр▓Ър▓┐ (A/B/C)", + "district_program_management_supporting_unit": "р▓Ьр▓┐р▓▓р│Нр▓▓р▓╛ р▓Хр▓╛р▓░р│Нр▓пр▓Хр│Нр▓░р▓о р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓гр▓╛ р▓кр│Лр▓╖р▓Х р▓Шр▓Яр▓Х", + "name_of_hospital": "р▓Жр▓╕р│Нр▓кр▓др│Нр▓░р│Жр▓п р▓╣р│Жр▓╕р▓░р│Б", + "passport_number": "р▓кр▓╛р▓╕р│Нр▓кр│Лр▓░р│Нр▓Яр│Н р▓╕р▓Вр▓Цр│Нр▓пр│Ж", + "test_type": "р▓кр▓░р│Ар▓Хр│Нр▓╖р▓╛ р▓кр│Нр▓░р▓Хр▓╛р▓░", + "medical_worker": "р▓╡р│Ир▓жр│Нр▓пр▓Хр│Ар▓п р▓Хр│Жр▓▓р▓╕р▓Чр▓╛р▓░", + "error_deleting_shifting": "р▓╢р▓┐р▓лр│Нр▓Яр▓┐р▓Вр▓Чр│Н р▓░р│Жр▓Хр▓╛р▓░р│Нр▓бр│Н р▓Ер▓ир│Нр▓ир│Б р▓Ер▓│р▓┐р▓╕р│Бр▓╡р▓╛р▓Ч р▓жр│Лр▓╖", + "type_any_extra_comments_here": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓╣р│Жр▓Ър│Нр▓Ър│Бр▓╡р▓░р▓┐ р▓Хр▓╛р▓ор│Жр▓Вр▓Яр│НтАМр▓Чр▓│р▓ир│Нр▓ир│Б р▓Зр▓▓р│Нр▓▓р▓┐ р▓Яр│Ир▓кр│Н р▓ор▓╛р▓бр▓┐", + "type_your_reason_here": "р▓ир▓┐р▓ор│Нр▓о р▓Хр▓╛р▓░р▓гр▓╡р▓ир│Нр▓ир│Б р▓Зр▓▓р│Нр▓▓р▓┐ р▓Яр│Ир▓кр│Н р▓ор▓╛р▓бр▓┐", + "reason_for_shift": "р▓╕р│Нр▓ер▓│р▓╛р▓Вр▓др▓░р▓Хр│Нр▓Хр│Ж р▓Хр▓╛р▓░р▓г", + "preferred_facility_type": "р▓Жр▓жр│Нр▓пр▓др│Жр▓п р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░", + "preferred_vehicle": "р▓Жр▓жр│Нр▓пр▓др│Жр▓п р▓╡р▓╛р▓╣р▓и", + "is_it_upshift": "р▓Зр▓жр│Б р▓ор│Зр▓▓р│Нр▓ор│Бр▓Цр▓╡р▓╛р▓Чр▓┐р▓жр│Жр▓пр│З", + "is_this_an_upshift": "р▓Зр▓жр│Б р▓Йр▓ир│Нр▓ир▓др▓┐р▓пр│З?", + "is_this_an_emergency": "р▓Зр▓жр│Б р▓др│Бр▓░р│Нр▓др│Б р▓кр▓░р▓┐р▓╕р│Нр▓ер▓┐р▓др▓┐р▓пр│З?", + "what_facility_assign_the_patient_to": "р▓░р│Лр▓Чр▓┐р▓пр▓ир│Нр▓ир│Б р▓пр▓╛р▓╡ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Хр│Нр▓Хр│Ж р▓ир▓┐р▓пр│Лр▓Ьр▓┐р▓╕р▓▓р│Б р▓ир│Ар▓╡р│Б р▓мр▓пр▓╕р│Бр▓др│Нр▓др│Ар▓░р▓┐", + "name_of_shifting_approving_facility": "р▓╢р▓┐р▓лр│Нр▓Яр▓┐р▓Вр▓Чр│Н р▓Ер▓ир│Бр▓ор│Лр▓жр▓┐р▓╕р│Бр▓╡ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓╣р│Жр▓╕р▓░р│Б", + "update_shift_request": "р▓╢р▓┐р▓лр│Нр▓Яр│Н р▓╡р▓┐р▓ир▓Вр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐", + "shift_request_updated_successfully": "р▓╢р▓┐р▓лр│Нр▓Яр│Н р▓╡р▓┐р▓ир▓Вр▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓пр▓╢р▓╕р│Нр▓╡р▓┐р▓пр▓╛р▓Чр▓┐ р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓▓р▓╛р▓Чр▓┐р▓жр│Ж", + "please_enter_a_reason_for_the_shift": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓╢р▓┐р▓лр│Нр▓Яр│НтАМр▓Чр│Ж р▓Хр▓╛р▓░р▓гр▓╡р▓ир│Нр▓ир│Б р▓ир▓ор│Вр▓жр▓┐р▓╕р▓┐.", + "please_select_preferred_vehicle_type": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓Жр▓жр│Нр▓пр▓др│Жр▓п р▓╡р▓╛р▓╣р▓ир▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░р▓╡р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "please_select_facility_type": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓╕р│Мр▓▓р▓нр│Нр▓пр▓ж р▓кр│Нр▓░р▓Хр▓╛р▓░р▓╡р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "please_select_breathlessness_level": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓Йр▓╕р▓┐р▓░р▓╛р▓Яр▓ж р▓ор▓Яр│Нр▓Яр▓╡р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "please_select_a_facility": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "please_select_status": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓╕р│Нр▓ер▓┐р▓др▓┐р▓пр▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "please_select_patient_category": "р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓░р│Лр▓Чр▓┐р▓п р▓╡р▓░р│Нр▓Чр▓╡р▓ир│Нр▓ир│Б р▓Жр▓пр│Нр▓Хр│Жр▓ор▓╛р▓бр▓┐", + "shifting_approving_facility_can_not_be_empty": "р▓╢р▓┐р▓лр│Нр▓Яр▓┐р▓Вр▓Чр│Н р▓Ер▓ир│Бр▓ор│Лр▓жр▓┐р▓╕р│Бр▓╡ р▓╕р│Мр▓▓р▓нр│Нр▓п р▓Цр▓╛р▓▓р▓┐ р▓Зр▓░р│Бр▓╡р▓Вр▓др▓┐р▓▓р│Нр▓▓.", + "redirected_to_create_consultation": "р▓Чр▓ор▓ир▓┐р▓╕р▓┐: р▓╕р▓ор▓╛р▓▓р│Лр▓Ър▓ир│Ж р▓лр▓╛р▓░р│Нр▓ор│Н р▓░р▓Ър▓┐р▓╕р▓▓р│Б р▓ир▓┐р▓ор│Нр▓ор▓ир│Нр▓ир│Б р▓ор▓░р│Бр▓ир▓┐р▓░р│Нр▓жр│Зр▓╢р▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓жр│Ж. р▓╡р▓░р│Нр▓Чр▓╛р▓╡р▓гр│Ж р▓кр│Нр▓░р▓Хр│Нр▓░р▓┐р▓пр│Жр▓пр▓ир│Нр▓ир│Б р▓кр│Вр▓░р│Нр▓гр▓Чр│Кр▓│р▓┐р▓╕р▓▓р│Б р▓жр▓пр▓╡р▓┐р▓Яр│Нр▓Яр│Б р▓лр▓╛р▓░р│Нр▓ор│Н р▓Ер▓ир│Нр▓ир│Б р▓кр│Вр▓░р│Нр▓гр▓Чр│Кр▓│р▓┐р▓╕р▓┐", + "mark_this_transfer_as_complete_question": "р▓И р▓╡р▓░р│Нр▓Чр▓╛р▓╡р▓гр│Ж р▓кр│Вр▓░р│Нр▓гр▓Чр│Кр▓Вр▓бр▓┐р▓жр│Ж р▓Ор▓Вр▓жр│Б р▓Чр│Бр▓░р│Бр▓др▓┐р▓╕р▓▓р│Б р▓ир│Ар▓╡р│Б р▓Цр▓Ър▓┐р▓др▓╡р▓╛р▓Чр▓┐ р▓мр▓пр▓╕р│Бр▓╡р▓┐р▓░р▓╛? р▓ор│Вр▓▓ р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р│Б р▓Зр▓ир│Нр▓ир│Б р▓ор│Бр▓Вр▓жр│Ж р▓И р▓░р│Лр▓Чр▓┐р▓Чр│Ж р▓кр│Нр▓░р▓╡р│Зр▓╢р▓╡р▓ир│Нр▓ир│Б р▓╣р│Кр▓Вр▓жр▓┐р▓░р│Бр▓╡р│Бр▓жр▓┐р▓▓р│Нр▓▓", + "transfer_in_progress": "р▓╡р▓░р│Нр▓Чр▓╛р▓╡р▓гр│Ж р▓кр│Нр▓░р▓Чр▓др▓┐р▓пр▓▓р│Нр▓▓р▓┐р▓жр│Ж", + "patient_state": "р▓░р│Лр▓Чр▓┐р▓п р▓╕р│Нр▓ер▓┐р▓др▓┐", + "yet_to_be_decided": "р▓Зр▓ир│Нр▓ир│В р▓ир▓┐р▓░р│Нр▓зр▓░р▓┐р▓╕р▓мр│Зр▓Хр▓┐р▓жр│Ж", + "awaiting_destination_approval": "р▓Чр▓ор│Нр▓пр▓╕р│Нр▓ер▓╛р▓ир▓ж р▓Ер▓ир│Бр▓ор│Лр▓жр▓ир│Жр▓Чр▓╛р▓Чр▓┐ р▓ир▓┐р▓░р│Ар▓Хр│Нр▓╖р▓┐р▓╕р▓▓р▓╛р▓Чр│Бр▓др│Нр▓др▓┐р▓жр│Ж" +} diff --git a/src/Locale/kn/SortOptions.json b/src/Locale/kn/SortOptions.json new file mode 100644 index 00000000000..1fb870664f2 --- /dev/null +++ b/src/Locale/kn/SortOptions.json @@ -0,0 +1,18 @@ +{ + "-created_date": "р▓Зр▓др│Нр▓др│Ар▓Ър▓┐р▓Чр│Ж р▓░р▓Ър▓┐р▓╕р▓┐р▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор│Кр▓жр▓▓р│Б", + "created_date": "р▓ор│Кр▓жр▓▓р│Б р▓░р▓Ър▓┐р▓╕р▓┐р▓ж р▓╣р▓│р│Жр▓п р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "-category_severity": "р▓Ер▓др│Нр▓пр▓зр▓┐р▓Х р▓др│Ар▓╡р│Нр▓░р▓др│Жр▓п р▓╡р▓┐р▓нр▓╛р▓Ч р▓ор│Кр▓жр▓▓р│Б", + "category_severity": "р▓Хр▓бр▓┐р▓ор│Ж р▓др│Ар▓╡р│Нр▓░р▓др│Жр▓п р▓╡р▓░р│Нр▓Ч р▓ор│Кр▓жр▓▓р│Б", + "-modified_date": "р▓ор│Кр▓жр▓▓р│Б р▓Зр▓др│Нр▓др│Ар▓Ър▓┐р▓и р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐р▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х", + "modified_date": "р▓╣р▓│р│Жр▓п р▓ир▓╡р│Ар▓Хр▓░р▓┐р▓╕р▓┐р▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор│Кр▓жр▓▓р│Б", + "facility__name,last_consultation__current_bed__bed__name": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Ж р▓╕р▓Вр▓Цр│Нр▓пр│Ж 1-N", + "facility__name,-last_consultation__current_bed__bed__name": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Ж р▓╕р▓Вр▓Цр│Нр▓пр│Ж N-1", + "-review_time": "р▓Зр▓др│Нр▓др│Ар▓Ър▓┐р▓и р▓╡р▓┐р▓ор▓░р│Нр▓╢р│Ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор│Кр▓жр▓▓р│Б", + "review_time": "р▓╣р▓│р│Жр▓п р▓╡р▓┐р▓ор▓░р│Нр▓╢р│Ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор│Кр▓жр▓▓р│Б", + "taken_at": "р▓╣р▓│р│Жр▓п р▓др│Жр▓Чр│Жр▓ж р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор│Кр▓жр▓▓р│Б", + "-taken_at": "р▓Зр▓др│Нр▓др│Ар▓Ър│Жр▓Чр│Ж р▓др│Жр▓Чр│Жр▓жр│Бр▓Хр│Кр▓Вр▓б р▓жр▓┐р▓ир▓╛р▓Вр▓Х р▓ор│Кр▓жр▓▓р│Б", + "name": "р▓░р│Лр▓Чр▓┐р▓п р▓╣р│Жр▓╕р▓░р│Б AZ", + "-name": "р▓░р│Лр▓Чр▓┐р▓п р▓╣р│Жр▓╕р▓░р│Б ZA", + "bed__name": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Ж р▓╕р▓Вр▓Цр│Нр▓пр│Ж 1-N", + "-bed__name": "р▓╣р▓╛р▓╕р▓┐р▓Чр│Ж р▓╕р▓Вр▓Цр│Нр▓пр│Ж N-1" +} diff --git a/src/Locale/kn/Users.json b/src/Locale/kn/Users.json new file mode 100644 index 00000000000..e6bf7e77cb4 --- /dev/null +++ b/src/Locale/kn/Users.json @@ -0,0 +1,16 @@ +{ + "user_management": "р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░ р▓ир▓┐р▓░р│Нр▓╡р▓╣р▓гр│Ж", + "facilities": "р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Чр▓│р│Б", + "add_new_user": "р▓╣р│Кр▓╕ р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░р▓░р▓ир│Нр▓ир│Б р▓╕р│Зр▓░р▓┐р▓╕р▓┐", + "no_users_found": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░р▓░р│Б р▓Хр▓Вр▓бр│Бр▓мр▓Вр▓жр▓┐р▓▓р│Нр▓▓", + "home_facility": "р▓ор▓ир│Ж р▓╕р│Мр▓▓р▓нр│Нр▓п", + "no_home_facility": "р▓ор▓ир│Ж р▓╕р│Мр▓▓р▓нр│Нр▓п р▓ир│Ар▓бр▓┐р▓▓р│Нр▓▓", + "clear_home_facility": "р▓ор▓ир│Ж р▓╕р│Мр▓▓р▓нр│Нр▓пр▓╡р▓ир│Нр▓ир│Б р▓др│Жр▓░р▓╡р│Бр▓Чр│Кр▓│р▓┐р▓╕р▓┐", + "linked_facilities": "р▓▓р▓┐р▓Вр▓Хр│Нр▓бр│Н р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Чр▓│р│Б", + "no_linked_facilities": "р▓пр▓╛р▓╡р│Бр▓жр│З р▓▓р▓┐р▓Вр▓Хр│Н р▓ор▓╛р▓бр▓▓р▓╛р▓ж р▓╕р│Мр▓▓р▓нр│Нр▓пр▓Чр▓│р▓┐р▓▓р│Нр▓▓", + "average_weekly_working_hours": "р▓╕р▓░р▓╛р▓╕р▓░р▓┐ р▓╡р▓╛р▓░р▓ж р▓Хр│Жр▓▓р▓╕р▓ж р▓╕р▓ор▓п", + "set_average_weekly_working_hours_for": "р▓╕р▓░р▓╛р▓╕р▓░р▓┐ р▓╕р▓╛р▓кр│Нр▓др▓╛р▓╣р▓┐р▓Х р▓Хр│Жр▓▓р▓╕р▓ж р▓╕р▓ор▓пр▓╡р▓ир│Нр▓ир│Б р▓╣р│Кр▓Вр▓жр▓┐р▓╕р▓┐", + "search_by_username": "р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░ р▓╣р│Жр▓╕р▓░р▓┐р▓и р▓ор│Вр▓▓р▓Х р▓╣р│Бр▓бр│Бр▓Хр▓┐", + "last_online": "р▓Хр│Кр▓ир│Жр▓п р▓Жр▓ир│НтАМр▓▓р│Ир▓ир│Н", + "total_users": "р▓Тр▓Яр│Нр▓Яр│Б р▓мр▓│р▓Хр│Жр▓жр▓╛р▓░р▓░р│Б" +} diff --git a/src/Locale/ml/Asset.json b/src/Locale/ml/Asset.json new file mode 100644 index 00000000000..c0d08b2dc3e --- /dev/null +++ b/src/Locale/ml/Asset.json @@ -0,0 +1,20 @@ +{ + "create_asset": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "edit_history": "р┤Ър┤░р┤┐р┤др╡Нр┤░р┤В р┤др┤┐р┤░р╡Бр┤др╡Нр┤др╡Бр┤Х", + "update_record_for_asset": "р┤Ер┤╕р┤▒р╡Нр┤▒р┤┐р╡╗р╡Нр┤▒р╡Ж р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "edited_on": "р┤Ор┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤др┤др╡Н", + "edited_by": "р┤Ор┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤др┤др╡Н", + "serviced_on": "р┤╕р╡╝р┤╡р╡Ар┤╕р╡Н р┤Ър╡Жр┤пр╡Нр┤др╡Б", + "notes": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛", + "back": "р┤др┤┐р┤░р┤┐р┤Хр╡Ж", + "close": "р┤Ер┤Яр┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤Х", + "update_asset_service_record": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤╕р╡╝р┤╡р╡Ар┤╕р╡Н р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "eg_details_on_functionality_service_etc": "р┤Йр┤жр┤╛. р┤кр╡Нр┤░р┤╡р╡╝р┤др╡Нр┤др┤ир┤В, р┤╕р╡Зр┤╡р┤ир┤В р┤ор╡Бр┤др┤▓р┤╛р┤пр┤╡р┤пр╡Жр┤Хр╡Нр┤Хр╡Бр┤▒р┤┐р┤Ър╡Нр┤Ър╡Бр┤│р╡Нр┤│ р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛.", + "updating": "р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир╡Б", + "update": "р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н", + "are_you_still_watching": "р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤Зр┤кр╡Нр┤кр╡Лр┤┤р╡Бр┤В р┤Хр┤╛р┤гр╡Бр┤ир╡Нр┤ир╡Бр┤гр╡Нр┤Яр╡Л?", + "stream_stop_due_to_inativity": "р┤╕р┤Ьр╡Ар┤╡р┤ор┤▓р╡Нр┤▓р┤╛р┤др╡Нр┤др┤др┤┐р┤ир┤╛р╡╜ р┤др┤др╡Нр┤╕р┤ор┤п р┤лр╡Ар┤бр╡Н р┤╕р╡Нр┤Яр╡Нр┤░р╡Ар┤ор┤┐р┤Вр┤Чр╡Н р┤ир┤┐р╡╝р┤др╡Нр┤др╡Бр┤В", + "stream_stopped_due_to_inativity": "р┤╕р┤Ьр╡Ар┤╡р┤ор┤▓р╡Нр┤▓р┤╛р┤др╡Нр┤др┤др┤┐р┤ир┤╛р╡╜ р┤др┤др╡Нр┤╕р┤ор┤п р┤лр╡Ар┤бр╡Н р┤╕р╡Нр┤Яр╡Нр┤░р╡Ар┤ор┤┐р┤Вр┤Чр╡Н р┤ир┤┐р╡╝р┤др╡Нр┤др┤┐", + "continue_watching": "р┤Хр┤╛р┤гр╡Бр┤ир╡Нр┤ир┤др╡Н р┤др╡Бр┤Яр┤░р╡Бр┤Х", + "resume": "р┤кр╡Бр┤ир┤░р┤╛р┤░р┤Вр┤нр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х" +} \ No newline at end of file diff --git a/src/Locale/ml/Auth.json b/src/Locale/ml/Auth.json index 605f013b49a..8b282f87aed 100644 --- a/src/Locale/ml/Auth.json +++ b/src/Locale/ml/Auth.json @@ -11,7 +11,6 @@ "gender": "р┤▓р┤┐р┤Вр┤Чр┤нр╡Зр┤жр┤В", "age": "р┤╡р┤пр┤╕р╡Нр┤╕р╡Н", "login": "р┤▓р╡Лр┤Чр┤┐р╡╗ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х/р┤Ер┤Хр┤др╡Нр┤др╡Б р┤кр╡Нр┤░р┤╡р╡Зр┤╢р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", - "field_required": "р┤И р┤Шр┤Яр┤Хр┤В р┤Йр┤▒р┤кр╡Нр┤кр┤╛р┤пр╡Бр┤В р┤кр╡Вр┤░р┤┐р┤кр╡Нр┤кр┤┐р┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤Х", "password_mismatch": "р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Бр┤В р┤Йр┤▒р┤кр╡Нр┤кр┤╛р┤Хр╡Нр┤Хр┤┐р┤п р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Бр┤В р┤╕р┤ор┤╛р┤ир┤ор┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤гр┤В", "enter_valid_age": "р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤кр╡Нр┤░р┤╛р┤ор┤╛р┤гр┤┐р┤Хр┤ор┤╛р┤п р┤╡р┤пр┤╕р╡Нр┤╕р╡Н р┤ир╡╜р┤Хр╡Бр┤Х", "invalid_username": "р┤Ер┤ир┤┐р┤╡р┤╛р┤░р╡Нр┤пр┤В. 150 р┤Ър┤┐р┤╣р╡Нр┤ир┤ор╡Л, р┤Ер┤Хр╡Нр┤╖р┤░р┤ор╡Л, р┤╕р┤Вр┤Цр╡Нр┤пр┤пр╡Зр┤╛ р┤Ер┤др┤┐р╡╜ р┤Хр╡Бр┤▒р┤╡р╡Л. р┤Ер┤Хр╡Нр┤╖р┤░р┤Щр╡Нр┤Щр╡╛, р┤Ер┤Хр╡Нр┤Хр┤Щр╡Нр┤Щр╡╛, @/./+/-/_ р┤ор┤╛р┤др╡Нр┤░р┤В р┤Йр┤кр┤пр╡Лр┤Чр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х.", @@ -21,8 +20,6 @@ "register_hospital": "р┤Жр┤╢р╡Бр┤кр┤др╡Нр┤░р┤┐ р┤░р┤Ьр┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р╡╝ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", "register_page_title": "р┤Жр┤╢р╡Бр┤кр┤др╡Нр┤░р┤┐ р┤Ер┤бр╡Нр┤ор┤┐р┤ир┤┐р┤╕р╡Нр┤Яр╡Нр┤░р╡Зр┤▒р╡Нр┤▒р┤▒р┤╛р┤пр┤┐ р┤░р┤Ьр┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р╡╝ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", "auth_login_title": "р┤Ер┤Вр┤Чр╡Ар┤Хр╡Гр┤д р┤▓р╡Лр┤Чр┤┐р╡╗", - "back_to_login": "р┤▓р╡Лр┤Чр┤┐р╡╗ р┤кр╡Зр┤Ьр┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤Яр┤Щр╡Нр┤Щр╡Бр┤Х", - "available_in": "р┤▓р┤нр╡Нр┤пр┤ор┤╛р┤п р┤нр┤╛р┤╖р┤Хр╡╛", "forget_password": "р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤ор┤▒р┤ир╡Нр┤ир╡Л?", "forget_password_instruction": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤пр╡Вр┤╕р╡╝р┤ир╡Жр┤пр┤┐р┤В/р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др╡Гр┤ир┤╛р┤ор┤В р┤ир╡╜р┤Хр╡Бр┤Х. р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤кр╡Бр┤и: р┤╕р┤Ьр╡Нр┤Ьр┤ор┤╛р┤Хр╡Нр┤Хр┤╛р╡╗ р┤Юр┤Щр╡Нр┤Щр╡╛ р┤Тр┤░р╡Б р┤▓р┤┐р┤Щр╡Нр┤Хр╡Н р┤Ер┤пр┤пр╡НтАМр┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤В.", "send_reset_link": "р┤кр╡Бр┤и: р┤╕р┤Ьр╡Нр┤Ьр╡Ар┤Хр┤░р┤г р┤▓р┤┐р┤Щр╡Нр┤Хр╡Н р┤Ер┤пр┤пр╡НтАМр┤Хр╡Нр┤Хр╡Бр┤Х", @@ -31,5 +28,12 @@ "password_reset_success": "р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤кр╡Бр┤и: р┤╕р┤Ьр╡Нр┤Ьр╡Ар┤Хр┤░р┤гр┤В р┤╡р┤┐р┤Ьр┤пр┤┐р┤Ър╡Нр┤Ър╡Б", "password_reset_failure": "р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤кр╡Бр┤и: р┤╕р┤Ьр╡Нр┤Ьр╡Ар┤Хр┤░р┤гр┤В р┤кр┤░р┤╛р┤Ьр┤пр┤кр╡Нр┤кр╡Жр┤Яр╡Нр┤Яр╡Б", "reset_password": "р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤кр╡Бр┤и: р┤╕р┤Ьр╡Нр┤Ьр┤ор┤╛р┤Хр╡Нр┤Хр╡Бр┤Х", - "sign_out": "р┤▓р╡Лр┤Чр╡Н р┤Фр┤Яр╡Нр┤Яр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х/р┤кр╡Бр┤▒р┤др╡Нр┤др┤┐р┤▒р┤Щр╡Нр┤Щр╡Бр┤Х" + "available_in": "р┤▓р┤нр╡Нр┤пр┤ор┤╛р┤п р┤нр┤╛р┤╖р┤Хр╡╛", + "sign_out": "р┤▓р╡Лр┤Чр╡Н р┤Фр┤Яр╡Нр┤Яр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х/р┤кр╡Бр┤▒р┤др╡Нр┤др┤┐р┤▒р┤Щр╡Нр┤Щр╡Бр┤Х", + "back_to_login": "р┤▓р╡Лр┤Чр┤┐р╡╗ р┤кр╡Зр┤Ьр┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤Яр┤Щр╡Нр┤Щр╡Бр┤Х", + "min_password_len_8": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤Хр╡Бр┤▒р┤Юр╡Нр┤Ю р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤жр╡Ир╡╝р┤Шр╡Нр┤пр┤В 8", + "req_atleast_one_digit": "р┤Хр╡Бр┤▒р┤Юр╡Нр┤Юр┤др╡Н р┤Тр┤░р╡Б р┤Ер┤Хр╡Нр┤Хр┤ор╡Жр┤Щр╡Нр┤Хр┤┐р┤▓р╡Бр┤В р┤Жр┤╡р┤╢р╡Нр┤пр┤ор┤╛р┤гр╡Н", + "req_atleast_one_uppercase": "р┤Хр╡Бр┤▒р┤Юр╡Нр┤Юр┤др╡Н р┤Тр┤░р╡Б р┤╡р┤▓р┤┐р┤п р┤Хр╡Зр┤╕р╡Жр┤Щр╡Нр┤Хр┤┐р┤▓р╡Бр┤В р┤Жр┤╡р┤╢р╡Нр┤пр┤ор┤╛р┤гр╡Н", + "req_atleast_one_lowercase": "р┤Хр╡Бр┤▒р┤Юр╡Нр┤Юр┤др╡Н р┤Тр┤░р╡Б р┤Ър╡Жр┤▒р┤┐р┤п р┤Ер┤Хр╡Нр┤╖р┤░р┤ор╡Жр┤Щр╡Нр┤Хр┤┐р┤▓р╡Бр┤В р┤Жр┤╡р┤╢р╡Нр┤пр┤ор┤╛р┤гр╡Н", + "req_atleast_one_symbol": "р┤Хр╡Бр┤▒р┤Юр╡Нр┤Юр┤др╡Н р┤Тр┤░р╡Б р┤Ър┤┐р┤╣р╡Нр┤ир┤ор╡Жр┤Щр╡Нр┤Хр┤┐р┤▓р╡Бр┤В р┤Жр┤╡р┤╢р╡Нр┤пр┤ор┤╛р┤гр╡Н" } diff --git a/src/Locale/ml/Bed.json b/src/Locale/ml/Bed.json new file mode 100644 index 00000000000..62f41278a60 --- /dev/null +++ b/src/Locale/ml/Bed.json @@ -0,0 +1,13 @@ +{ + "bed_search_placeholder": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Хр┤Хр┤│р╡Бр┤Яр╡Ж р┤кр╡Зр┤░р╡Н р┤Йр┤кр┤пр╡Лр┤Чр┤┐р┤Ър╡Нр┤Ър╡Н р┤др┤┐р┤░р┤пр╡Бр┤Х", + "BED_WITH_OXYGEN_SUPPORT": "р┤Ур┤Хр╡Нр┤╕р┤┐р┤Ьр╡╗ р┤кр┤┐р┤ир╡Нр┤др╡Бр┤гр┤пр╡Бр┤│р╡Нр┤│ р┤Хр┤┐р┤Яр┤Хр╡Нр┤Х", + "REGULAR": "р┤кр┤др┤┐р┤╡р╡Н", + "ICU": "р┤Р.р┤╕р┤┐.р┤пр╡Б", + "ISOLATION": "р┤Рр┤╕р╡Кр┤▓р╡Зр┤╖р╡╗", + "add_beds": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Х(р┤Хр╡╛) р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "update_bed": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Х р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "bed_type": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Хр┤пр╡Бр┤Яр╡Ж р┤др┤░р┤В", + "make_multiple_beds_label": "р┤ир┤┐р┤Щр╡Нр┤Щр╡╛р┤Хр╡Нр┤Хр╡Н р┤Тр┤ир╡Нр┤ир┤┐р┤▓р┤зр┤┐р┤Хр┤В р┤Хр┤┐р┤Яр┤Хр╡Нр┤Хр┤Хр╡╛ р┤ир┤┐р╡╝р┤ор╡Нр┤ор┤┐р┤Хр╡Нр┤Хр┤гр╡Л?", + "number_of_beds": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Хр┤Хр┤│р╡Бр┤Яр╡Ж р┤Ор┤гр╡Нр┤гр┤В", + "number_of_beds_out_of_range_error": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Хр┤Хр┤│р╡Бр┤Яр╡Ж р┤Ор┤гр╡Нр┤гр┤В 100-р╡╜ р┤Хр╡Вр┤Яр┤░р╡Бр┤др╡Н" +} diff --git a/src/Locale/ml/Common.json b/src/Locale/ml/Common.json index 3ab266fdb63..7e77900e2cb 100644 --- a/src/Locale/ml/Common.json +++ b/src/Locale/ml/Common.json @@ -1,17 +1,207 @@ { "goal": "р┤бр┤┐р┤Ьр┤┐р┤▒р╡Нр┤▒р╡╜ р┤Яр╡Вр┤│р╡Бр┤Хр╡╛ р┤Йр┤кр┤пр╡Лр┤Чр┤┐р┤Ър╡Нр┤Ър╡Н р┤кр╡Кр┤др╡Бр┤Ьр┤ир┤╛р┤░р╡Лр┤Чр╡Нр┤п р┤╕р╡Зр┤╡р┤ир┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Чр╡Бр┤гр┤ир┤┐р┤▓р┤╡р┤╛р┤░р┤╡р╡Бр┤В р┤кр╡Нр┤░р┤╡р╡Зр┤╢р┤ир┤Хр╡Нр┤╖р┤ор┤др┤пр╡Бр┤В р┤др╡Бр┤Яр╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤пр┤┐ р┤ор╡Жр┤Ър╡Нр┤Ър┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤др╡Нр┤др╡Бр┤Хр┤пр┤╛р┤гр╡Н р┤Юр┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤▓р┤Хр╡Нр┤╖р╡Нр┤пр┤В.", "something_wrong": "р┤Ор┤ир╡Нр┤др╡Л р┤Хр╡Бр┤┤р┤кр╡Нр┤кр┤В р┤╕р┤Вр┤нр┤╡р┤┐р┤Ър╡Нр┤Ър╡Б! р┤Хр╡Бр┤▒р┤Ър╡Нр┤Ър╡Б р┤Хр┤┤р┤┐р┤Юр╡Нр┤Юр╡Б р┤╡р╡Ар┤гр╡Нр┤Яр╡Бр┤В р┤╢р╡Нр┤░р┤ор┤┐р┤Хр╡Нр┤Хр╡Бр┤Х!", + "try_again_later": "р┤кр┤┐р┤ир╡Нр┤ир╡Ар┤Яр╡Н р┤╡р╡Ар┤гр╡Нр┤Яр╡Бр┤В р┤╢р╡Нр┤░р┤ор┤┐р┤Хр╡Нр┤Хр╡Бр┤Х!", "contribute_github": "GitHubр╡╜ р┤╕р┤Вр┤нр┤╛р┤╡р┤и р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", "footer_body": "р┤Хр╡Зр┤░р┤│ р┤╕р╡╝р┤Хр╡Нр┤Хр┤╛р┤▒р┤┐р┤ир╡НтАНр┤▒р╡Ж р┤кр╡Вр╡╝р┤гр╡Нр┤гр┤ор┤╛р┤п р┤зр┤╛р┤░р┤гр┤пр╡Лр┤Яр╡Бр┤В р┤кр┤┐р┤ир╡Нр┤др╡Бр┤гр┤пр╡Лр┤Яр╡Бр┤В р┤Хр╡Вр┤Яр┤┐ р┤╕р╡╝р┤Хр╡Нр┤Хр┤╛р╡╝ р┤╢р╡Нр┤░р┤ор┤Щр╡Нр┤Щр┤│р╡Ж р┤кр┤┐р┤ир╡Нр┤др╡Бр┤гр┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др┤┐р┤ир┤╛р┤пр┤┐ р┤ир╡Вр┤др┤и р┤кр╡Нр┤░р┤╡р╡╝р┤др╡Нр┤др┤Хр┤░р╡Бр┤Яр╡Жр┤пр╡Бр┤В р┤╕р┤ир╡Нр┤ир┤жр╡Нр┤зр┤кр╡Нр┤░р┤╡р╡╝р┤др╡Нр┤др┤Хр┤░р╡Бр┤Яр╡Жр┤пр╡Бр┤В р┤Тр┤░р╡Б р┤ор╡╛р┤Яр╡Нр┤Яр┤┐-р┤бр┤┐р┤╕р┤┐р┤кр╡Нр┤▓р┤┐р┤ир┤▒р┤┐ р┤Яр╡Ар┤В р┤░р╡Вр┤кр┤Хр╡╜р┤кр╡Нр┤кр┤и р┤Ър╡Жр┤пр╡Нр┤д р┤ор┤╛р┤др╡Гр┤Хр┤╛р┤кр┤░р┤ор┤╛р┤п р┤Тр┤░р╡Б р┤Ур┤кр╡Нр┤кр╡║ р┤╕р╡Лр┤┤р╡НтАМр┤╕р╡Н р┤кр┤мр╡Нр┤▓р┤┐р┤Хр╡Н р┤пр╡Вр┤Яр╡Нр┤Яр┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐р┤пр┤╛р┤гр╡Н р┤Хр╡Кр┤▒р╡Лр┤г р┤╕р╡Зр┤лр╡Н р┤ир╡Жр┤▒р╡Нр┤▒р╡НтАМр┤╡р╡╝р┤Хр╡Нр┤Хр╡Н.", "reset": "р┤кр╡Бр┤и: р┤╕р┤Ьр╡Нр┤Ьр┤ор┤╛р┤Хр╡Нр┤Хр╡Бр┤Х ", + "download": "р┤бр╡Чр╡║р┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", "downloads": "р┤бр╡Чр╡║р┤▓р╡Лр┤бр╡Бр┤Хр╡╛", + "downloading": "р┤бр╡Чр╡║р┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир╡Б", + "generating": "р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир╡Б", + "send_email": "р┤Зр┤ор╡Жр┤пр┤┐р╡╜ р┤Ер┤пр┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤Х", + "email_address": "р┤Зр┤ор╡Жр┤пр┤┐р╡╜ р┤╡р┤┐р┤▓р┤╛р┤╕р┤В", + "email_success": "р┤Юр┤Щр╡Нр┤Щр╡╛ р┤Йр┤Яр╡╗ р┤Тр┤░р╡Б р┤Зр┤ор╡Жр┤пр┤┐р╡╜ р┤Ер┤пр┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤В. р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Зр╡╗р┤мр╡Лр┤Хр╡Нр┤╕р╡Н р┤кр┤░р┤┐р┤╢р╡Лр┤зр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х.", + "disclaimer": "р┤ир┤┐р┤░р┤╛р┤Хр┤░р┤гр┤В", + "category": "р┤╡р┤┐р┤нр┤╛р┤Чр┤В", + "sub_category": "р┤Йр┤кр┤╡р┤┐р┤нр┤╛р┤Чр┤В", "download_type": "р┤бр╡Чр╡║р┤▓р╡Лр┤бр╡Бр┤Хр┤│р╡Бр┤Яр╡Ж р┤др┤░р┤В", - "State": "р┤╕р┤Вр┤╕р╡Нр┤ер┤╛р┤ир┤В", - "District": "р┤Ьр┤┐р┤▓р╡Нр┤▓", - "Local Body": "р┤др┤жр╡Нр┤жр╡Зр┤╢р┤╕р╡Нр┤ер┤╛р┤кр┤ир┤В", - "Location": "р┤╕р╡Нр┤ер┤╛р┤ир┤В", - "Ward": "р┤╡р┤╛р┤░р╡НтАНр┤бр╡НтАМ", + "state": "р┤╕р┤Вр┤╕р╡Нр┤ер┤╛р┤ир┤В", + "district": "р┤Ьр┤┐р┤▓р╡Нр┤▓", + "location": "р┤╕р╡Нр┤ер┤╛р┤ир┤В", + "ward": "р┤╡р┤╛р╡╝р┤бр╡Н", "Notice Board": "р┤ир╡Лр┤Яр╡Нр┤Яр╡Ар┤╕р╡Н р┤мр╡Лр╡╝р┤бр╡Н", "Assets": "р┤Жр┤╕р╡Нр┤др┤┐р┤Хр╡╛", - "Notifications": "р┤Ер┤▒р┤┐р┤пр┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛" + "Notifications": "р┤Ер┤▒р┤┐р┤пр┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛", + "Submit": "р┤╕р┤ор╡╝р┤кр╡Нр┤кр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "Cancel": "р┤▒р┤жр╡Нр┤жр┤╛р┤Хр╡Нр┤Хр╡Бр┤Х", + "back": "р┤др┤┐р┤░р┤┐р┤Хр╡Ж", + "powered_by": "р┤кр╡Нр┤░р┤╛р┤пр╡Зр┤╛р┤Ьр┤Хр╡╝", + "care": "р┤Хр╡Жр┤пр╡╝", + "something_went_wrong": "р┤Ор┤ир╡Нр┤др╡Л р┤Хр╡Бр┤┤р┤кр╡Нр┤кр┤В р┤╕р┤Вр┤нр┤╡р┤┐р┤Ър╡Нр┤Ър╡Б..!", + "stop": "р┤ир┤┐р╡╝р┤др╡Нр┤др╡Бр┤Х", + "record": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Ур┤бр┤┐р┤пр╡Л", + "recording": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр┤┐р┤Вр┤Чр╡Н", + "yes": "р┤Ер┤др╡Ж", + "no": "р┤Зр┤▓р╡Нр┤▓", + "status": "р┤ир┤┐р┤▓", + "created": "р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Ър╡Нр┤Ър┤др╡Н", + "modified": "р┤кр┤░р┤┐р┤╖р╡Нр┤Хр┤░р┤┐р┤Ър╡Нр┤Ър╡Б", + "updated": "р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤др╡Б", + "update": "р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н", + "configure": "р┤Хр╡Лр╡║р┤лр┤┐р┤Чр╡╝ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "assigned_to": "р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ир┤┐р┤пр╡Лр┤Чр┤┐р┤Ър╡Нр┤Ър╡Б", + "cancel": "р┤▒р┤жр╡Нр┤жр┤╛р┤Хр╡Нр┤Хр╡Бр┤Х", + "clear": "р┤Хр╡Нр┤▓р┤┐р┤пр╡╝", + "apply": "р┤Ер┤кр╡Зр┤Хр╡Нр┤╖р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "filter_by": "р┤Зр┤др┤ир╡Бр┤╕р┤░р┤┐р┤Ър╡Нр┤Ър╡Н р┤лр┤┐р╡╜р┤Яр╡Нр┤Яр╡╝ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "filter": "р┤лр┤┐р╡╜р┤Яр╡Нр┤Яр╡╝ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "settings_and_filters": "р┤Хр╡Нр┤░р┤ор╡Ар┤Хр┤░р┤гр┤Щр╡Нр┤Щр┤│р╡Бр┤В р┤лр┤┐р╡╜р┤Яр╡Нр┤Яр┤▒р╡Бр┤Хр┤│р╡Бр┤В", + "ordering": "р┤Ур╡╝р┤бр╡╝ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир╡Б", + "phone_number": "р┤лр╡Зр┤╛р╡║ р┤ир┤ор╡Нр┤кр╡╝", + "international_mobile": "р┤Ер┤ир╡Нр┤др┤╛р┤░р┤╛р┤╖р╡Нр┤Яр╡Нр┤░ р┤ор╡Кр┤мр╡Ир╡╜", + "indian_mobile": "р┤Зр┤ир╡Нр┤др╡Нр┤пр╡╗ р┤ор╡Кр┤мр╡Ир╡╜", + "mobile": "р┤ор╡Кр┤мр╡Ир╡╜", + "landline": "р┤Зр┤ир╡Нр┤др╡Нр┤пр╡╗ р┤▓р┤╛р╡╗р┤бр╡НтАМр┤▓р╡Ир╡╗", + "support": "р┤кр┤┐р┤ир╡Нр┤др╡Бр┤г", + "emergency_contact_number": "р┤Ор┤ор╡╝р┤Ьр╡╗р┤╕р┤┐ р┤Хр╡Лр╡║р┤Яр┤╛р┤Хр╡Нр┤▒р╡Нр┤▒р╡Н р┤ир┤ор╡Нр┤кр╡╝", + "last_modified": "р┤Ер┤╡р┤╕р┤╛р┤ир┤В р┤кр┤░р┤┐р┤╖р╡Нр┤Хр┤░р┤┐р┤Ър╡Нр┤Ър┤др╡Н", + "patient_address": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤╡р┤┐р┤▓р┤╛р┤╕р┤В", + "all_details": "р┤Ор┤▓р╡Нр┤▓р┤╛ р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр┤│р╡Бр┤В", + "confirm": "р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "refresh_list": "р┤▓р┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р╡Н р┤кр╡Бр┤др╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "last_edited": "р┤Ер┤╡р┤╕р┤╛р┤ир┤В р┤Ор┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤др┤др╡Н", + "audit_log": "р┤Ур┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤▓р╡Лр┤Чр╡Н", + "comments": "р┤Ер┤нр┤┐р┤кр╡Нр┤░р┤╛р┤пр┤Щр╡Нр┤Щр╡╛", + "contact_person_number": "р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр╡Зр┤гр╡Нр┤Я р┤╡р╡Нр┤пр┤Хр╡Нр┤др┤┐р┤пр╡Бр┤Яр╡Ж р┤ир┤ор╡Нр┤кр╡╝", + "referral_letter": "р┤▒р┤лр┤▒р╡╜ р┤Хр┤др╡Нр┤др╡Н", + "close": "р┤Ер┤Яр┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤Х", + "print": "р┤Ер┤Ър╡Нр┤Ър┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "print_referral_letter": "р┤▒р┤лр┤▒р╡╜ р┤Хр┤др╡Нр┤др╡Н р┤Ер┤Ър╡Нр┤Ър┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "date_of_positive_covid_19_swab": "р┤кр╡Лр┤╕р┤┐р┤▒р╡Нр┤▒р╡Ар┤╡р╡Н р┤Хр╡Лр┤╡р┤┐р┤бр╡Н 19 р┤╕р╡Нр┤╡р┤╛р┤мр╡Н р┤др╡Ар┤пр┤др┤┐", + "patient_no": "OP/IP р┤ир┤ор╡Нр┤кр╡╝", + "date_of_admission": "р┤кр╡Нр┤░р┤╡р╡Зр┤╢р┤и р┤др╡Ар┤пр┤др┤┐", + "india_1": "р┤Зр┤ир╡Нр┤др╡Нр┤п", + "unique_id": "р┤Ер┤жр╡Нр┤╡р┤┐р┤др╡Ар┤п р┤Рр┤бр┤┐", + "date_and_time": "р┤др╡Ар┤пр┤др┤┐р┤пр╡Бр┤В р┤╕р┤ор┤пр┤╡р╡Бр┤В", + "facility_type": "р┤╕р╡Чр┤Хр┤░р╡Нр┤п р┤др┤░р┤В", + "number_of_chronic_diseased_dependents": "р┤╡р┤┐р┤Яр╡Нр┤Яр╡Бр┤ор┤╛р┤▒р┤╛р┤др╡Нр┤д р┤░р╡Лр┤Чр┤Щр╡Нр┤Щр┤│р╡Ж р┤Жр┤╢р╡Нр┤░р┤пр┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤╡р┤░р╡Бр┤Яр╡Ж р┤Ор┤гр╡Нр┤гр┤В", + "number_of_aged_dependents_above_60": "р┤кр╡Нр┤░р┤╛р┤пр┤ор┤╛р┤п р┤Жр┤╢р╡Нр┤░р┤┐р┤др┤░р╡Бр┤Яр╡Ж р┤Ор┤гр╡Нр┤гр┤В (60-р╡╜ р┤Хр╡Вр┤Яр╡Бр┤др╡╜)", + "ongoing_medications": "р┤ир┤Яр┤ир╡Нр┤ир╡Бр┤Хр╡Кр┤гр╡Нр┤Яр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤и р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Бр┤Хр╡╛", + "countries_travelled": "р┤░р┤╛р┤Ьр╡Нр┤пр┤Щр╡Нр┤Щр╡╛ р┤╕р┤Юр╡Нр┤Ър┤░р┤┐р┤Ър╡Нр┤Ър╡Б", + "travel_within_last_28_days": "р┤Жр┤нр╡Нр┤пр┤ир╡Нр┤др┤░/р┤Ер┤ир╡Нр┤др┤╛р┤░р┤╛р┤╖р╡Нр┤Яр╡Нр┤░ р┤пр┤╛р┤др╡Нр┤░ (р┤Хр┤┤р┤┐р┤Юр╡Нр┤Ю 28 р┤жр┤┐р┤╡р┤╕р┤др╡Нр┤др┤┐р┤ир╡Бр┤│р╡Нр┤│р┤┐р╡╜)", + "estimated_contact_date": "р┤Хр┤гр┤Хр╡Нр┤Хр┤╛р┤Хр╡Нр┤Хр┤┐р┤п р┤Хр╡Лр╡║р┤Яр┤╛р┤Хр╡Нр┤▒р╡Нр┤▒р╡Н р┤др╡Ар┤пр┤др┤┐", + "blood_group": "р┤░р┤Хр╡Нр┤д р┤Чр╡Нр┤░р╡Вр┤кр╡Нр┤кр╡Н", + "date_of_birth": "р┤Ьр┤ир┤ир┤др╡Нр┤др╡Ар┤пр┤др┤┐", + "date_of_test": "р┤Яр╡Жр┤╕р╡Нр┤▒р╡Нр┤▒р╡Н р┤др╡Ар┤пр┤др┤┐", + "srf_id": "SRF р┤Рр┤бр┤┐", + "contact_number": "р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр╡Зр┤гр╡Нр┤Я р┤ир┤ор╡Нр┤кр╡╝", + "diagnosis": "р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤В", + "copied_to_clipboard": "р┤Хр╡Нр┤▓р┤┐р┤кр╡Нр┤кр╡Нр┤мр╡Лр╡╝р┤бр┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤кр┤Хр╡╝р┤др╡Нр┤др┤┐", + "age": "р┤кр╡Нр┤░р┤╛р┤пр┤В", + "is": "р┤Жр┤гр╡Н", + "reason": "р┤Хр┤╛р┤░р┤гр┤В", + "description": "р┤╡р┤┐р┤╡р┤░р┤гр┤В", + "name": "р┤кр╡Зр┤░р╡Н", + "address": "р┤╡р┤┐р┤▓р┤╛р┤╕р┤В", + "phone": "р┤лр╡Лр╡║", + "nationality": "р┤жр╡Зр┤╢р╡Ар┤пр┤д", + "allergies": "р┤Ер┤▓р╡╝р┤Ьр┤┐р┤Хр╡╛", + "type_your_comment": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Ер┤нр┤┐р┤кр╡Нр┤░р┤╛р┤пр┤В р┤Яр╡Ир┤кр╡Нр┤кр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "any_other_comments": "р┤ор┤▒р╡Нр┤▒р╡Зр┤др╡Жр┤Щр╡Нр┤Хр┤┐р┤▓р╡Бр┤В р┤Ер┤нр┤┐р┤кр╡Нр┤░р┤╛р┤пр┤Щр╡Нр┤Щр╡╛", + "loading": "р┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир╡Б", + "facility": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В", + "local_body": "р┤др┤жр╡Нр┤жр╡Зр┤╢ р┤╕р╡Нр┤ер┤╛р┤кр┤ир┤В", + "filters": "р┤лр┤┐р╡╜р┤Яр╡Нр┤Яр┤▒р╡Бр┤Хр╡╛", + "unknown": "р┤Ер┤Ьр╡Нр┤Юр┤╛р┤др┤В", + "active": "р┤╕р┤Ьр╡Ар┤╡р┤ор┤╛р┤гр╡Н", + "completed": "р┤кр╡Вр╡╝р┤др╡Нр┤др┤┐р┤пр┤╛р┤Хр╡Нр┤Хр┤┐", + "on": "р┤Ур╡║", + "open": "р┤др╡Бр┤▒р┤Хр╡Нр┤Хр╡Бр┤Х", + "features": "р┤лр╡Ар┤Ър╡Нр┤Ър┤▒р╡Бр┤Хр╡╛", + "pincode": "р┤кр┤┐р╡╗р┤Хр╡Лр┤бр╡Н", + "required": "р┤Жр┤╡р┤╢р╡Нр┤пр┤ор┤╛р┤гр╡Н", + "field_required": "р┤И р┤лр╡Ар╡╜р┤бр╡Н р┤кр╡Вр┤░р┤┐р┤кр╡Нр┤кр┤┐р┤Хр╡Нр┤Хр╡Зр┤гр╡Нр┤Яр┤др╡Бр┤гр╡Нр┤Яр╡Н", + "litres": "р┤▓р┤┐р┤▒р╡Нр┤▒р╡╝", + "litres_per_day": "р┤▓р┤┐р┤▒р╡Нр┤▒р╡╝ / р┤жр┤┐р┤╡р┤╕р┤В", + "invalid_pincode": "р┤кр┤┐р╡╗р┤Хр╡Лр┤бр╡Н р┤Ер┤╕р┤╛р┤зр╡Бр┤╡р┤╛р┤гр╡Н", + "invalid_phone_number": "р┤Ер┤╕р┤╛р┤зр╡Бр┤╡р┤╛р┤п р┤лр╡Лр╡║ р┤ир┤ор╡Нр┤кр╡╝", + "latitude_invalid": "р┤Ер┤Хр╡Нр┤╖р┤╛р┤Вр┤╢р┤В -90 р┤ир╡Бр┤В 90 р┤ир╡Бр┤В р┤Зр┤Яр┤пр┤┐р┤▓р┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤гр┤В", + "longitude_invalid": "р┤░р╡Зр┤Цр┤╛р┤Вр┤╢р┤В -180 р┤ир╡Бр┤В 180 р┤ир╡Бр┤В р┤Зр┤Яр┤пр┤┐р┤▓р┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤гр┤В", + "save": "р┤╕р┤Вр┤░р┤Хр╡Нр┤╖р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "continue": "р┤др╡Бр┤Яр┤░р╡Бр┤Х", + "save_and_continue": "р┤╕р┤Вр┤░р┤Хр╡Нр┤╖р┤┐р┤Ър╡Нр┤Ър╡Н р┤др╡Бр┤Яр┤░р╡Бр┤Х", + "select": "р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "lsg": "Lsg", + "delete": "р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр╡Бр┤Х", + "remove": "р┤ир╡Ар┤Хр╡Нр┤Хр┤В р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "max_size_for_image_uploaded_should_be": "р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡НтАМр┤д р┤Ър┤┐р┤др╡Нр┤░р┤др╡Нр┤др┤┐р┤ир╡Бр┤│р╡Нр┤│ р┤кр┤░р┤ор┤╛р┤╡р┤зр┤┐ р┤╡р┤▓р╡Бр┤кр╡Нр┤кр┤В р┤Жр┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤гр┤В", + "allowed_formats_are": "р┤Ер┤ир╡Бр┤╡р┤жр┤ир╡Ар┤пр┤ор┤╛р┤п р┤лр╡Лр╡╝р┤ор┤╛р┤▒р╡Нр┤▒р╡Бр┤Хр┤│р┤╛р┤гр╡Н", + "recommended_aspect_ratio_for": "р┤Зр┤др┤┐р┤ир┤╛р┤пр┤┐ р┤╢р╡Бр┤кр┤╛р╡╝р┤╢ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤и р┤╡р╡Ар┤Хр╡Нр┤╖р┤г р┤Ер┤ир╡Бр┤кр┤╛р┤др┤В", + "drag_drop_image_to_upload": "р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр┤╛р╡╗ р┤Ър┤┐р┤др╡Нр┤░р┤В р┤╡р┤▓р┤┐р┤Ър╡Нр┤Ър┤┐р┤Яр╡Бр┤Х", + "upload_an_image": "р┤Тр┤░р╡Б р┤Ър┤┐р┤др╡Нр┤░р┤В р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "upload": "р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "uploading": "р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир╡Б", + "switch": "р┤ор┤╛р┤▒р╡Бр┤Х", + "capture": "р┤Хр╡Нр┤пр┤╛р┤кр╡Нр┤Ър╡╝", + "retake": "р┤╡р╡Ар┤гр╡Нр┤Яр╡Бр┤В р┤Ор┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "submit": "р┤╕р┤ор╡╝р┤кр╡Нр┤кр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "camera": "р┤Хр╡Нр┤пр┤╛р┤ор┤▒", + "submitting": "р┤╕р┤ор╡╝р┤кр╡Нр┤кр┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир╡Б", + "view_details": "р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛ р┤Хр┤╛р┤гр╡Бр┤Х", + "type_to_search": "р┤др┤┐р┤░р┤пр┤╛р╡╗ р┤Яр╡Ир┤кр╡Нр┤кр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "show_all": "р┤Ор┤▓р╡Нр┤▓р┤╛р┤В р┤Хр┤╛р┤гр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "hide": "р┤ор┤▒р┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤Х", + "select_skills": "р┤Хр╡Бр┤▒р┤Ър╡Нр┤Ър╡Н р┤Хр┤┤р┤┐р┤╡р╡Бр┤Хр╡╛ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤др╡Нр┤др╡Н р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "contact_your_admin_to_add_skills": "р┤Хр┤┤р┤┐р┤╡р╡Бр┤Хр╡╛ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр┤╛р╡╗ р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Ер┤бр╡НтАМр┤ор┤┐р┤ир╡Ж р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤Х", + "add": "р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "add_as": "р┤Жр┤пр┤┐ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "sort_by": "р┤Зр┤Щр╡Нр┤Щр┤ир╡Ж р┤Ер┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "none": "р┤Тр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "choose_file": "р┤Йр┤кр┤Хр┤░р┤гр┤др╡Нр┤др┤┐р╡╜ р┤ир┤┐р┤ир╡Нр┤ир╡Н р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "open_camera": "р┤Хр╡Нр┤пр┤╛р┤ор┤▒ р┤др╡Бр┤▒р┤Хр╡Нр┤Хр╡Бр┤Х", + "file_preview": "р┤лр┤пр╡╜ р┤кр╡Нр┤░р┤┐р┤╡р╡Нр┤пр╡В", + "file_preview_not_supported": "р┤И р┤лр┤пр╡╜ р┤кр╡Нр┤░р┤┐р┤╡р╡Нр┤пр╡В р┤Ър╡Жр┤пр╡Нр┤пр┤╛р╡╗ р┤Хр┤┤р┤┐р┤пр┤┐р┤▓р╡Нр┤▓. р┤Зр┤др╡Н р┤бр╡Чр╡║р┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр┤╛р╡╗ р┤╢р╡Нр┤░р┤ор┤┐р┤Хр╡Нр┤Хр╡Бр┤Х.", + "view_faciliy": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤Хр┤╛р┤гр╡Бр┤Х", + "view_patients": "р┤░р╡Лр┤Чр┤┐р┤Хр┤│р╡Ж р┤Хр┤╛р┤гр╡Бр┤Х", + "frequency": "р┤Жр┤╡р╡Гр┤др╡Нр┤др┤┐", + "days": "р┤жр┤┐р┤╡р┤╕р┤Щр╡Нр┤Щр╡╛", + "never": "р┤Тр┤░р┤┐р┤Хр╡Нр┤Хр┤▓р╡Бр┤В", + "notes": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛", + "add_notes": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "notes_placeholder": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛ р┤Яр╡Ир┤кр╡Нр┤кр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "optional": "р┤Ур┤кр╡Нр┤╖р┤гр╡╜", + "discontinue": "р┤ир┤┐р╡╝р┤др╡Нр┤др╡Бр┤Х", + "discontinued": "р┤ир┤┐р╡╝р┤др╡Нр┤др┤▓р┤╛р┤Хр╡Нр┤Хр┤┐", + "not_specified": "р┤╡р╡Нр┤пр┤Хр╡Нр┤др┤ор┤╛р┤Хр╡Нр┤Хр┤┐р┤пр┤┐р┤Яр╡Нр┤Яр┤┐р┤▓р╡Нр┤▓", + "all_changes_have_been_saved": "р┤Ор┤▓р╡Нр┤▓р┤╛ р┤ор┤╛р┤▒р╡Нр┤▒р┤Щр╡Нр┤Щр┤│р╡Бр┤В р┤╕р┤Вр┤░р┤Хр╡Нр┤╖р┤┐р┤Ър╡Нр┤Ър╡Б", + "no_data_found": "р┤╡р┤┐р┤╡р┤░р┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "edit": "р┤Ор┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "clear_selection": "р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤кр╡Нр┤кр╡Н р┤ор┤╛р┤пр╡НтАМр┤Хр╡Нр┤Хр╡Бр┤Х", + "select_date": "р┤др╡Ар┤пр┤др┤┐ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "DD/MM/YYYY": "DD/MM/YYYY", + "clear_all_filters": "р┤Ор┤▓р╡Нр┤▓р┤╛ р┤лр┤┐р╡╜р┤Яр╡Нр┤Яр┤▒р╡Бр┤Хр┤│р╡Бр┤В р┤ор┤╛р┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤Х", + "summary": "р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В", + "report": "р┤▒р┤┐р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "treating_doctor": "р┤Ър┤┐р┤Хр┤┐р┤др╡Нр┤╕р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤и р┤бр╡Лр┤Хр╡Нр┤Яр╡╝", + "ration_card__NO_CARD": "р┤ир╡Лр╡║-р┤Хр┤╛р╡╝р┤бр╡Н р┤╣р╡Лр╡╛р┤бр╡╝", + "ration_card__BPL": "р┤мр┤┐.р┤кр┤┐.р┤Ор╡╜", + "ration_card__APL": "р┤О.р┤кр┤┐.р┤Ор╡╜", + "empty_date_time": "--:-- --; ------------", + "caution": "р┤Ьр┤╛р┤Чр╡Нр┤░р┤д", + "feed_optimal_experience_for_phones": "р┤Тр┤кр╡Нр┤▒р╡Нр┤▒р┤┐р┤ор╡╜ р┤Хр┤╛р┤гр╡╜ р┤Ер┤ир╡Бр┤нр┤╡р┤др╡Нр┤др┤┐р┤ир┤╛р┤пр┤┐, р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Йр┤кр┤Хр┤░р┤гр┤В р┤др┤┐р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др╡Н р┤кр┤░р┤┐р┤Чр┤гр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х.", + "feed_optimal_experience_for_apple_phones": "р┤Тр┤кр╡Нр┤▒р╡Нр┤▒р┤┐р┤ор╡╜ р┤Хр┤╛р┤гр╡╜ р┤Ер┤ир╡Бр┤нр┤╡р┤др╡Нр┤др┤┐р┤ир┤╛р┤пр┤┐, р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Йр┤кр┤Хр┤░р┤гр┤В р┤др┤┐р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др╡Н р┤кр┤░р┤┐р┤Чр┤гр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х. р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Йр┤кр┤Хр┤░р┤г р┤Хр╡Нр┤░р┤ор╡Ар┤Хр┤░р┤гр┤Щр╡Нр┤Щр┤│р┤┐р╡╜ р┤╕р╡Нр┤╡р┤пр┤ор╡Зр┤╡ р┤др┤┐р┤░р┤┐р┤пр╡Бр┤ир╡Нр┤ир┤др╡Н р┤кр╡Нр┤░р┤╡р╡╝р┤др╡Нр┤др┤ир┤Хр╡Нр┤╖р┤ор┤ор┤╛р┤гр╡Жр┤ир╡Нр┤ир╡Н р┤Йр┤▒р┤кр╡Нр┤кр┤╛р┤Хр╡Нр┤Хр╡Бр┤Х.", + "action_irreversible": "р┤И р┤кр╡Нр┤░р┤╡р╡╝р┤др╡Нр┤др┤ир┤В р┤ор┤╛р┤▒р╡Нр┤▒р┤╛р┤ир┤╛р┤╡р┤╛р┤др╡Нр┤др┤др┤╛р┤гр╡Н", + "GENDER__1": "р┤кр╡Бр┤░р╡Бр┤╖р╡╗", + "GENDER__2": "р┤╕р╡Нр┤др╡Нр┤░р╡А", + "GENDER__3": "р┤ир╡Лр╡║-р┤мр╡Ир┤ир┤▒р┤┐", + "normal": "р┤╕р┤╛р┤зр┤╛р┤░р┤г", + "done": "р┤Ър╡Жр┤пр╡Нр┤др╡Б", + "view": "р┤Хр┤╛р┤гр╡Бр┤Х", + "rename": "р┤кр╡Зр┤░р╡Бр┤ор┤╛р┤▒р╡Нр┤▒р╡Бр┤Х", + "more_info": "р┤Хр╡Вр┤Яр╡Бр┤др╡╜ р┤╡р┤┐р┤╡р┤░р┤Щр╡Нр┤Щр╡╛", + "archive": "р┤Жр╡╝р┤Хр╡Нр┤Хр╡Ир┤╡р╡Н", + "discard": "р┤ир┤┐р┤░р┤╕р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "live": "р┤др┤др╡Нр┤╕р┤ор┤пр┤В", + "discharged": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤Ър╡Жр┤пр╡Нр┤др╡Б", + "archived": "р┤Жр╡╝р┤Хр╡Нр┤Хр╡Ир┤╡р╡Н р┤Ър╡Жр┤пр╡Нр┤др╡Б", + "no_changes_made": "р┤ор┤╛р┤▒р╡Нр┤▒р┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤╡р┤░р╡Бр┤др╡Нр┤др┤┐р┤пр┤┐р┤Яр╡Нр┤Яр┤┐р┤▓р╡Нр┤▓", + "user_deleted_successfuly": "р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др┤╛р┤╡р╡Н р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр┤┐", + "users": "р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др┤╛р┤Хр╡Нр┤Хр╡╛", + "are_you_sure_want_to_delete": "{{name}}р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр┤гр┤ор╡Жр┤ир╡Нр┤ир╡Н р┤др╡Ар╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤гр╡Л?", + "oxygen_information": "р┤Ур┤Хр╡Нр┤╕р┤┐р┤Ьр╡╗ р┤╡р┤┐р┤╡р┤░р┤Щр╡Нр┤Щр╡╛", + "deleted_successfully": "{{name}} р┤╡р┤┐р┤Ьр┤пр┤Хр┤░р┤ор┤╛р┤пр┤┐ р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр┤┐", + "delete_item": "{{name}}р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр╡Бр┤Х", + "unsupported_browser": "р┤кр┤┐р┤ир╡Нр┤др╡Бр┤гр┤пр╡НтАМр┤Хр╡Нр┤Хр┤╛р┤др╡Нр┤д р┤мр╡Нр┤░р╡Чр┤╕р╡╝", + "unsupported_browser_description": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤мр╡Нр┤░р╡Чр┤╕р╡╝ ({{name}} р┤кр┤др┤┐р┤кр╡Нр┤кр╡Н {{version}}) р┤кр┤┐р┤ир╡Нр┤др╡Бр┤гр┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤┐р┤▓р╡Нр┤▓. р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр╡Бр┤др┤┐р┤п р┤кр┤др┤┐р┤кр╡Нр┤кр┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤мр╡Нр┤░р╡Чр┤╕р╡╝ р┤Ер┤кр╡НтАМр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х р┤Ер┤▓р╡Нр┤▓р╡Жр┤Щр╡Нр┤Хр┤┐р╡╜ р┤ор┤┐р┤Хр┤Ър╡Нр┤Ъ р┤Ер┤ир╡Бр┤нр┤╡р┤др╡Нр┤др┤┐р┤ир┤╛р┤пр┤┐ р┤кр┤┐р┤ир╡Нр┤др╡Бр┤гр┤пр╡НтАМр┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤и р┤мр╡Нр┤░р╡Чр┤╕р┤▒р┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤╛р┤▒р╡Бр┤Х." } \ No newline at end of file diff --git a/src/Locale/ml/Consultation.json b/src/Locale/ml/Consultation.json new file mode 100644 index 00000000000..38e5de06d37 --- /dev/null +++ b/src/Locale/ml/Consultation.json @@ -0,0 +1,59 @@ +{ + "no_consultation_updates": "р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р╡╗ р┤Ер┤кр╡НтАМр┤бр╡Зр┤▒р╡Нр┤▒р╡Бр┤Хр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "consultation_updates": "р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р╡╗ р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Бр┤Хр╡╛", + "update_log": "р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤▓р╡Лр┤Чр╡Н", + "record_updates": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Бр┤Хр╡╛", + "log_lab_results": "р┤▓р╡Лр┤Чр╡Н р┤▓р┤╛р┤мр╡Н р┤лр┤▓р┤Щр╡Нр┤Щр╡╛", + "no_log_update_delta": "р┤ор╡Бр┤ор╡Нр┤кр┤др╡Нр┤др╡Ж р┤▓р╡Лр┤Чр╡Н р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤ор╡Бр┤др╡╜ р┤ор┤╛р┤▒р╡Нр┤▒р┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "virtual_nursing_assistant": "р┤╡р╡Жр╡╝р┤Ър╡Нр┤╡р╡╜ р┤ир┤┤р╡Нр┤╕р┤┐р┤Вр┤Чр╡Н р┤Ер┤╕р┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р╡╗р╡Нр┤▒р╡Н", + "discharge": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н", + "discharge_summary": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В", + "discharge_from_care": "CARE-р╡╜ р┤ир┤┐р┤ир╡Нр┤ир╡Бр┤│р╡Нр┤│ р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н", + "generating_discharge_summary": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир╡Б", + "discharge_summary_not_ready": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В р┤Зр┤др╡Бр┤╡р┤░р╡Ж р┤др┤пр╡Нр┤пр┤╛р┤▒р┤╛р┤пр┤┐р┤Яр╡Нр┤Яр┤┐р┤▓р╡Нр┤▓.", + "download_discharge_summary": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В р┤бр╡Чр╡║р┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "email_discharge_summary_description": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В р┤▓р┤нр┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др┤┐р┤ир╡Н р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤╕р┤╛р┤зр╡Бр┤╡р┤╛р┤п р┤Зр┤ор╡Жр┤пр┤┐р╡╜ р┤╡р┤┐р┤▓р┤╛р┤╕р┤В р┤ир╡╜р┤Хр╡Бр┤Х", + "generated_summary_caution": "р┤Хр╡Жр┤пр╡╝ р┤╕р┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р┤др╡Нр┤др┤┐р╡╜ р┤Хр╡Нр┤пр┤╛р┤кр╡НтАМр┤Ър╡╝ р┤Ър╡Жр┤пр╡НтАМр┤д р┤╡р┤┐р┤╡р┤░р┤Щр╡Нр┤Щр╡╛ р┤Йр┤кр┤пр╡Лр┤Чр┤┐р┤Ър╡Нр┤Ър╡Н р┤Хр┤ор╡Нр┤кр╡Нр┤пр╡Вр┤Яр╡Нр┤Яр╡╝ р┤╕р╡Гр┤╖р╡НтАМр┤Яр┤┐р┤Ър╡Нр┤Ъ р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤ор┤╛р┤гр┤┐р┤др╡Н.", + "NORMAL": "р┤╕р┤Вр┤Хр╡Нр┤╖р┤┐р┤кр╡Нр┤д р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н", + "VENTILATOR": "р┤╡р┤┐р┤╢р┤жр┤ор┤╛р┤п р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н", + "DOCTORS_LOG": "р┤кр╡Бр┤░р╡Лр┤Чр┤др┤┐ р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр╡Н", + "AUTOMATED": "р┤Ур┤Яр╡Нр┤Яр╡Лр┤ор╡Зр┤▒р╡Нр┤▒р┤бр╡Н", + "TELEMEDICINE": "р┤Яр╡Жр┤▓р┤┐р┤ор╡Жр┤бр┤┐р┤╕р┤┐р╡╗", + "investigations": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤гр┤Щр╡Нр┤Щр╡╛", + "search_investigation_placeholder": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤гр┤╡р╡Бр┤В р┤Чр╡Нр┤░р╡Вр┤кр╡Нр┤кр╡Бр┤Хр┤│р╡Бр┤В", + "save_investigation": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤гр┤В р┤╕р┤Вр┤░р┤Хр╡Нр┤╖р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "investigation_reports": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤г р┤▒р┤┐р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Бр┤Хр╡╛", + "no_investigation": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤г р┤▒р┤┐р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Бр┤Хр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "investigations_suggested": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤гр┤Щр╡Нр┤Щр╡╛ р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤┐р┤Ър╡Нр┤Ър╡Б", + "to_be_conducted": "р┤ир┤Яр┤др╡Нр┤др╡Зр┤гр╡Нр┤Яр┤др╡Н", + "log_report": "р┤▓р╡Лр┤Чр╡Н р┤▒р┤┐р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Н", + "no_investigation_suggestions": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤г р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "select_investigation": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤гр┤Щр╡Нр┤Щр╡╛ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х (р┤Ор┤▓р╡Нр┤▓р┤╛ р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤гр┤Щр╡Нр┤Щр┤│р╡Бр┤В р┤╕р╡Нр┤ер┤┐р┤░р┤╕р╡Нр┤ер┤┐р┤др┤┐р┤пр┤╛р┤пр┤┐ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤В)", + "select_investigations": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤гр┤Щр╡Нр┤Щр╡╛ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "get_tests": "р┤Яр╡Жр┤╕р╡Нр┤▒р╡Нр┤▒р╡Бр┤Хр╡╛ р┤ир╡Зр┤Яр╡Бр┤Х", + "select_investigation_groups": "р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤г р┤╕р┤Вр┤Шр┤Щр╡Нр┤Щр╡╛ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "select_groups": "р┤Чр╡Нр┤░р╡Вр┤кр╡Нр┤кр╡Бр┤Хр╡╛ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "generate_report": "р┤▒р┤┐р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Н р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "prev_sessions": "р┤ор╡Бр╡╗ р┤╕р╡Жр┤╖р┤ир╡Бр┤Хр╡╛", + "next_sessions": "р┤Ер┤Яр╡Бр┤др╡Нр┤д р┤╕р╡Жр┤╖р┤ир╡Бр┤Хр╡╛", + "no_changes": "р┤ор┤╛р┤▒р╡Нр┤▒р┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "back_to_consultation": "р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р┤ир┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤Яр┤Щр╡Нр┤Щр╡Бр┤Х", + "no_treating_physicians_available": "р┤И р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤ир╡Н р┤╣р╡Лр┤В р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐ р┤бр╡Лр┤Хр╡Нр┤Яр╡╝р┤ор┤╛р┤░р┤┐р┤▓р╡Нр┤▓. р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Ер┤бр╡НтАМр┤ор┤┐р┤ир╡Ж р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤Х.", + "encounter_suggestion_edit_disallowed": "р┤Ор┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р┤ир┤┐р╡╜ р┤И р┤Ур┤кр╡Нр┤╖р┤ир┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤╛р┤▒р┤╛р╡╗ р┤Ер┤ир╡Бр┤╡р┤╛р┤жр┤ор┤┐р┤▓р╡Нр┤▓", + "encounter_suggestion__A": "р┤кр╡Нр┤░р┤╡р╡Зр┤╢р┤ир┤В", + "encounter_suggestion__DC": "р┤бр╡Кр┤ор┤┐р┤╕р┤┐р┤▓р┤┐р┤пр┤▒р┤┐ р┤Хр╡Жр┤пр╡╝", + "encounter_suggestion__OP": "р┤Фр┤Яр╡Нр┤Яр╡Н р┤кр╡Зр┤╖р╡Нр┤пр╡╗р╡Нр┤▒р╡Н р┤╕р┤ир╡Нр┤жр╡╝р┤╢р┤ир┤В", + "encounter_suggestion__DD": "р┤Хр╡Вр┤Яр┤┐р┤пр┤╛р┤▓р╡Лр┤Ър┤и", + "encounter_suggestion__HI": "р┤Хр╡Вр┤Яр┤┐р┤пр┤╛р┤▓р╡Лр┤Ър┤и", + "encounter_suggestion__R": "р┤Хр╡Вр┤Яр┤┐р┤пр┤╛р┤▓р╡Лр┤Ър┤и", + "encounter_date_field_label__A": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Бр┤│р╡Нр┤│ р┤кр╡Нр┤░р┤╡р╡Зр┤╢р┤и р┤др╡Ар┤пр┤др┤┐р┤пр╡Бр┤В р┤╕р┤ор┤пр┤╡р╡Бр┤В", + "encounter_date_field_label__DC": "р┤бр╡Кр┤ор┤┐р┤╕р┤┐р┤▓р┤┐р┤пр┤▒р┤┐ р┤Хр╡Жр┤пр╡╝ р┤Жр┤░р┤Вр┤нр┤┐р┤Ър╡Нр┤Ъ р┤др╡Ар┤пр┤др┤┐р┤пр╡Бр┤В р┤╕р┤ор┤пр┤╡р╡Бр┤В", + "encounter_date_field_label__OP": "р┤Фр┤Яр╡Нр┤Яр╡Н-р┤кр╡Зр┤╖р╡Нр┤пр╡╗р╡Нр┤▒р╡Н р┤╕р┤ир╡Нр┤жр╡╝р┤╢р┤и р┤др╡Ар┤пр┤др┤┐р┤пр╡Бр┤В р┤╕р┤ор┤пр┤╡р╡Бр┤В", + "encounter_date_field_label__DD": "р┤Хр╡Вр┤Яр┤┐р┤пр┤╛р┤▓р╡Лр┤Ър┤ир┤пр╡Бр┤Яр╡Ж р┤др╡Ар┤пр┤др┤┐р┤пр╡Бр┤В р┤╕р┤ор┤пр┤╡р╡Бр┤В", + "encounter_date_field_label__HI": "р┤Хр╡Вр┤Яр┤┐р┤пр┤╛р┤▓р╡Лр┤Ър┤ир┤пр╡Бр┤Яр╡Ж р┤др╡Ар┤пр┤др┤┐р┤пр╡Бр┤В р┤╕р┤ор┤пр┤╡р╡Бр┤В", + "encounter_date_field_label__R": "р┤Хр╡Вр┤Яр┤┐р┤пр┤╛р┤▓р╡Лр┤Ър┤ир┤пр╡Бр┤Яр╡Ж р┤др╡Ар┤пр┤др┤┐р┤пр╡Бр┤В р┤╕р┤ор┤пр┤╡р╡Бр┤В", + "back_dated_encounter_date_caution": "р┤Зр┤др┤┐р┤ир┤╛р┤пр┤┐ р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤Тр┤░р╡Б р┤Пр┤▒р╡Нр┤▒р╡Бр┤ор╡Бр┤Яр╡Нр┤Яр╡╜ р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Хр┤пр┤╛р┤гр╡Н", + "encounter_duration_confirmation": "р┤И р┤Пр┤▒р╡Нр┤▒р╡Бр┤ор╡Бр┤Яр╡Нр┤Яр┤▓р┤┐р╡╗р╡Нр┤▒р╡Ж р┤жр╡Ир╡╝р┤Шр╡Нр┤пр┤В р┤Зр┤др┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤В", + "consultation_notes": "р┤кр╡Кр┤др╡Б р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤Щр╡Нр┤Щр╡╛ (р┤Йр┤кр┤жр╡Зр┤╢р┤В)", + "procedure_suggestions": "р┤ир┤Яр┤кр┤Яр┤┐р┤Хр╡Нр┤░р┤о р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤Щр╡Нр┤Щр╡╛" +} diff --git a/src/Locale/ml/CoverImageEdit.json b/src/Locale/ml/CoverImageEdit.json new file mode 100644 index 00000000000..d945f055061 --- /dev/null +++ b/src/Locale/ml/CoverImageEdit.json @@ -0,0 +1,5 @@ +{ + "edit_cover_photo": "р┤ор╡Бр┤Цр┤Ър┤┐р┤др╡Нр┤░р┤В р┤Ор┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "no_cover_photo_uploaded_for_this_facility": "р┤И р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤ир┤╛р┤пр┤┐ р┤Хр┤╡р╡╝ р┤лр╡Лр┤Яр╡Нр┤Яр╡Л р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡НтАМр┤др┤┐р┤Яр╡Нр┤Яр┤┐р┤▓р╡Нр┤▓", + "capture_cover_photo": "р┤ор╡Бр┤Цр┤Ър┤┐р┤др╡Нр┤░р┤В р┤Ор┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х" +} diff --git a/src/Locale/ml/Diagnosis.json b/src/Locale/ml/Diagnosis.json new file mode 100644 index 00000000000..dedaaf7709b --- /dev/null +++ b/src/Locale/ml/Diagnosis.json @@ -0,0 +1,21 @@ +{ + "diagnosis": "р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤В", + "diagnoses": "р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤Щр╡Нр┤Щр╡╛", + "diagnosis_already_added": "р┤И р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤В р┤Зр┤др┤┐р┤ир┤Хр┤В р┤Ър╡Зр╡╝р┤др╡Нр┤др┤┐р┤Яр╡Нр┤Яр╡Бр┤гр╡Нр┤Яр╡Н", + "principal": "р┤кр╡Нр┤░р┤┐р╡╗р┤╕р┤┐р┤кр╡Нр┤кр╡╜", + "principal_diagnosis": "р┤кр╡Нр┤░р┤зр┤╛р┤и р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤В", + "unconfirmed": "р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Ър╡Нр┤Ър┤┐р┤Яр╡Нр┤Яр┤┐р┤▓р╡Нр┤▓", + "provisional": "р┤др┤╛р╡╜р┤Хр╡Нр┤Хр┤╛р┤▓р┤┐р┤Хр┤В", + "differential": "р┤бр┤┐р┤лр┤▒р╡╗р┤╖р╡Нр┤пр╡╜", + "confirmed": "р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Ър╡Нр┤Ър╡Б", + "refuted": "р┤ир┤┐р┤╖р╡Зр┤зр┤┐р┤Ър╡Нр┤Ър╡Б", + "entered-in-error": "р┤др╡Жр┤▒р╡Нр┤▒р┤╛р┤пр┤┐ р┤ир╡╜р┤Хр┤┐", + "help_unconfirmed": "р┤Зр┤др╡Н р┤Тр┤░р╡Б р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Ър╡Нр┤Ъ р┤Ер┤╡р┤╕р╡Нр┤ер┤пр┤╛р┤пр┤┐ р┤Хр┤гр┤Хр╡Нр┤Хр┤╛р┤Хр╡Нр┤Хр┤╛р╡╗ р┤ор┤др┤┐р┤пр┤╛р┤п р┤бр┤пр┤Чр╡Нр┤ир╡Лр┤╕р╡Нр┤▒р╡Нр┤▒р┤┐р┤Хр╡Н р┤Хр╡Вр┤Яр┤╛р┤др╡Ж/р┤Ер┤▓р╡Нр┤▓р╡Жр┤Щр╡Нр┤Хр┤┐р╡╜ р┤Хр╡Нр┤▓р┤┐р┤ир┤┐р┤Хр╡Нр┤Хр╡╜ р┤др╡Жр┤│р┤┐р┤╡р╡Бр┤Хр╡╛ р┤Зр┤▓р╡Нр┤▓.", + "help_provisional": "р┤Зр┤др╡Кр┤░р╡Б р┤др┤╛р╡╜р┤Хр╡Нр┤Хр┤╛р┤▓р┤┐р┤Х р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤ор┤╛р┤гр╡Н - р┤Зр┤кр╡Нр┤кр╡Лр┤┤р╡Бр┤В р┤кр┤░р┤┐р┤Чр┤гр┤ир┤пр┤┐р┤▓р┤┐р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤и р┤Тр┤░р╡Б р┤╕р╡Нр┤ер┤╛р┤ир┤╛р╡╝р┤др╡Нр┤ер┤┐.", + "help_differential": "р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр╡Нр┤гр┤п р┤кр╡Нр┤░р┤Хр╡Нр┤░р┤┐р┤пр┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤В р┤кр╡Нр┤░р┤╛р┤ер┤ор┤┐р┤Х р┤Ър┤┐р┤Хр┤┐р┤др╡Нр┤╕р┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤В р┤Хр╡Вр┤Яр╡Бр┤др╡╜ р┤ор┤╛р╡╝р┤Чр╡Нр┤Чр┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤В р┤ир╡╜р┤Хр╡Бр┤ир╡Нр┤ир┤др┤┐р┤ир╡Н р┤╕р┤╛р┤зр╡Нр┤пр┤др┤пр╡Бр┤│р╡Нр┤│ (р┤╕р┤╛р┤зр┤╛р┤░р┤гр┤пр┤╛р┤пр┤┐ р┤кр┤░р┤╕р╡Нр┤кр┤░р┤╡р┤┐р┤░р╡Бр┤жр╡Нр┤зр┤ор┤╛р┤п) р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤Щр╡Нр┤Щр┤│р┤┐р╡╜ р┤Тр┤ир╡Нр┤ир╡Н.", + "help_confirmed": "р┤Зр┤др╡Н р┤Тр┤░р╡Б р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Ър╡Нр┤Ъ р┤Ер┤╡р┤╕р╡Нр┤ер┤пр┤╛р┤пр┤┐ р┤Хр┤гр┤Хр╡Нр┤Хр┤╛р┤Хр╡Нр┤Хр┤╛р╡╗ р┤ор┤др┤┐р┤пр┤╛р┤п р┤бр┤пр┤Чр╡Нр┤ир╡Лр┤╕р╡Нр┤▒р╡Нр┤▒р┤┐р┤Хр╡Н р┤Хр╡Вр┤Яр┤╛р┤др╡Ж/р┤Ер┤▓р╡Нр┤▓р╡Жр┤Щр╡Нр┤Хр┤┐р╡╜ р┤Хр╡Нр┤▓р┤┐р┤ир┤┐р┤Хр╡Нр┤Хр╡╜ р┤др╡Жр┤│р┤┐р┤╡р╡Бр┤Хр╡╛ р┤Йр┤гр╡Нр┤Яр╡Н.", + "help_refuted": "р┤др╡Бр┤Яр╡╝р┤ир╡Нр┤ир╡Бр┤│р╡Нр┤│ р┤бр┤пр┤Чр╡Нр┤ир╡Лр┤╕р╡Нр┤▒р╡Нр┤▒р┤┐р┤Хр╡Н, р┤Хр╡Нр┤▓р┤┐р┤ир┤┐р┤Хр╡Нр┤Хр╡╜ р┤др╡Жр┤│р┤┐р┤╡р╡Бр┤Хр╡╛ р┤╡р┤┤р┤┐ р┤И р┤Ер┤╡р┤╕р╡Нр┤е р┤Тр┤┤р┤┐р┤╡р┤╛р┤Хр╡Нр┤Хр┤┐р┤пр┤┐р┤Яр╡Нр┤Яр╡Бр┤гр╡Нр┤Яр╡Н.", + "help_entered-in-error": "р┤кр╡Нр┤░р┤╕р╡НтАМр┤др┤╛р┤╡р┤и р┤др╡Жр┤▒р╡Нр┤▒р┤╛р┤пр┤┐ р┤ир╡╜р┤Хр┤┐р┤пр┤др┤┐р┤ир┤╛р╡╜ р┤╕р┤╛р┤зр╡Бр┤др┤пр┤┐р┤▓р╡Нр┤▓.", + "search_icd11_placeholder": "ICD-11 р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤Щр╡Нр┤Щр╡╛р┤Хр╡Нр┤Хр┤╛р┤пр┤┐ р┤др┤┐р┤░р┤пр╡Бр┤Х", + "icd11_as_recommended": "WHO р┤╢р╡Бр┤кр┤╛р╡╝р┤╢ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤и ICD-11 р┤кр╡Нр┤░р┤Хр┤╛р┤░р┤В" +} diff --git a/src/Locale/ml/ErrorPages.json b/src/Locale/ml/ErrorPages.json new file mode 100644 index 00000000000..2a860e3da0d --- /dev/null +++ b/src/Locale/ml/ErrorPages.json @@ -0,0 +1,13 @@ +{ + "return_to_care": "CARE р┤Ор┤ир╡Нр┤и р┤др┤╛р┤│р┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤Яр┤Щр╡Нр┤Щр╡Бр┤Х", + "404_message": "р┤ир┤┐р┤▓р┤╡р┤┐р┤▓р┤┐р┤▓р╡Нр┤▓р┤╛р┤др╡Нр┤др┤др╡Л р┤ор┤▒р╡Нр┤▒р╡Кр┤░р╡Б URL-р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ир╡Ар┤Хр╡Нр┤Хр┤┐р┤пр┤др╡Л р┤Жр┤п р┤Тр┤░р╡Б р┤кр╡Зр┤Ьр┤┐р╡╜ р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤Зр┤Яр┤▒р┤┐р┤╡р╡Ар┤гр┤др┤╛р┤пр┤┐ р┤др╡Лр┤ир╡Нр┤ир╡Бр┤ир╡Нр┤ир╡Б. р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤╢р┤░р┤┐р┤пр┤╛р┤п р┤▓р┤┐р┤Щр╡Нр┤Хр╡Н р┤ир╡╜р┤Хр┤┐р┤пр┤┐р┤Яр╡Нр┤Яр╡Бр┤гр╡Нр┤Яр╡Жр┤ир╡Нр┤ир╡Н р┤Йр┤▒р┤кр╡Нр┤кр┤╛р┤Хр╡Нр┤Хр╡Бр┤Х!", + "error_404": "р┤кр┤┐р┤╢р┤Хр╡Н 404", + "page_not_found": "р┤кр╡Зр┤Ьр╡Н р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "session_expired": "р┤╕р╡Жр┤╖р╡╗ р┤Хр┤╛р┤▓р┤╣р┤░р┤гр┤кр╡Нр┤кр╡Жр┤Яр╡Нр┤Яр╡Б", + "invalid_password_reset_link": "р┤Ер┤╕р┤╛р┤зр╡Бр┤╡р┤╛р┤п р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤кр╡Бр┤ир┤Гр┤╕р┤Ьр╡Нр┤Ьр╡Ар┤Хр┤░р┤г р┤▓р┤┐р┤Щр╡Нр┤Хр╡Н", + "invalid_link_msg": "р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤Йр┤кр┤пр╡Лр┤Чр┤┐р┤Ър╡Нр┤Ъ р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤кр╡Бр┤ир┤Гр┤╕р┤Ьр╡Нр┤Ьр╡Ар┤Хр┤░р┤г р┤▓р┤┐р┤Щр╡Нр┤Хр╡Н р┤Ер┤╕р┤╛р┤зр╡Бр┤╡р┤╛р┤гр╡Н р┤Ер┤▓р╡Нр┤▓р╡Жр┤Щр╡Нр┤Хр┤┐р╡╜ р┤Хр┤╛р┤▓р┤╣р┤░р┤гр┤кр╡Нр┤кр╡Жр┤Яр╡Нр┤Яр┤др┤╛р┤пр┤┐ р┤др╡Лр┤ир╡Нр┤ир╡Бр┤ир╡Нр┤ир╡Б. р┤Тр┤░р╡Б р┤кр╡Бр┤др┤┐р┤п р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤кр╡Бр┤ир┤Гр┤╕р┤Ьр╡Нр┤Ьр╡Ар┤Хр┤░р┤г р┤▓р┤┐р┤Щр╡Нр┤Хр╡Н р┤Ер┤нр╡Нр┤пр╡╝р┤др╡Нр┤ер┤┐р┤Хр╡Нр┤Хр╡Бр┤Х.", + "return_to_password_reset": "р┤кр┤╛р┤╕р╡НтАМр┤╡р╡Зр┤бр╡Н р┤кр╡Бр┤ир┤Гр┤╕р┤Ьр╡Нр┤Ьр╡Ар┤Хр┤░р┤гр┤др╡Нр┤др┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤Яр┤Щр╡Нр┤Щр╡Бр┤Х", + "return_to_login": "р┤▓р╡Лр┤Чр┤┐р╡╗ р┤Ор┤ир╡Нр┤ир┤др┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤Яр┤Щр╡Нр┤Щр╡Бр┤Х", + "session_expired_msg": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤╕р╡Жр┤╖р╡╗ р┤Хр┤╛р┤▓р┤╣р┤░р┤гр┤кр╡Нр┤кр╡Жр┤Яр╡Нр┤Яр┤др┤╛р┤пр┤┐ р┤др╡Лр┤ир╡Нр┤ир╡Бр┤ир╡Нр┤ир╡Б. р┤Зр┤др╡Н р┤ир┤┐р┤╖р╡Нр┤Хр╡Нр┤░р┤┐р┤пр┤др╡Нр┤╡р┤В р┤ор╡Вр┤▓р┤ор┤╛р┤Хр┤╛р┤В. р┤др╡Бр┤Яр┤░р┤╛р╡╗ р┤╡р╡Ар┤гр╡Нр┤Яр╡Бр┤В р┤▓р╡Лр┤Чр┤┐р╡╗ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х.", + "invalid_reset": "р┤Ер┤╕р┤╛р┤зр╡Бр┤╡р┤╛р┤п р┤▒р╡Ар┤╕р╡Жр┤▒р╡Нр┤▒р╡Н" +} diff --git a/src/Locale/ml/ExternalResult.json b/src/Locale/ml/ExternalResult.json new file mode 100644 index 00000000000..e18f414d4e3 --- /dev/null +++ b/src/Locale/ml/ExternalResult.json @@ -0,0 +1,25 @@ +{ + "please_upload_a_csv_file": "р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤Тр┤░р╡Б CSV р┤лр┤пр╡╜ р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "upload_external_results": "р┤мр┤╛р┤╣р╡Нр┤п р┤лр┤▓р┤Щр╡Нр┤Щр╡╛ р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "csv_file_in_the_specified_format": "р┤ир┤┐р╡╝р┤жр╡Нр┤жр┤┐р┤╖р╡Нр┤Я р┤лр╡Лр╡╝р┤ор┤╛р┤▒р╡Нр┤▒р┤┐р╡╜ р┤Тр┤░р╡Б CSV р┤лр┤пр╡╜ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "sample_format": "р┤╕р┤╛р┤ор╡Нр┤кр┤┐р╡╛ р┤лр╡Лр╡╝р┤ор┤╛р┤▒р╡Нр┤▒р╡Н", + "search_for_facility": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤ир┤╛р┤пр┤┐ р┤др┤┐р┤░р┤пр╡Бр┤Х", + "select_local_body": "р┤др┤жр╡Нр┤жр╡Зр┤╢ р┤╕р╡Нр┤ер┤╛р┤кр┤ир┤В р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "select_wards": "р┤╡р┤╛р╡╝р┤бр╡Бр┤Хр╡╛ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "result_date": "р┤лр┤▓ р┤др╡Ар┤пр┤др┤┐", + "sample_collection_date": "р┤╕р┤╛р┤ор╡Нр┤кр┤┐р╡╛ р┤╢р╡Зр┤Цр┤░р┤г р┤др╡Ар┤пр┤др┤┐", + "record_has_been_deleted_successfully": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤╡р┤┐р┤Ьр┤пр┤Хр┤░р┤ор┤╛р┤пр┤┐ р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр┤┐.", + "error_while_deleting_record": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др┤┐р╡╜ р┤кр┤┐р┤╢р┤Хр╡Н", + "result_details": "р┤лр┤▓р┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛", + "confirm_delete": "р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр╡╜ р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "are_you_sure_want_to_delete_this_record": "р┤И р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр┤гр┤ор╡Жр┤ир╡Нр┤ир╡Н р┤др╡Ар╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤гр╡Л?", + "patient_category": "р┤░р╡Лр┤Чр┤┐р┤Хр┤│р╡Бр┤Яр╡Ж р┤╡р┤┐р┤нр┤╛р┤Чр┤В", + "source": "р┤Йр┤▒р┤╡р┤┐р┤Яр┤В", + "result": "р┤лр┤▓р┤В", + "sample_type": "р┤╕р┤╛р┤ор╡Нр┤кр┤┐р╡╛ р┤др┤░р┤В", + "patient_status": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤Ер┤╡р┤╕р╡Нр┤е", + "mobile_number": "р┤ор╡Кр┤мр╡Ир╡╜ р┤ир┤ор╡Нр┤кр╡╝", + "patient_created": "р┤░р╡Лр┤Чр┤┐р┤пр╡Ж р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Ър╡Нр┤Ър╡Б", + "care_external_results_id": "р┤мр┤╛р┤╣р╡Нр┤п р┤лр┤▓р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Рр┤бр┤┐ р┤кр┤░р┤┐р┤кр┤╛р┤▓р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "update_record": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х" +} diff --git a/src/Locale/ml/Facility.json b/src/Locale/ml/Facility.json index 52411ca25a0..5a73d4473e5 100644 --- a/src/Locale/ml/Facility.json +++ b/src/Locale/ml/Facility.json @@ -1,10 +1,119 @@ { "facility_search_placeholder": "р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐ / р┤Ьр┤┐р┤▓р╡Нр┤▓ р┤кр╡Нр┤░р┤Хр┤╛р┤░р┤В р┤др┤┐р┤░р┤пр╡Бр┤Х", "advanced_filters": "р┤╡р┤┐р┤кр╡Бр┤▓р┤ор┤╛р┤п р┤лр┤┐р╡╜р┤Яр╡Нр┤Яр┤▒р╡Бр┤Хр╡╛", - "Facility Type": "р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐р┤Хр┤│р╡Бр┤Яр╡Ж р┤др┤░р┤В", + "facility_type": "р┤╕р╡Чр┤Хр┤░р╡Нр┤п р┤др┤░р┤В", + "facility_name": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤кр╡Зр┤░р╡Н", "KASP Empanelled": "р┤Хр╡Ж. р┤О. р┤Ор┤╕р╡Н. р┤кр┤┐. р┤Ор┤Вр┤кр┤╛р┤ир┤▓р╡НтАН р┤Ър╡Жр┤пр╡Нр┤пр┤кр╡Нр┤кр╡Жр┤Яр╡Нр┤Яр┤др╡Н", "View Facility": "р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐ р┤Хр┤╛р┤гр╡Бр┤Х", "no_duplicate_facility": "р┤Ер┤ир┤зр┤┐р┤Хр╡Гр┤др┤ор┤╛р┤пр┤┐ р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐р┤Хр┤│р╡НтАН р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр┤░р╡Бр┤др╡Н", "no_facilities": "р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐р┤Хр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др╡Бр┤╡р┤╛р┤ир┤╛р┤пр┤┐р┤▓р╡Нр┤▓", - "create_facility": "р┤Тр┤░р╡Б р┤кр╡Бр┤др┤┐р┤п р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐ р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х" + "no_staff": "р┤Ьр╡Ар┤╡р┤ир┤Хр╡Нр┤Хр┤╛р┤░р╡Ж р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "no_bed_types_found": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Х р┤др┤░р┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "total_beds": "р┤ор╡Кр┤др╡Нр┤др┤В р┤Хр┤┐р┤Яр┤Хр╡Нр┤Хр┤Хр╡╛", + "create_facility": "р┤Тр┤░р╡Б р┤кр╡Бр┤др┤┐р┤п р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐ р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "staff_list": "р┤╕р╡Нр┤▒р╡Нр┤▒р┤╛р┤лр╡Н р┤▓р┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р╡Н", + "bed_capacity": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Х р┤Хр┤кр╡Нр┤кр┤╛р┤╕р┤┐р┤▒р╡Нр┤▒р┤┐", + "cylinders": "р┤╕р┤┐р┤▓р┤┐р┤гр╡Нр┤Яр┤▒р╡Бр┤Хр╡╛", + "cylinders_per_day": "р┤╕р┤┐р┤▓р┤┐р┤гр╡Нр┤Яр┤▒р╡Бр┤Хр╡╛ / р┤жр┤┐р┤╡р┤╕р┤В", + "liquid_oxygen_capacity": "р┤жр╡Нр┤░р┤╛р┤╡р┤Х р┤Ур┤Хр╡Нр┤╕р┤┐р┤Ьр╡╗ р┤╢р╡Зр┤╖р┤┐", + "expected_burn_rate": "р┤кр╡Нр┤░р┤др╡Ар┤Хр╡Нр┤╖р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤и р┤кр╡Кр┤│р╡Нр┤│р╡╜ р┤ир┤┐р┤░р┤Хр╡Нр┤Хр╡Н", + "type_b_cylinders": "р┤мр┤┐ р┤др┤░р┤В р┤╕р┤┐р┤▓р┤┐р┤гр╡Нр┤Яр┤▒р╡Бр┤Хр╡╛", + "type_c_cylinders": "р┤╕р┤┐ р┤др┤░р┤В р┤╕р┤┐р┤▓р┤┐р┤гр╡Нр┤Яр┤▒р╡Бр┤Хр╡╛", + "type_d_cylinders": "р┤бр┤┐ р┤др┤░р┤В р┤╕р┤┐р┤▓р┤┐р┤гр╡Нр┤Яр┤▒р╡Бр┤Хр╡╛", + "select_local_body": "р┤др┤жр╡Нр┤жр╡Зр┤╢ р┤╕р╡Нр┤ер┤╛р┤кр┤ир┤В р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "update_asset": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "create_new_asset": "р┤кр╡Бр┤др┤┐р┤п р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "you_need_at_least_a_location_to_create_an_assest": "р┤Тр┤░р╡Б р┤Ер┤╕р┤╕р╡НтАМр┤▒р╡Нр┤▒р╡Н р┤╕р╡Гр┤╖р╡НтАМр┤Яр┤┐р┤Хр╡Нр┤Хр┤╛р╡╗ р┤ир┤┐р┤Щр╡Нр┤Щр╡╛р┤Хр╡Нр┤Хр╡Н р┤Тр┤░р╡Б р┤▓р╡Кр┤Хр╡Нр┤Хр╡Зр┤╖р┤ир╡Жр┤Щр╡Нр┤Хр┤┐р┤▓р╡Бр┤В р┤Жр┤╡р┤╢р╡Нр┤пр┤ор┤╛р┤гр╡Н.", + "add_location": "р┤▓р╡Кр┤Хр╡Нр┤Хр╡Зр┤╖р╡╗ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "close_scanner": "р┤╕р╡Нр┤Хр┤╛р┤ир╡╝ р┤Ер┤Яр┤пр╡Нр┤Хр╡Нр┤Хр╡Бр┤Х", + "scan_asset_qr": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤Хр╡Нр┤пр╡Бр┤Жр╡╝ р┤╕р╡Нр┤Хр┤╛р╡╗ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х!", + "update": "р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н", + "create": "р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "asset_name": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤кр╡Зр┤░р╡Н", + "asset_location": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤▓р╡Кр┤Хр╡Нр┤Хр╡Зр┤╖р╡╗", + "asset_type": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤др┤░р┤В", + "asset_class": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤Хр╡Нр┤▓р┤╛р┤╕р╡Н", + "details_about_the_equipment": "р┤Йр┤кр┤Хр┤░р┤гр┤др╡Нр┤др╡Жр┤Хр╡Нр┤Хр╡Бр┤▒р┤┐р┤Ър╡Нр┤Ър╡Бр┤│р╡Нр┤│ р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛", + "working_status": "р┤кр╡Нр┤░р┤╡р╡╝р┤др╡Нр┤др┤и р┤ир┤┐р┤▓", + "why_the_asset_is_not_working": "р┤Ор┤ир╡Нр┤др╡Бр┤Хр╡Кр┤гр╡Нр┤Яр┤╛р┤гр╡Н р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤кр╡Нр┤░р┤╡р╡╝р┤др╡Нр┤др┤┐р┤Хр╡Нр┤Хр┤╛р┤др╡Нр┤др┤др╡Н?", + "describe_why_the_asset_is_not_working": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤кр╡Нр┤░р┤╡р╡╝р┤др╡Нр┤др┤┐р┤Хр╡Нр┤Хр┤╛р┤др╡Нр┤др┤др╡Н р┤Ор┤ир╡Нр┤др╡Бр┤Хр╡Кр┤гр╡Нр┤Яр╡Жр┤ир╡Нр┤ир╡Н р┤╡р┤┐р┤╡р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "asset_qr_id": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н QR р┤Рр┤бр┤┐", + "manufacturer": "р┤ир┤┐р╡╝р┤ор╡Нр┤ор┤╛р┤др┤╛р┤╡р╡Н", + "eg_xyz": "р┤Йр┤жр┤╛. XYZ", + "eg_abc": "р┤Йр┤жр┤╛. р┤Ор┤мр┤┐р┤╕р┤┐", + "warranty_amc_expiry": "р┤╡р┤╛р┤▒р╡╗р╡Нр┤▒р┤┐ / AMC р┤Хр┤╛р┤▓р┤╣р┤░р┤гр┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤ир╡Нр┤ир╡Б", + "customer_support_name": "р┤Йр┤кр┤нр╡Лр┤Хр╡Нр┤др╡Г р┤кр┤┐р┤ир╡Нр┤др╡Бр┤гр┤пр╡Бр┤Яр╡Ж р┤кр╡Зр┤░р╡Н", + "customer_support_number": "р┤Йр┤кр┤нр╡Лр┤Хр╡Нр┤др╡Г р┤кр┤┐р┤ир╡Нр┤др╡Бр┤г р┤ир┤ор╡Нр┤кр╡╝", + "customer_support_email": "р┤Йр┤кр┤нр╡Лр┤Хр╡Нр┤др╡Г р┤кр┤┐р┤ир╡Нр┤др╡Бр┤г р┤Зр┤ор╡Жр┤пр┤┐р╡╜", + "eg_mail_example_com": "р┤Йр┤жр┤╛. mail@example.com", + "vendor_name": "р┤╡р╡Жр┤гр╡Нр┤Яр╡╝ р┤кр╡Зр┤░р╡Н", + "serial_number": "р┤╕р╡Ар┤░р┤┐р┤пр╡╜ р┤ир┤ор╡Нр┤кр╡╝", + "last_serviced_on": "р┤Ер┤╡р┤╕р┤╛р┤ир┤В р┤╕р╡╝р┤╡р╡Ар┤╕р╡Н р┤Ър╡Жр┤пр╡Нр┤др┤др╡Н", + "notes": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛", + "create_asset": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "create_add_more": "р┤╕р╡Гр┤╖р╡НтАМр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х, р┤Хр╡Вр┤Яр╡Бр┤др╡╜ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "discharged_patients": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤Ър╡Жр┤пр╡Нр┤д р┤░р╡Лр┤Чр┤┐р┤Хр╡╛", + "discharged_patients_empty": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤Ър╡Жр┤пр╡Нр┤д р┤░р╡Лр┤Чр┤┐р┤Хр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤И р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р╡╜ р┤Зр┤▓р╡Нр┤▓", + "update_facility_middleware_success": "р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐ р┤ор┤┐р┤бр┤┐р╡╜р┤╡р╡Жр┤пр╡╝ р┤╡р┤┐р┤Ьр┤пр┤Хр┤░р┤ор┤╛р┤пр┤┐ р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤др╡Б", + "treatment_summary__head_title": "р┤Ър┤┐р┤Хр┤┐р┤др╡Нр┤╕р┤пр╡Бр┤Яр╡Ж р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В", + "treatment_summary__print": "р┤Ър┤┐р┤Хр┤┐р┤др╡Нр┤╕р┤пр╡Бр┤Яр╡Ж р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В р┤Ер┤Ър╡Нр┤Ър┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "treatment_summary__heading": "р┤Зр┤Яр┤Хр╡Нр┤Хр┤╛р┤▓ р┤Ър┤┐р┤Хр┤┐р┤др╡Нр┤╕ р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В", + "patient_registration__name": "р┤кр╡Зр┤░р╡Н", + "patient_registration__address": "р┤╡р┤┐р┤▓р┤╛р┤╕р┤В", + "patient_registration__age": "р┤кр╡Нр┤░р┤╛р┤пр┤В", + "patient_consultation__op": "р┤Т.р┤кр┤┐", + "patient_consultation__ip": "р┤Р.р┤кр┤┐", + "patient_consultation__dc_admission": "р┤бр╡Кр┤ор┤┐р┤╕р┤┐р┤▓р┤┐р┤пр┤▒р┤┐ р┤Хр╡Жр┤пр╡╝ р┤Жр┤░р┤Вр┤нр┤┐р┤Ър╡Нр┤Ъ р┤др╡Ар┤пр┤др┤┐", + "patient_consultation__admission": "р┤кр╡Нр┤░р┤╡р╡Зр┤╢р┤и р┤др╡Ар┤пр┤др┤┐", + "patient_registration__gender": "р┤▓р┤┐р┤Вр┤Чр┤нр╡Зр┤жр┤В", + "patient_registration__contact": "р┤Ер┤Яр┤┐р┤пр┤ир╡Нр┤др┤░ р┤Хр╡Лр╡║р┤Яр┤╛р┤Хр╡Нр┤▒р╡Нр┤▒р╡Н", + "patient_registration__comorbidities": "р┤Хр╡Лр┤ор╡Лр╡╝р┤мр┤┐р┤бр┤┐р┤▒р╡Нр┤▒р┤┐р┤Хр╡╛", + "patient_registration__comorbidities__disease": "р┤░р╡Лр┤Чр┤В", + "patient_registration__comorbidities__details": "р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛", + "patient_consultation__consultation_notes": "р┤кр╡Кр┤др╡Б р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤Щр╡Нр┤Щр╡╛", + "patient_consultation__special_instruction": "р┤кр╡Нр┤░р┤др╡Нр┤пр╡Зр┤Х р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤Щр╡Нр┤Щр╡╛", + "suggested_investigations": "р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤┐р┤Ър╡Нр┤Ъ р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤гр┤Щр╡Нр┤Щр╡╛", + "investigations__date": "р┤др╡Ар┤пр┤др┤┐", + "investigations__name": "р┤кр╡Зр┤░р╡Н", + "investigations__result": "р┤лр┤▓р┤В", + "investigations__ideal_value": "р┤Ер┤ир╡Бр┤пр╡Лр┤Ьр╡Нр┤пр┤ор┤╛р┤п р┤ор╡Вр┤▓р╡Нр┤пр┤В", + "investigations__range": "р┤ор╡Вр┤▓р╡Нр┤п р┤╢р╡Нр┤░р╡Зр┤гр┤┐", + "investigations__unit": "р┤пр╡Вр┤гр┤┐р┤▒р╡Нр┤▒р╡Н", + "patient_consultation__treatment__plan": "р┤кр╡Нр┤▓р┤╛р╡╗ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "patient_consultation__treatment__summary": "р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В", + "patient_consultation__treatment__summary__date": "р┤др╡Ар┤пр┤др┤┐", + "patient_consultation__treatment__summary__spo2": "SpO2", + "patient_consultation__treatment__summary__temperature": "р┤др┤╛р┤кр┤ир┤┐р┤▓", + "diagnosis": "р┤░р╡Лр┤Чр┤ир┤┐р╡╝р┤гр┤пр┤В", + "diagnosis__principal": "р┤кр╡Нр┤░р┤┐р╡╗р┤╕р┤┐р┤кр╡Нр┤кр╡╜", + "diagnosis__confirmed": "р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Ър╡Нр┤Ър╡Б", + "diagnosis__provisional": "р┤др┤╛р╡╜р┤Хр╡Нр┤Хр┤╛р┤▓р┤┐р┤Хр┤В", + "diagnosis__unconfirmed": "р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Ър╡Нр┤Ър┤┐р┤Яр╡Нр┤Яр┤┐р┤▓р╡Нр┤▓", + "diagnosis__differential": "р┤бр┤┐р┤лр┤▒р╡╗р┤╖р╡Нр┤пр╡╜", + "active_prescriptions": "р┤╕р┤Ьр╡Ар┤╡ р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐р┤Хр╡╛", + "prescriptions__medicine": "р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Н", + "prescriptions__route": "р┤▒р╡Вр┤Яр╡Нр┤Яр╡Н", + "prescriptions__dosage_frequency": "р┤Ер┤│р┤╡р╡Бр┤В р┤Жр┤╡р╡Гр┤др╡Нр┤др┤┐р┤пр╡Бр┤В", + "prescriptions__start_date": "р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤┐р┤Ър╡Нр┤Ър┤┐р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др╡Н", + "select_facility_for_discharged_patients_warning": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤Ър╡Жр┤пр╡Нр┤д р┤░р╡Лр┤Чр┤┐р┤Хр┤│р╡Ж р┤Хр┤╛р┤гр┤╛р┤ир╡Бр┤│р╡Нр┤│ р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Зр┤гр╡Нр┤Яр┤др╡Бр┤гр╡Нр┤Яр╡Н.", + "duplicate_patient_record_confirmation": "р┤Ьр┤ир┤и р┤╡р╡╝р┤╖р┤В р┤Ър╡Зр╡╝р┤др╡Нр┤др╡Н р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤░р╡Зр┤Ц р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤кр╡Нр┤░р┤╡р╡Зр┤╢р┤┐р┤кр╡Нр┤кр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "duplicate_patient_record_rejection": "р┤Юр┤╛р╡╗ р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр┤╛р╡╗ р┤Жр┤Чр╡Нр┤░р┤╣р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤и р┤╕р┤Вр┤╢р┤пр┤╛р┤╕р╡Нр┤кр┤жр┤ор┤╛р┤п / р┤░р╡Лр┤Чр┤┐ р┤▓р┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р┤┐р╡╜ р┤Зр┤▓р╡Нр┤▓р╡Жр┤ир╡Нр┤ир╡Н р┤Юр┤╛р╡╗ р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир╡Б.", + "duplicate_patient_record_birth_unknown": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤Ьр┤ир┤и р┤╡р╡╝р┤╖р┤др╡Нр┤др╡Жр┤Хр╡Нр┤Хр╡Бр┤▒р┤┐р┤Ър╡Нр┤Ър╡Н р┤ир┤┐р┤Щр╡Нр┤Щр╡╛р┤Хр╡Нр┤Хр╡Н р┤Йр┤▒р┤кр╡Нр┤кр┤┐р┤▓р╡Нр┤▓р╡Жр┤Щр╡Нр┤Хр┤┐р╡╜ р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Ьр┤┐р┤▓р╡Нр┤▓р┤╛ р┤кр┤░р┤┐р┤Ър┤░р┤г р┤Хр╡Лр╡╝р┤бр┤┐р┤ир╡Зр┤▒р╡Нр┤▒р╡╝, р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤Вр┤Чр╡Н р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤Ер┤▓р╡Нр┤▓р╡Жр┤Щр╡Нр┤Хр┤┐р╡╜ р┤░р╡Лр┤Чр┤┐р┤пр╡Ж р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤Х.", + "patient_transfer_birth_match_note": "р┤╢р╡Нр┤░р┤жр╡Нр┤зр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х: р┤Яр╡Нр┤░р┤╛р╡╗р┤╕р╡Нр┤лр╡╝ р┤Ер┤нр╡Нр┤пр╡╝р┤др╡Нр┤ер┤и р┤кр╡Нр┤░р╡Лр┤╕р┤╕р╡Нр┤╕р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир┤др┤┐р┤ир╡Н р┤Ьр┤ир┤и р┤╡р╡╝р┤╖р┤В р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤ор┤╛р┤пр┤┐ р┤кр╡Кр┤░р╡Бр┤др╡Нр┤др┤кр╡Нр┤кр╡Жр┤Яр┤гр┤В.", + "cover_image_updated_note": "р┤кр╡Бр┤др╡Бр┤Хр╡Нр┤Хр┤┐р┤п р┤ор╡Бр┤Цр┤Ър┤┐р┤др╡Нр┤░р┤В р┤Хр┤╛р┤гр┤╛р╡╗ р┤Хр╡Бр┤▒р┤Ър╡Нр┤Ър╡Н р┤╕р┤ор┤пр┤ор╡Жр┤Яр╡Бр┤др╡Нр┤др╡Зр┤Хр╡Нр┤Хр┤╛р┤В", + "available_features": "р┤▓р┤нр╡Нр┤пр┤ор┤╛р┤п р┤╕р┤╡р┤┐р┤╢р╡Зр┤╖р┤др┤Хр╡╛", + "update_facility": "р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В", + "configure_facility": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤Хр╡Нр┤░р┤ор╡Ар┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "inventory_management": "р┤Зр╡╗р┤╡р╡Жр╡╗р╡Нр┤▒р┤▒р┤┐ р┤ор┤╛р┤ир╡Зр┤Ьр╡Нр┤ор╡Жр╡╗р╡Нр┤▒р╡Н", + "location_management": "р┤▓р╡Кр┤Хр╡Нр┤Хр╡Зр┤╖р╡╗ р┤ор┤╛р┤ир╡Зр┤Ьр╡Нр┤ор╡Жр╡╗р╡Нр┤▒р╡Н", + "resource_request": "р┤▒р┤┐р┤╕р╡Лр┤┤р╡Нр┤╕р╡Н р┤Ер┤нр╡Нр┤пр╡╝р┤др╡Нр┤ер┤и", + "view_asset": "р┤Ер┤╕р┤▒р╡Нр┤▒р╡Бр┤Хр╡╛ р┤Хр┤╛р┤гр╡Бр┤Х", + "view_users": "р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др┤╛р┤Хр╡Нр┤Хр┤│р╡Ж р┤Хр┤╛р┤гр╡Бр┤Х", + "view_abdm_records": "ABDM р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Бр┤Хр╡╛ р┤Хр┤╛р┤гр╡Бр┤Х", + "delete_facility": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр╡Бр┤Х", + "central_nursing_station": "р┤╕р╡Жр╡╗р┤Яр╡Нр┤░р╡╜ р┤ир┤┤р╡НтАМр┤╕р┤┐р┤Вр┤Чр╡Н р┤╕р╡Нр┤▒р╡Нр┤▒р╡Зр┤╖р╡╗", + "add_details_of_patient": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "choose_location": "р┤▓р╡Кр┤Хр╡Нр┤Хр╡Зр┤╖р╡╗ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "live_monitoring": "р┤др┤др╡Нр┤╕р┤ор┤п р┤ир┤┐р┤░р╡Ар┤Хр╡Нр┤╖р┤гр┤В", + "open_live_monitoring": "р┤▓р╡Ир┤╡р╡Н р┤ор╡Лр┤гр┤┐р┤▒р╡Нр┤▒р┤▒р┤┐р┤Вр┤Чр╡Н р┤др╡Бр┤▒р┤Хр╡Нр┤Хр╡Бр┤Х" } diff --git a/src/Locale/ml/FileUpload.json b/src/Locale/ml/FileUpload.json new file mode 100644 index 00000000000..58c5c083d3b --- /dev/null +++ b/src/Locale/ml/FileUpload.json @@ -0,0 +1,29 @@ +{ + "audio__allow_permission": "р┤╕р╡Ир┤▒р╡Нр┤▒р╡Н р┤Хр╡Нр┤░р┤ор╡Ар┤Хр┤░р┤гр┤Щр╡Нр┤Щр┤│р┤┐р╡╜ р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤ор╡Ир┤Хр╡Нр┤░р╡Лр┤лр╡Лр╡║ р┤Ер┤ир╡Бр┤ор┤др┤┐ р┤Ер┤ир╡Бр┤╡р┤жр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "audio__allow_permission_helper": "р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤ор╡Бр┤ор╡Нр┤кр╡Н р┤ор╡Ир┤Хр╡Нр┤░р╡Лр┤лр╡Лр╡║ р┤Жр┤Хр╡НтАМр┤╕р┤╕р╡Н р┤ир┤┐р┤░р┤╕р┤┐р┤Ър╡Нр┤Ър┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤╛р┤В.", + "audio__allow_permission_button": "р┤Ор┤Щр╡Нр┤Щр┤ир╡Ж р┤Ер┤ир╡Бр┤╡р┤жр┤┐р┤Хр╡Нр┤Хр┤гр┤ор╡Жр┤ир╡Нр┤ир╡Н р┤Ер┤▒р┤┐р┤пр┤╛р╡╗ р┤Зр┤╡р┤┐р┤Яр╡Ж р┤Хр╡Нр┤▓р┤┐р┤Хр╡Нр┤Хр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "audio__record": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Ур┤бр┤┐р┤пр╡Л", + "audio__record_helper": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр┤┐р┤Вр┤Чр╡Н р┤Жр┤░р┤Вр┤нр┤┐р┤Хр╡Нр┤Хр┤╛р╡╗ р┤мр┤Яр╡Нр┤Яр╡║ р┤Хр╡Нр┤▓р┤┐р┤Хр╡Нр┤Хр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "audio__recording": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр┤┐р┤Вр┤Чр╡Н", + "audio__recording_helper": "р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤ор╡Ир┤Хр╡Нр┤░р╡Лр┤лр╡Лр┤гр┤┐р╡╜ р┤╕р┤Вр┤╕р┤╛р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х.", + "audio__recording_helper_2": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр┤┐р┤Вр┤Чр╡Н р┤ир┤┐р╡╝р┤др╡Нр┤др┤╛р╡╗ р┤мр┤Яр╡Нр┤Яр┤гр┤┐р╡╜ р┤Хр╡Нр┤▓р┤┐р┤Хр╡Нр┤Хр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х.", + "audio__recorded": "р┤Ур┤бр┤┐р┤пр╡Л р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤др╡Б", + "audio__start_again": "р┤╡р╡Ар┤гр╡Нр┤Яр╡Бр┤В р┤Жр┤░р┤Вр┤нр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "enter_file_name": "р┤лр┤пр┤▓р┤┐р╡╗р╡Нр┤▒р╡Ж р┤кр╡Зр┤░р╡Н р┤ир╡╜р┤Хр╡Бр┤Х", + "no_files_found": "{{type}} р┤лр┤пр┤▓р╡Бр┤Хр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "upload_headings__patient": "р┤кр╡Бр┤др┤┐р┤п р┤░р╡Лр┤Чр┤┐ р┤лр┤пр╡╜ р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "upload_headings__consultation": "р┤кр╡Бр┤др┤┐р┤п р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р╡╗ р┤лр┤пр╡╜ р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "upload_headings__sample_report": "р┤╕р┤╛р┤ор╡Нр┤кр┤┐р╡╛ р┤▒р┤┐р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Н р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "upload_headings__supporting_info": "р┤╕р┤╣р┤╛р┤п р┤╡р┤┐р┤╡р┤░р┤Щр╡Нр┤Щр╡╛ р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "file_list_headings__patient": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤лр┤пр┤▓р╡Бр┤Хр╡╛", + "file_list_headings__consultation": "р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р╡╗ р┤лр┤пр┤▓р╡Бр┤Хр╡╛", + "file_list_headings__sample_report": "р┤╕р┤╛р┤ор╡Нр┤кр┤┐р╡╛ р┤▒р┤┐р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Н", + "file_list_headings__supporting_info": "р┤╕р┤╣р┤╛р┤п р┤╡р┤┐р┤╡р┤░р┤В", + "file_error__choose_file": "р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр┤╛р╡╗ р┤Тр┤░р╡Б р┤лр┤пр╡╜ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "file_error__file_name": "р┤лр┤пр┤▓р┤┐р╡╗р╡Нр┤▒р╡Ж р┤кр╡Зр┤░р╡Н р┤ир╡╜р┤Хр╡Бр┤Х", + "file_error__file_size": "р┤лр┤пр┤▓р╡Бр┤Хр┤│р╡Бр┤Яр╡Ж р┤кр┤░р┤ор┤╛р┤╡р┤зр┤┐ р┤╡р┤▓р╡Бр┤кр╡Нр┤кр┤В 100 MB р┤Жр┤гр╡Н", + "file_error__file_type": "р┤Ер┤╕р┤╛р┤зр╡Бр┤╡р┤╛р┤п р┤лр┤пр╡╜ р┤др┤░р┤В \".{{extension}}\" р┤Ер┤ир╡Бр┤╡р┤жр┤ир╡Ар┤пр┤ор┤╛р┤п р┤др┤░р┤Щр╡Нр┤Щр╡╛: {{allowedExtensions}}", + "file_uploaded": "р┤лр┤пр╡╜ р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡НтАМр┤др╡Б", + "file_error__dynamic": "р┤лр┤пр╡╜ р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир┤др┤┐р╡╜ р┤кр┤┐р┤╢р┤Хр╡Н: {{statusText}}", + "file_error__network": "р┤лр┤пр╡╜ р┤Ер┤кр╡НтАМр┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир┤др┤┐р╡╜ р┤кр┤┐р┤╢р┤Хр╡Н: р┤ир╡Жр┤▒р╡Нр┤▒р╡НтАМр┤╡р╡╝р┤Хр╡Нр┤Хр╡Н р┤кр┤┐р┤╢р┤Хр╡Н" +} diff --git a/src/Locale/ml/Hub.json b/src/Locale/ml/Hub.json new file mode 100644 index 00000000000..58b6882a177 --- /dev/null +++ b/src/Locale/ml/Hub.json @@ -0,0 +1,14 @@ +{ + "monitor": "р┤ор╡Лр┤гр┤┐р┤▒р╡Нр┤▒р╡╝", + "show_default_presets": "р┤бр┤┐р┤лр╡Лр╡╛р┤Яр╡Нр┤Яр╡Н р┤кр╡Нр┤░р╡Ар┤╕р╡Жр┤▒р╡Нр┤▒р╡Бр┤Хр╡╛ р┤Хр┤╛р┤гр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "show_patient_presets": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤кр╡Нр┤░р╡Ар┤╕р╡Жр┤▒р╡Нр┤▒р╡Бр┤Хр╡╛ р┤Хр┤╛р┤гр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "moving_camera": "р┤Ър┤▓р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤и р┤Хр╡Нр┤пр┤╛р┤ор┤▒", + "full_screen": "р┤кр╡Вр╡╝р┤гр╡Нр┤г р┤╕р╡Нр┤Хр╡Нр┤░р╡Ар╡╗", + "feed_is_currently_not_live": "р┤лр╡Ар┤бр╡Н р┤ир┤┐р┤▓р┤╡р┤┐р╡╜ р┤др┤др╡Нр┤╕р┤ор┤пр┤ор┤▓р╡Нр┤▓", + "zoom_out": "р┤╕р╡Вр┤В р┤Фр┤Яр╡Нр┤Яр╡Н", + "zoom_in": "р┤╕р╡Вр┤В р┤Зр╡╗ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "right": "р┤╢р┤░р┤┐р┤пр┤╛р┤гр╡Н", + "left": "р┤Зр┤Яр┤др╡Н", + "down": "р┤др┤╛р┤┤р╡Зр┤Хр╡Нр┤Хр╡Н", + "up": "р┤ор╡Бр┤Хр┤│р┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н" +} diff --git a/src/Locale/ml/LogUpdate.json b/src/Locale/ml/LogUpdate.json new file mode 100644 index 00000000000..1a3304b88ca --- /dev/null +++ b/src/Locale/ml/LogUpdate.json @@ -0,0 +1,73 @@ +{ + "RESPIRATORY_SUPPORT_SHORT__UNKNOWN": "р┤Тр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "RESPIRATORY_SUPPORT_SHORT__OXYGEN_SUPPORT": "O2 р┤кр┤┐р┤ир╡Нр┤др╡Бр┤г", + "RESPIRATORY_SUPPORT_SHORT__NON_INVASIVE": "р┤Ор╡╗.р┤Р.р┤╡р┤┐", + "RESPIRATORY_SUPPORT_SHORT__INVASIVE": "IV", + "RESPIRATORY_SUPPORT__UNKNOWN": "р┤Тр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "RESPIRATORY_SUPPORT__OXYGEN_SUPPORT": "р┤Ур┤Хр╡Нр┤╕р┤┐р┤Ьр╡╗ р┤кр┤┐р┤ир╡Нр┤др╡Бр┤г", + "RESPIRATORY_SUPPORT__NON_INVASIVE": "р┤ир╡Лр╡║-р┤Зр╡╗р┤╡р╡Зр┤╕р╡Ар┤╡р╡Н р┤╡р╡Жр╡╗р╡Нр┤▒р┤┐р┤▓р╡Зр┤▒р╡Нр┤▒р╡╝ (NIV)", + "RESPIRATORY_SUPPORT__INVASIVE": "р┤Жр┤Хр╡Нр┤░р┤ор┤гр┤╛р┤др╡Нр┤ор┤Х р┤╡р╡Жр╡╗р╡Нр┤▒р┤┐р┤▓р╡Зр┤▒р╡Нр┤▒р╡╝ (IV)", + "VENTILATOR_MODE__CMV": "р┤Хр╡║р┤Яр╡Нр┤░р╡Лр╡╛ р┤ор╡Жр┤Хр╡Нр┤Хр┤╛р┤ир┤┐р┤Хр╡Нр┤Хр╡╜ р┤╡р╡Жр╡╗р╡Нр┤▒р┤┐р┤▓р╡Зр┤╖р╡╗ (CMV)", + "VENTILATOR_MODE__VCV": "р┤╡р╡Лр┤│р┤┐р┤пр┤В р┤Хр╡║р┤Яр╡Нр┤░р╡Лр╡╛ р┤╡р╡Жр╡╗р╡Нр┤▒р┤┐р┤▓р╡Зр┤╖р╡╗ (VCV)", + "VENTILATOR_MODE__PCV": "р┤кр╡Нр┤░р┤╖р╡╝ р┤Хр╡║р┤Яр╡Нр┤░р╡Лр╡╛ р┤╡р╡Жр╡╗р╡Нр┤▒р┤┐р┤▓р╡Зр┤╖р╡╗ (PCV)", + "VENTILATOR_MODE__SIMV": "р┤╕р┤┐р╡╗р┤Хр╡Нр┤░р╡Кр┤гр╡Ир┤╕р╡Нр┤бр╡Н р┤Зр╡╗р╡Нр┤▒р╡╝р┤ор┤┐р┤▒р╡Нр┤▒р╡╗р┤▒р╡Н р┤ир┤┐р╡╝р┤мр┤ир╡Нр┤зр┤┐р┤д р┤╡р╡Жр╡╗р╡Нр┤▒р┤┐р┤▓р╡Зр┤╖р╡╗ (SIMV)", + "VENTILATOR_MODE__VC_SIMV": "р┤╡р╡Лр┤│р┤┐р┤пр┤В р┤ир┤┐р┤пр┤ир╡Нр┤др╡Нр┤░р┤┐р┤д SIMV (VC-SIMV)", + "VENTILATOR_MODE__PC_SIMV": "р┤кр╡Нр┤░р┤╖р╡╝ р┤Хр╡║р┤Яр╡Нр┤░р╡Лр╡╛р┤бр╡Н SIMV (PC-SIMV)", + "VENTILATOR_MODE__PSV": "C-PAP / р┤кр╡Нр┤░р┤╖р╡╝ р┤╕р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Н р┤╡р╡Жр╡╗р╡Нр┤▒р┤┐р┤▓р╡Зр┤╖р╡╗ (PSV)", + "CONSCIOUSNESS_LEVEL__UNRESPONSIVE": "р┤кр╡Нр┤░р┤др┤┐р┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤┐р┤▓р╡Нр┤▓", + "CONSCIOUSNESS_LEVEL__RESPONDS_TO_PAIN": "р┤╡р╡Зр┤жр┤ир┤пр╡Лр┤Яр╡Н р┤кр╡Нр┤░р┤др┤┐р┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир╡Б", + "CONSCIOUSNESS_LEVEL__RESPONDS_TO_VOICE": "р┤╢р┤мр╡Нр┤жр┤др╡Нр┤др╡Лр┤Яр╡Н р┤кр╡Нр┤░р┤др┤┐р┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир╡Б", + "CONSCIOUSNESS_LEVEL__ALERT": "р┤ор╡Бр┤ир╡Нр┤ир┤▒р┤┐р┤пр┤┐р┤кр╡Нр┤кр╡Н", + "CONSCIOUSNESS_LEVEL__AGITATED_OR_CONFUSED": "р┤Ер┤╕р╡Нр┤╡р┤╕р╡Нр┤ер┤др┤пр╡Л р┤Жр┤╢р┤пр┤Хр╡Нр┤Хр╡Бр┤┤р┤кр╡Нр┤кр┤др╡Нр┤др┤┐р┤▓р╡Л", + "CONSCIOUSNESS_LEVEL__ONSET_OF_AGITATION_AND_CONFUSION": "р┤кр╡Нр┤░р┤Хр╡Нр┤╖р╡Лр┤нр┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Жр┤пр╡Бр┤В р┤Жр┤╢р┤пр┤Хр╡Нр┤Хр╡Бр┤┤р┤кр╡Нр┤кр┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Жр┤пр╡Бр┤В р┤др╡Бр┤Яр┤Хр╡Нр┤Хр┤В", + "PUPIL_REACTION__UNKNOWN": "р┤Ер┤Ьр╡Нр┤Юр┤╛р┤др┤В", + "PUPIL_REACTION__BRISK": "р┤Ър┤Яр╡Бр┤▓р┤ор┤╛р┤п", + "PUPIL_REACTION__SLUGGISH": "р┤Жр┤▓р┤╕р╡Нр┤пр┤В", + "PUPIL_REACTION__FIXED": "р┤кр┤░р┤┐р┤╣р┤░р┤┐р┤Ър╡Нр┤Ър╡Б", + "PUPIL_REACTION__CANNOT_BE_ASSESSED": "р┤╡р┤┐р┤▓р┤пр┤┐р┤░р╡Бр┤др╡Нр┤др┤╛р╡╗ р┤Хр┤┤р┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "LIMB_RESPONSE__UNKNOWN": "р┤Ер┤Ьр╡Нр┤Юр┤╛р┤др┤В", + "LIMB_RESPONSE__STRONG": "р┤╢р┤Хр╡Нр┤др┤ор┤╛р┤п", + "LIMB_RESPONSE__MODERATE": "р┤ор┤┐р┤др┤др╡Нр┤╡р┤В", + "LIMB_RESPONSE__WEAK": "р┤жр╡Бр╡╝р┤мр┤▓р┤ор┤╛р┤п", + "LIMB_RESPONSE__FLEXION": "р┤лр╡Нр┤▓р╡Жр┤Хр╡Нр┤╕р┤┐р┤╖р╡╗", + "LIMB_RESPONSE__EXTENSION": "р┤╡р┤┐р┤кр╡Бр┤▓р╡Ар┤Хр┤░р┤гр┤В", + "LIMB_RESPONSE__NONE": "р┤Тр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "OXYGEN_MODALITY__NASAL_PRONGS": "р┤ир┤╛р┤╕р╡╜ р┤кр╡Нр┤░р╡Лр┤Вр┤Чр╡Нр┤╕р╡Н", + "OXYGEN_MODALITY__SIMPLE_FACE_MASK": "р┤▓р┤│р┤┐р┤др┤ор┤╛р┤п р┤ор╡Бр┤Цр┤Вр┤ор╡Вр┤Яр┤┐", + "OXYGEN_MODALITY__NON_REBREATHING_MASK": "р┤ир╡Лр╡║ р┤▒р╡Ар┤мр╡Нр┤░р╡Ар┤др╡Нр┤др┤┐р┤Вр┤Чр╡Н р┤ор┤╛р┤╕р╡Нр┤Хр╡Н", + "OXYGEN_MODALITY__HIGH_FLOW_NASAL_CANNULA": "р┤Йр┤пр╡╝р┤ир╡Нр┤и р┤Тр┤┤р╡Бр┤Хр╡Нр┤Хр╡Н р┤ир┤╛р┤╕р╡╜ р┤Хр┤╛р┤ир╡Бр┤▓", + "INSULIN_INTAKE_FREQUENCY__UNKNOWN": "р┤Ер┤Ьр╡Нр┤Юр┤╛р┤др┤В", + "INSULIN_INTAKE_FREQUENCY__OD": "р┤жр┤┐р┤╡р┤╕р┤др╡Нр┤др┤┐р╡╜ р┤Тр┤░р┤┐р┤Хр╡Нр┤Хр╡╜ (OD)", + "INSULIN_INTAKE_FREQUENCY__BD": "р┤жр┤┐р┤╡р┤╕р┤др╡Нр┤др┤┐р╡╜ р┤░р┤гр╡Нр┤Яр╡Бр┤др┤╡р┤г (BD)", + "INSULIN_INTAKE_FREQUENCY__TD": "р┤жр┤┐р┤╡р┤╕р┤др╡Нр┤др┤┐р╡╜ р┤ор╡Вр┤ир╡Нр┤ир╡Н р┤др┤╡р┤г (р┤Яр┤┐р┤бр┤┐)", + "NURSING_CARE_PROCEDURE__personal_hygiene": "р┤╡р╡Нр┤пр┤Хр╡Нр┤др┤┐р┤Чр┤д р┤╢р╡Бр┤Ър┤┐р┤др╡Нр┤╡р┤В", + "NURSING_CARE_PROCEDURE__positioning": "р┤╕р╡Нр┤ер┤╛р┤ир┤ир┤┐р╡╝р┤гр╡Нр┤гр┤пр┤В", + "NURSING_CARE_PROCEDURE__suctioning": "р┤╕р┤Хр╡Нр┤╖р┤ир┤┐р┤Вр┤Чр╡Н", + "NURSING_CARE_PROCEDURE__ryles_tube_care": "р┤▒р╡Ир╡╜р┤╕р╡Н р┤Яр╡Нр┤пр╡Вр┤мр╡Н р┤Хр╡Жр┤пр╡╝", + "NURSING_CARE_PROCEDURE__iv_sitecare": "IV р┤╕р╡Ир┤▒р╡Нр┤▒р╡Н р┤Хр╡Жр┤пр╡╝", + "NURSING_CARE_PROCEDURE__nubulisation": "р┤ир╡Бр┤мр╡Бр┤▓р╡Ир┤╕р╡Зр┤╖р╡╗", + "NURSING_CARE_PROCEDURE__dressing": "р┤╡р┤╕р╡Нр┤др╡Нр┤░р┤зр┤╛р┤░р┤гр┤В", + "NURSING_CARE_PROCEDURE__dvt_pump_stocking": "р┤бр┤┐р┤╡р┤┐р┤Яр┤┐ р┤кр┤ор╡Нр┤кр╡Н р┤╕р╡Нр┤▒р╡Нр┤▒р╡Лр┤Хр╡Нр┤Хр┤┐р┤Вр┤Чр╡Н", + "NURSING_CARE_PROCEDURE__restrain": "р┤ир┤┐р┤пр┤ир╡Нр┤др╡Нр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "NURSING_CARE_PROCEDURE__chest_tube_care": "р┤Ър╡Жр┤╕р╡Нр┤▒р╡Нр┤▒р╡Н р┤Яр╡Нр┤пр╡Вр┤мр╡Н р┤Хр╡Жр┤пр╡╝", + "NURSING_CARE_PROCEDURE__tracheostomy_care": "р┤Яр╡Нр┤░р┤╛р┤Хр╡Нр┤Хр┤┐р┤пр╡Лр┤╕р╡Нр┤▒р╡Нр┤▒р┤ор┤┐ р┤Хр╡Жр┤пр╡╝", + "NURSING_CARE_PROCEDURE__stoma_care": "р┤╕р╡Нр┤▒р╡Нр┤▒р╡Лр┤о р┤Хр╡Жр┤пр╡╝", + "NURSING_CARE_PROCEDURE__catheter_care": "р┤Хр┤др╡Нр┤др╡Ар┤▒р╡Нр┤▒р╡╝ р┤Хр╡Жр┤пр╡╝", + "HEARTBEAT_RHYTHM__REGULAR": "р┤кр┤др┤┐р┤╡р╡Н", + "HEARTBEAT_RHYTHM__IRREGULAR": "р┤Хр╡Нр┤░р┤ор┤░р┤╣р┤┐р┤др┤В", + "HEARTBEAT_RHYTHM__UNKNOWN": "р┤Ер┤Ьр╡Нр┤Юр┤╛р┤др┤В", + "heartbeat_rhythm": "р┤╣р╡Гр┤жр┤пр┤ор┤┐р┤Яр┤┐р┤кр╡Нр┤кр╡Н р┤др┤╛р┤│р┤В", + "heartbeat_description": "р┤╣р╡Гр┤жр┤пр┤ор┤┐р┤Яр┤┐р┤кр╡Нр┤кр╡Н р┤╡р┤┐р┤╡р┤░р┤гр┤В", + "blood_pressure": "р┤░р┤Хр╡Нр┤др┤╕р┤ор╡Нр┤ор╡╝р┤жр╡Нр┤жр┤В", + "map_acronym": "р┤ор┤╛р┤кр╡Нр┤кр╡Н", + "systolic": "р┤╕р┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р╡Лр┤│р┤┐р┤Хр╡Н", + "diastolic": "р┤бр┤пр┤╕р╡Нр┤▒р╡Нр┤▒р╡Лр┤│р┤┐р┤Хр╡Н", + "temperature": "р┤др┤╛р┤кр┤ир┤┐р┤▓", + "resipiratory_rate": "р┤╢р╡Нр┤╡р┤╕р┤и р┤ир┤┐р┤░р┤Хр╡Нр┤Хр╡Н", + "pain": "р┤╡р╡Зр┤жр┤и", + "pain_chart_description": "р┤╡р╡Зр┤жр┤ир┤пр╡Бр┤Яр╡Ж р┤кр╡Нр┤░р┤жр╡Зр┤╢р┤╡р╡Бр┤В р┤др╡Ар┤╡р╡Нр┤░р┤др┤пр╡Бр┤В р┤Ер┤Яр┤пр┤╛р┤│р┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤др╡Нр┤др╡Бр┤Х", + "pulse": "р┤кр╡╛р┤╕р╡Н", + "bradycardia": "р┤мр╡Нр┤░р┤╛р┤бр┤┐р┤Хр┤╛р╡╝р┤бр┤┐р┤п", + "tachycardia": "р┤Яр┤╛р┤Хр╡Нр┤Хр┤┐р┤Хр╡Нр┤Хр┤╛р╡╝р┤бр┤┐р┤п", + "spo2": "SpOтВВ" +} \ No newline at end of file diff --git a/src/Locale/ml/Medicine.json b/src/Locale/ml/Medicine.json new file mode 100644 index 00000000000..896289d15a5 --- /dev/null +++ b/src/Locale/ml/Medicine.json @@ -0,0 +1,68 @@ +{ + "medicine": "р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Н", + "route": "р┤▒р╡Вр┤Яр╡Нр┤Яр╡Н", + "dosage": "р┤Ер┤│р┤╡р╡Н", + "base_dosage": "р┤Ер┤│р┤╡р╡Н", + "start_dosage": "р┤бр╡Лр┤╕р╡Н р┤Жр┤░р┤Вр┤нр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "target_dosage": "р┤Яр┤╛р╡╝р┤Чр╡Жр┤▒р╡Нр┤▒р╡Н р┤бр╡Лр┤╕р╡Н", + "instruction_on_titration": "р┤Яр╡Ир┤▒р╡Нр┤▒р┤▒р╡Зр┤╖р┤ир╡Жр┤Хр╡Нр┤Хр╡Бр┤▒р┤┐р┤Ър╡Нр┤Ър╡Бр┤│р╡Нр┤│ р┤ир┤┐р╡╝р┤жр╡Нр┤жр╡Зр┤╢р┤В", + "titrate_dosage": "р┤Яр╡Ир┤Яр╡Нр┤░р╡Зр┤▒р╡Нр┤▒р╡Н р┤бр╡Лр┤╕р╡Н", + "indicator": "р┤╕р╡Вр┤Ър┤Хр┤В", + "inidcator_event": "р┤Зр╡╗р┤бр┤┐р┤Хр╡Нр┤Хр╡Зр┤▒р╡Нр┤▒р╡╝ р┤Зр┤╡р╡╗р╡Нр┤▒р╡Н", + "max_dosage_24_hrs": "р┤кр┤░р┤ор┤╛р┤╡р┤зр┤┐. 24 р┤ор┤гр┤┐р┤Хр╡Нр┤Хр╡Вр┤▒р┤┐р┤ир╡Бр┤│р╡Нр┤│р┤┐р╡╜ р┤бр╡Лр┤╕р╡Н.", + "min_time_bw_doses": "р┤ор┤┐р┤ир┤┐. р┤╕р┤ор┤пр┤В b/w р┤бр╡Лр┤╕р╡Бр┤Хр╡╛", + "manage_prescriptions": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐р┤Хр╡╛ р┤Хр╡Ир┤Хр┤╛р┤░р╡Нр┤пр┤В р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "prescription_details": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛", + "prescription_medications": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Бр┤Хр╡╛", + "prn_prescriptions": "PRN р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐р┤Хр╡╛", + "prescription": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐", + "discharge_prescription": "р┤бр┤┐р┤╕р╡Нр┤Ър┤╛р╡╝р┤Ьр╡Н р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐", + "edit_prescriptions": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐р┤Хр╡╛ р┤Ор┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "prescription_medication": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Н", + "add_prescription_medication": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Н р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "prn_prescription": "PRN р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐", + "add_prn_prescription": "PRN р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "add_prescription_to_consultation_note": "р┤И р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р┤ир┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤Тр┤░р╡Б р┤кр╡Бр┤др┤┐р┤п р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х.", + "medicine_administration_history": "р┤ор╡Жр┤бр┤┐р┤╕р┤┐р╡╗ р┤Ер┤бр╡Нр┤ор┤┐р┤ир┤┐р┤╕р╡Нр┤Яр╡Нр┤░р╡Зр┤╖р╡╗ р┤Ър┤░р┤┐р┤др╡Нр┤░р┤В", + "return_to_patient_dashboard": "р┤кр╡Зр┤╖р╡Нр┤пр╡╗р╡Нр┤▒р╡Н р┤бр┤╛р┤╖р╡НтАМр┤мр╡Лр╡╝р┤бр┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤ор┤Яр┤Щр╡Нр┤Щр╡Бр┤Х", + "administered_on": "р┤ор╡Зр╡╜ р┤ир┤Яр┤др╡Нр┤др┤┐", + "administer": "р┤нр┤░р┤гр┤В р┤ир┤Яр┤др╡Нр┤др╡Бр┤Х", + "administer_medicine": "р┤ор╡Жр┤бр┤┐р┤╕р┤┐р╡╗ р┤ир┤Яр┤др╡Нр┤др╡Бр┤Х", + "administer_medicines": "р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Бр┤Хр╡╛ р┤ир╡╜р┤Хр╡Бр┤Х", + "administer_selected_medicines": "р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤др╡Нр┤д р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Бр┤Хр╡╛ р┤ир╡╜р┤Хр╡Бр┤Х", + "select_for_administration": "р┤Ер┤бр╡Нр┤ор┤┐р┤ир┤┐р┤╕р╡Нр┤Яр╡Нр┤░р╡Зр┤╖р┤ир┤╛р┤пр┤┐ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "medicines_administered": "р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Н(р┤Хр╡╛) р┤ир╡╜р┤Хр┤┐", + "medicines_administered_error": "р┤ор┤░р╡Бр┤ир╡Нр┤ир╡Н(р┤Хр╡╛) р┤ир╡╜р┤Хр╡Бр┤ир╡Нр┤ир┤др┤┐р╡╜ р┤кр┤┐р┤╢р┤Хр╡Н", + "prescription_discontinued": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤ир┤┐р╡╝р┤др╡Нр┤др┤▓р┤╛р┤Хр╡Нр┤Хр┤┐", + "administration_notes": "р┤Ер┤бр╡Нр┤ор┤┐р┤ир┤┐р┤╕р╡Нр┤Яр╡Нр┤░р╡Зр┤╖р╡╗ р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛", + "last_administered": "р┤Ер┤╡р┤╕р┤╛р┤ир┤В р┤нр┤░р┤┐р┤Ър╡Нр┤Ър┤др╡Н", + "prescription_logs": "р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤░р╡Зр┤Цр┤Хр╡╛", + "modification_caution_note": "р┤Тр┤░р┤┐р┤Хр╡Нр┤Хр╡╜ р┤Ър╡Зр╡╝р┤др╡Нр┤др╡Бр┤Хр┤┤р┤┐р┤Юр╡Нр┤Юр┤╛р╡╜ р┤ор┤╛р┤▒р╡Нр┤▒р┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤╕р┤╛р┤зр╡Нр┤пр┤ор┤▓р╡Нр┤▓", + "discontinue_caution_note": "р┤И р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤ир┤┐р╡╝р┤др╡Нр┤др┤гр┤ор╡Жр┤ир╡Нр┤ир╡Н р┤др╡Ар╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤гр╡Л?", + "confirm_discontinue": "р┤ир┤┐р╡╝р┤др╡Нр┤др┤▓р┤╛р┤Хр╡Нр┤Хр╡╜ р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "edit_caution_note": "р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р┤ир┤┐р╡╜ р┤Ор┤бр┤┐р┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤д р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр┤│р╡Лр┤Яр╡Кр┤кр╡Нр┤кр┤В р┤Тр┤░р╡Б р┤кр╡Бр┤др┤┐р┤п р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Хр┤пр╡Бр┤В р┤ир┤┐р┤▓р┤╡р┤┐р┤▓р╡Бр┤│р╡Нр┤│ р┤Хр╡Бр┤▒р┤┐р┤кр╡Нр┤кр┤Яр┤┐ р┤ир┤┐р╡╝р┤др╡Нр┤др┤▓р┤╛р┤Хр╡Нр┤Хр╡Бр┤Хр┤пр╡Бр┤В р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤В.", + "reason_for_discontinuation": "р┤ир┤┐р╡╝р┤др╡Нр┤др┤▓р┤╛р┤Хр╡Нр┤Хр┤╛р┤ир╡Бр┤│р╡Нр┤│ р┤Хр┤╛р┤░р┤гр┤В", + "reason_for_edit": "р┤др┤┐р┤░р╡Бр┤др╡Нр┤др┤╛р┤ир╡Бр┤│р╡Нр┤│ р┤Хр┤╛р┤░р┤гр┤В", + "PRESCRIPTION_ROUTE_ORAL": "р┤╡р┤╛р┤ор╡Кр┤┤р┤┐", + "PRESCRIPTION_ROUTE_IV": "IV", + "PRESCRIPTION_ROUTE_IM": "р┤Р.р┤Ор┤В", + "PRESCRIPTION_ROUTE_SC": "р┤Ор┤╕р╡Н/р┤╕р┤┐", + "PRESCRIPTION_ROUTE_INHALATION": "р┤Зр╡╗р┤╣р┤╛р┤▓р╡Зр┤╖р╡╗", + "PRESCRIPTION_ROUTE_NASOGASTRIC": "р┤ир┤╛р┤╕р╡Лр┤Чр┤╛р┤╕р╡Нр┤Яр╡Нр┤░р┤┐р┤Хр╡Н / р┤Чр╡Нр┤пр┤╛р┤╕р╡Нр┤Яр╡Нр┤░р╡Лр┤╕р╡Нр┤▒р╡Нр┤▒р┤ор┤┐ р┤Яр╡Нр┤пр╡Вр┤мр╡Н", + "PRESCRIPTION_ROUTE_INTRATHECAL": "р┤Зр╡╗р┤Яр╡Нр┤░р┤╛р┤др╡Жр┤Хр╡Нр┤Хр╡╜ р┤Хр╡Бр┤др╡Нр┤др┤┐р┤╡р┤пр╡Нр┤кр╡Нр┤кр╡Н", + "PRESCRIPTION_ROUTE_TRANSDERMAL": "р┤Яр╡Нр┤░р┤╛р╡╗р┤╕р╡Нр┤бр╡Жр╡╝р┤ор╡╜", + "PRESCRIPTION_ROUTE_RECTAL": "р┤ор┤▓р┤жр╡Нр┤╡р┤╛р┤░р┤В", + "PRESCRIPTION_ROUTE_SUBLINGUAL": "р┤Йр┤кр┤нр┤╛р┤╖р┤╛р┤кр┤░р┤ор┤╛р┤п", + "PRESCRIPTION_FREQUENCY_STAT": "р┤Йр┤Яр┤ир╡Ж", + "PRESCRIPTION_FREQUENCY_OD": "р┤жр┤┐р┤╡р┤╕р┤др╡Нр┤др┤┐р╡╜ р┤Тр┤░р┤┐р┤Хр╡Нр┤Хр╡╜", + "PRESCRIPTION_FREQUENCY_HS": "р┤░р┤╛р┤др╡Нр┤░р┤┐ р┤ор┤╛р┤др╡Нр┤░р┤В", + "PRESCRIPTION_FREQUENCY_BD": "р┤жр┤┐р┤╡р┤╕р╡Зр┤и р┤░р┤гр╡Нр┤Яр╡Бр┤др┤╡р┤г", + "PRESCRIPTION_FREQUENCY_TID": "р┤Ор┤Яр╡Нр┤Яр┤╛р┤В р┤ор┤гр┤┐р┤Хр╡Нр┤Хр╡Вр╡╝", + "PRESCRIPTION_FREQUENCY_QID": "р┤Жр┤▒р┤╛р┤В р┤ор┤гр┤┐р┤Хр╡Нр┤Хр╡Вр╡╝", + "PRESCRIPTION_FREQUENCY_Q4H": "р┤ир┤╛р┤▓р┤╛р┤ор┤др╡Нр┤др╡Ж р┤ор┤гр┤┐р┤Хр╡Нр┤Хр╡Вр╡╝", + "PRESCRIPTION_FREQUENCY_QOD": "р┤Зр┤др┤░ р┤жр┤┐р┤╡р┤╕р┤В", + "PRESCRIPTION_FREQUENCY_QWK": "р┤Жр┤┤р╡Нр┤Ър┤пр┤┐р╡╜ р┤Тр┤░р┤┐р┤Хр╡Нр┤Хр╡╜", + "inconsistent_dosage_units_error": "р┤бр╡Лр┤╕р╡Зр┤Ьр╡Н р┤пр╡Вр┤гр┤┐р┤▒р╡Нр┤▒р╡Бр┤Хр╡╛ р┤Тр┤ир╡Нр┤ир┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤гр┤В", + "max_dosage_in_24hrs_gte_base_dosage_error": "р┤кр┤░р┤ор┤╛р┤╡р┤зр┤┐. 24 р┤ор┤гр┤┐р┤Хр╡Нр┤Хр╡Вр┤▒р┤┐р┤ир╡Бр┤│р╡Нр┤│р┤┐р┤▓р╡Ж р┤бр╡Лр┤╕р╡Н р┤Ер┤Яр┤┐р┤╕р╡Нр┤ер┤╛р┤и р┤бр╡Лр┤╕р╡Зр┤Ьр┤┐р┤ир╡Зр┤Хр╡Нр┤Хр┤╛р╡╛ р┤Хр╡Вр┤Яр╡Бр┤др┤▓р╡Л р┤др╡Бр┤▓р╡Нр┤пр┤ор╡Л р┤Жр┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤гр┤В", + "administration_dosage_range_error": "р┤бр╡Лр┤╕р╡Н р┤Жр┤░р┤Вр┤нр┤др╡Нр┤др┤┐р┤ир╡Бр┤В р┤Яр┤╛р╡╝р┤Чр╡Жр┤▒р╡Нр┤▒р╡Н р┤бр╡Лр┤╕р╡Зр┤Ьр┤┐р┤ир╡Бр┤В р┤Зр┤Яр┤пр┤┐р┤▓р┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤гр┤В" +} \ No newline at end of file diff --git a/src/Locale/ml/Notifications.json b/src/Locale/ml/Notifications.json new file mode 100644 index 00000000000..bc96457ecf3 --- /dev/null +++ b/src/Locale/ml/Notifications.json @@ -0,0 +1,22 @@ +{ + "no_notices_for_you": "р┤ир┤┐р┤Щр╡Нр┤Щр╡╛р┤Хр╡Нр┤Хр┤╛р┤пр┤┐ р┤Ер┤▒р┤┐р┤пр┤┐р┤кр╡Нр┤кр╡Бр┤Хр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓.", + "mark_as_read": "р┤╡р┤╛р┤пр┤┐р┤Ър╡Нр┤Ър┤др┤╛р┤пр┤┐ р┤Ер┤Яр┤пр┤╛р┤│р┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤др╡Нр┤др╡Бр┤Х", + "mark_as_unread": "р┤╡р┤╛р┤пр┤┐р┤Хр╡Нр┤Хр┤╛р┤др╡Нр┤др┤др┤╛р┤пр┤┐ р┤Ер┤Яр┤пр┤╛р┤│р┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤др╡Нр┤др╡Бр┤Х", + "subscribe": "р┤╕р┤мр╡Нр┤╕р╡Нр┤Хр╡Нр┤░р╡Ир┤мр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "subscribe_on_this_device": "р┤И р┤Йр┤кр┤Хр┤░р┤гр┤др╡Нр┤др┤┐р╡╜ р┤╕р┤мр╡Нр┤╕р╡Нр┤Хр╡Нр┤░р╡Ир┤мр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "show_unread_notifications": "р┤╡р┤╛р┤пр┤┐р┤Хр╡Нр┤Хр┤╛р┤др╡Нр┤др┤др╡Н р┤Хр┤╛р┤гр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "show_all_notifications": "р┤Ор┤▓р╡Нр┤▓р┤╛р┤В р┤Хр┤╛р┤гр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "filter_by_category": "р┤╡р┤┐р┤нр┤╛р┤Чр┤В р┤Ер┤ир╡Бр┤╕р┤░р┤┐р┤Ър╡Нр┤Ър╡Н р┤лр┤┐р╡╜р┤Яр╡Нр┤Яр╡╝ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "mark_all_as_read": "р┤Ор┤▓р╡Нр┤▓р┤╛р┤В р┤╡р┤╛р┤пр┤┐р┤Ър╡Нр┤Ър┤др┤╛р┤пр┤┐ р┤Ер┤Яр┤пр┤╛р┤│р┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤др╡Нр┤др╡Бр┤Х", + "reload": "р┤╡р╡Ар┤гр╡Нр┤Яр╡Бр┤В р┤▓р╡Лр┤бр╡Бр┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "Notifications": "р┤Ер┤▒р┤┐р┤пр┤┐р┤кр╡Нр┤кр╡Бр┤Хр╡╛", + "no_results_found": "р┤лр┤▓р┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤В р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "load_more": "р┤Хр╡Вр┤Яр╡Бр┤др╡╜ р┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "subscription_error": "р┤╕р┤мр╡Нр┤╕р╡Нр┤Хр╡Нр┤░р┤┐р┤кр╡Нр┤╖р╡╗ р┤кр┤┐р┤╢р┤Хр╡Н", + "unsubscribe_failed": "р┤Ер╡║р┤╕р┤мр╡НтАМр┤╕р╡НтАМр┤Хр╡Нр┤░р╡Ир┤мр╡Н р┤Ър╡Жр┤пр╡Нр┤пр┤╛р┤ир┤╛р┤пр┤┐р┤▓р╡Нр┤▓.", + "unsubscribe": "р┤Ер╡║р┤╕р┤мр╡Нр┤╕р╡Нр┤Хр╡Нр┤░р╡Ир┤мр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "escape": "р┤░р┤Хр╡Нр┤╖р┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤Х", + "loading": "р┤▓р╡Лр┤бр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤ир╡Нр┤ир╡Б...", + "invalid_asset_id_msg": "р┤╢р╡Нр┤╢р╡Л! р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤ир╡╜р┤Хр┤┐р┤п р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤Рр┤бр┤┐ р┤╕р┤╛р┤зр╡Бр┤др┤пр╡Бр┤│р╡Нр┤│р┤др┤╛р┤пр┤┐ р┤Хр┤╛р┤гр╡Бр┤ир╡Нр┤ир┤┐р┤▓р╡Нр┤▓.", + "asset_not_found_msg": "р┤╢р╡Нр┤╢р╡Л! р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤Ер┤ир╡Нр┤╡р╡Зр┤╖р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤и р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤ир┤┐р┤▓р┤╡р┤┐р┤▓р┤┐р┤▓р╡Нр┤▓. р┤Ер┤╕р┤▒р╡Нр┤▒р╡Н р┤Рр┤бр┤┐ р┤кр┤░р┤┐р┤╢р╡Лр┤зр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х." +} diff --git a/src/Locale/ml/Resource.json b/src/Locale/ml/Resource.json new file mode 100644 index 00000000000..b1a82f52458 --- /dev/null +++ b/src/Locale/ml/Resource.json @@ -0,0 +1,12 @@ +{ + "create_resource_request": "р┤▒р┤┐р┤╕р╡Лр┤┤р╡Нр┤╕р╡Н р┤Ер┤нр╡Нр┤пр╡╝р┤др╡Нр┤ер┤и р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "contact_person": "р┤лр╡Жр┤╕р┤┐р┤▓р┤┐р┤▒р╡Нр┤▒р┤┐р┤пр┤┐р╡╜ р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤ир╡Нр┤и р┤╡р╡Нр┤пр┤Хр╡Нр┤др┤┐р┤пр╡Бр┤Яр╡Ж р┤кр╡Зр┤░р╡Н", + "approving_facility": "р┤Ер┤Вр┤Чр╡Ар┤Хр┤╛р┤░р┤В р┤ир╡╜р┤Хр╡Бр┤ир╡Нр┤и р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤кр╡Зр┤░р╡Н", + "contact_phone": "р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр┤╛р┤ир╡Бр┤│р╡Нр┤│ р┤╡р╡Нр┤пр┤Хр╡Нр┤др┤┐ р┤ир┤ор╡Нр┤кр╡╝", + "request_title": "р┤кр╡Зр┤░р╡Н р┤Ер┤нр╡Нр┤пр╡╝р┤др╡Нр┤ер┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "request_title_placeholder": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤др┤▓р┤Хр╡Нр┤Хр╡Жр┤Яр╡Нр┤Яр╡Н р┤Зр┤╡р┤┐р┤Яр╡Ж р┤Яр╡Ир┤кр╡Нр┤кр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "required_quantity": "р┤Жр┤╡р┤╢р╡Нр┤пр┤ор┤╛р┤п р┤Ер┤│р┤╡р╡Н", + "request_description": "р┤Ер┤нр╡Нр┤пр╡╝р┤др╡Нр┤ер┤ир┤пр╡Бр┤Яр╡Ж р┤╡р┤┐р┤╡р┤░р┤гр┤В", + "request_description_placeholder": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤╡р┤┐р┤╡р┤░р┤гр┤В р┤Зр┤╡р┤┐р┤Яр╡Ж р┤Яр╡Ир┤кр╡Нр┤кр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "search_resource": "р┤др┤┐р┤░р┤пр╡╜ р┤▒р┤┐р┤╕р╡Лр┤┤р╡Нр┤╕р╡Н" +} diff --git a/src/Locale/ml/Shifting.json b/src/Locale/ml/Shifting.json new file mode 100644 index 00000000000..47e8aedc937 --- /dev/null +++ b/src/Locale/ml/Shifting.json @@ -0,0 +1,90 @@ +{ + "emergency": "р┤Ер┤Яр┤┐р┤пр┤ир╡Нр┤др┤░р┤╛р┤╡р┤╕р╡Нр┤е", + "up_shift": "р┤ор╡Бр┤Хр┤│р┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р╡Н", + "antenatal": "р┤Ьр┤ир┤ир┤др╡Нр┤др┤┐р┤ир╡Бр┤ор╡Бр┤ор╡Нр┤кр╡Н", + "phone_no": "р┤лр╡Лр╡║ р┤ир┤ор╡Нр┤кр╡╝.", + "patient_name": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤кр╡Зр┤░р╡Н", + "disease_status": "р┤░р╡Лр┤Чр┤╛р┤╡р┤╕р╡Нр┤е", + "breathlessness_level": "р┤╢р╡Нр┤╡р┤╛р┤╕р┤др┤Яр┤╕р╡Нр┤╕р┤В р┤ир┤┐р┤▓", + "assigned_facility": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤Пр╡╜р┤кр╡Нр┤кр┤┐р┤Ър╡Нр┤Ър╡Б", + "origin_facility": "р┤ир┤┐р┤▓р┤╡р┤┐р┤▓р╡Ж р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В", + "shifting_approval_facility": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤Вр┤Чр╡Н р┤Ер┤Вр┤Чр╡Ар┤Хр┤╛р┤░ р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В", + "shifting": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤Вр┤Чр╡Н", + "search_patient": "р┤░р╡Лр┤Чр┤┐р┤пр╡Ж р┤др┤┐р┤░р┤пр╡Бр┤Х", + "list_view": "р┤▓р┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р╡Н р┤Хр┤╛р┤┤р╡Нр┤Ъ", + "comment_min_length": "р┤Хр┤ор╡╗р╡Нр┤▒р┤┐р╡╜ р┤Хр╡Бр┤▒р┤Юр╡Нр┤Юр┤др╡Н 1 р┤кр╡Нр┤░р┤др╡Ар┤Хр┤ор╡Жр┤Щр╡Нр┤Хр┤┐р┤▓р╡Бр┤В р┤Йр┤гр╡Нр┤Яр┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤гр┤В", + "comment_added_successfully": "р┤Ер┤нр┤┐р┤кр╡Нр┤░р┤╛р┤пр┤В р┤╡р┤┐р┤Ьр┤пр┤Хр┤░р┤ор┤╛р┤пр┤┐ р┤Ър╡Зр╡╝р┤др╡Нр┤др╡Б", + "post_your_comment": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Ер┤нр┤┐р┤кр╡Нр┤░р┤╛р┤пр┤В р┤кр╡Лр┤╕р╡Нр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "shifting_approving_facility": "р┤Ер┤Вр┤Чр╡Ар┤Хр┤╛р┤░р┤В р┤ир╡╜р┤Хр╡Бр┤ир╡Нр┤и р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤ор┤╛р┤▒р╡Нр┤▒р╡Бр┤ир╡Нр┤ир╡Б", + "is_emergency_case": "р┤Ер┤Яр┤┐р┤пр┤ир╡Нр┤др┤░ р┤╕р┤╛р┤╣р┤Ър┤░р╡Нр┤пр┤ор┤╛р┤гр╡Н", + "is_upshift_case": "р┤Хр╡Зр┤╕р╡Н р┤ор┤╛р┤▒р╡Нр┤▒р┤┐", + "is_antenatal": "р┤Ьр┤ир┤ир┤др╡Нр┤др┤┐р┤ир╡Б р┤ор╡Бр┤ор╡Нр┤кр╡Бр┤│р╡Нр┤│р┤др┤╛р┤гр╡Н", + "patient_phone_number": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤лр╡Лр╡║ р┤ир┤ор╡Нр┤кр╡╝", + "created_date": "р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Ър╡Нр┤Ъ р┤др╡Ар┤пр┤др┤┐", + "modified_date": "р┤кр┤░р┤┐р┤╖р╡Нр┤Хр┤░р┤┐р┤Ър╡Нр┤Ъ р┤др╡Ар┤пр┤др┤┐", + "no_patients_to_show": "р┤Хр┤╛р┤гр┤┐р┤Хр╡Нр┤Хр┤╛р╡╗ р┤░р╡Лр┤Чр┤┐р┤Хр┤│р┤┐р┤▓р╡Нр┤▓.", + "shifting_status": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤Вр┤Чр╡Н р┤╕р╡Нр┤▒р╡Нр┤▒р┤╛р┤▒р╡Нр┤▒р┤╕р╡Н", + "transfer_to_receiving_facility": "р┤╕р╡Нр┤╡р╡Ар┤Хр┤░р┤┐р┤Хр╡Нр┤Хр┤╛р┤ир╡Бр┤│р╡Нр┤│ р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤▓р╡Зр┤Хр╡Нр┤Хр╡Н р┤Яр╡Нр┤░р┤╛р╡╗р┤╕р╡Нр┤лр╡╝ р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "confirm_transfer_complete": "р┤Хр╡Ир┤ор┤╛р┤▒р╡Нр┤▒р┤В р┤кр╡Вр╡╝р┤др╡Нр┤др┤┐р┤пр┤╛р┤пр╡Жр┤ир╡Нр┤ир╡Н р┤╕р╡Нр┤ер┤┐р┤░р╡Ар┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х!", + "mark_transfer_complete_confirmation": "р┤И р┤Хр╡Ир┤ор┤╛р┤▒р╡Нр┤▒р┤В р┤кр╡Вр╡╝р┤др╡Нр┤др┤┐р┤пр┤╛р┤пр┤др┤╛р┤пр┤┐ р┤Ер┤Яр┤пр┤╛р┤│р┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤др╡Нр┤др┤гр┤ор╡Жр┤ир╡Нр┤ир╡Н р┤др╡Ар╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤гр╡Л? р┤Тр┤▒р┤┐р┤Ьр┤┐р╡╗ р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤ир╡Н р┤И р┤░р╡Лр┤Чр┤┐р┤Хр╡Нр┤Хр╡Н р┤Зр┤ир┤┐ р┤Жр┤Хр╡НтАМр┤╕р┤╕р╡Н р┤Йр┤гр╡Нр┤Яр┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤┐р┤▓р╡Нр┤▓", + "board_view": "р┤мр╡Лр╡╝р┤бр╡Н р┤Хр┤╛р┤┤р╡Нр┤Ъ", + "shifting_deleted": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤Вр┤Чр╡Н р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤╡р┤┐р┤Ьр┤пр┤Хр┤░р┤ор┤╛р┤пр┤┐ р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр┤┐.", + "details_of_shifting_approving_facility": "р┤Ер┤Вр┤Чр╡Ар┤Хр┤╛р┤░р┤В р┤ир╡╜р┤Хр╡Бр┤ир╡Нр┤и р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤ор┤╛р┤▒р╡Нр┤▒р╡Бр┤ир╡Нр┤ир┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛", + "details_of_assigned_facility": "р┤ир┤┐р┤пр╡Бр┤Хр╡Нр┤д р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛", + "details_of_origin_facility": "р┤Йр┤▒р┤╡р┤┐р┤Я р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛", + "details_of_patient": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛", + "record_delete_confirm": "р┤И р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр┤гр┤ор╡Жр┤ир╡Нр┤ир╡Н р┤др╡Ар╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤гр╡Л?", + "phone_number_at_current_facility": "р┤ир┤┐р┤▓р┤╡р┤┐р┤▓р╡Ж р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р╡╜ р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤ир╡Нр┤и р┤╡р╡Нр┤пр┤Хр╡Нр┤др┤┐р┤пр╡Бр┤Яр╡Ж р┤лр╡Лр╡║ р┤ир┤ор╡Нр┤кр╡╝", + "authorize_shift_delete": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р╡Н р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр╡╜ р┤Ер┤Вр┤Чр╡Ар┤Хр┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "delete_record": "р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр╡Бр┤Х", + "severity_of_breathlessness": "р┤╢р╡Нр┤╡р┤╛р┤╕р┤др┤Яр┤╕р╡Нр┤╕р┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤др╡Ар┤╡р╡Нр┤░р┤д", + "facility_preference": "р┤╕р╡Чр┤Хр┤░р╡Нр┤п р┤ор╡Бр╡╗р┤Чр┤гр┤и", + "vehicle_preference": "р┤╡р┤╛р┤╣р┤и р┤ор╡Бр╡╗р┤Чр┤гр┤и", + "is_up_shift": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р╡Н р┤Жр┤пр┤┐", + "patient_category": "р┤░р╡Лр┤Чр┤┐р┤Хр┤│р╡Бр┤Яр╡Ж р┤╡р┤┐р┤нр┤╛р┤Чр┤В", + "ambulance_driver_name": "р┤Жр┤Вр┤мр╡Бр┤▓р╡╗р┤╕р╡Н р┤бр╡Нр┤░р╡Ир┤╡р┤▒р╡Бр┤Яр╡Ж р┤кр╡Зр┤░р╡Н", + "ambulance_phone_number": "р┤Жр┤Вр┤мр╡Бр┤▓р╡╗р┤╕р┤┐р╡╗р╡Нр┤▒р╡Ж р┤лр╡Лр╡║ р┤ир┤ор╡Нр┤кр╡╝", + "ambulance_number": "р┤Жр┤Вр┤мр╡Бр┤▓р╡╗р┤╕р╡Н р┤ир┤В", + "is_emergency": "р┤Ер┤Яр┤┐р┤пр┤ир╡Нр┤др┤░р┤╛р┤╡р┤╕р╡Нр┤ер┤пр┤╛р┤гр╡Н", + "contact_person_at_the_facility": "р┤ир┤┐р┤▓р┤╡р┤┐р┤▓р╡Ж р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤▓р╡Бр┤│р╡Нр┤│ р┤╡р╡Нр┤пр┤Хр╡Нр┤др┤┐р┤пр╡Бр┤ор┤╛р┤пр┤┐ р┤мр┤ир╡Нр┤зр┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤Х", + "update_status_details": "р┤╕р╡Нр┤▒р╡Нр┤▒р┤╛р┤▒р╡Нр┤▒р┤╕р╡Н/р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛ р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "shifting_details": "р┤╡р┤┐р┤╢р┤жр┤╛р┤Вр┤╢р┤Щр╡Нр┤Щр╡╛ р┤ор┤╛р┤▒р╡Нр┤▒р╡Бр┤ир╡Нр┤ир╡Б", + "auto_generated_for_care": "р┤кр┤░р┤┐р┤Ър┤░р┤гр┤др╡Нр┤др┤┐р┤ир┤╛р┤пр┤┐ р┤╕р╡Нр┤╡р┤пр┤ор╡Зр┤╡ р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Ър╡Нр┤Ър┤др╡Н", + "approved_by_district_covid_control_room": "р┤Ьр┤┐р┤▓р╡Нр┤▓р┤╛ р┤Хр╡Лр┤╡р┤┐р┤бр╡Н р┤Хр╡║р┤Яр╡Нр┤░р╡Лр╡╛ р┤▒р╡Вр┤В р┤Ер┤Вр┤Чр╡Ар┤Хр┤░р┤┐р┤Ър╡Нр┤Ър╡Б", + "treatment_summary": "р┤Ър┤┐р┤Хр┤┐р┤др╡Нр┤╕р┤пр╡Бр┤Яр╡Ж р┤╕р┤Вр┤Чр╡Нр┤░р┤╣р┤В", + "reason_for_referral": "р┤▒р┤лр┤▒р╡╜ р┤Ър╡Жр┤пр╡Нр┤пр┤╛р┤ир╡Бр┤│р╡Нр┤│ р┤Хр┤╛р┤░р┤гр┤В", + "referred_to": "р┤кр┤░р┤╛р┤ор╡╝р┤╢р┤┐р┤Ър╡Нр┤Ър┤др╡Н", + "covid_19_cat_gov": "р┤╕р╡╝р┤Хр╡Нр┤Хр┤╛р╡╝ р┤кр╡Нр┤░р┤Хр┤╛р┤░р┤В р┤Хр╡Лр┤╡р┤┐р┤бр╡Н_19 р┤Хр╡Нр┤▓р┤┐р┤ир┤┐р┤Хр╡Нр┤Хр╡╜ р┤╡р┤┐р┤нр┤╛р┤Чр┤В. р┤Хр╡Зр┤░р┤│ р┤ор┤╛р╡╝р┤Чр┤░р╡Зр┤Ц (р┤О/р┤мр┤┐/р┤╕р┤┐)", + "district_program_management_supporting_unit": "р┤Ьр┤┐р┤▓р╡Нр┤▓р┤╛ р┤кр╡Нр┤░р╡Лр┤Чр╡Нр┤░р┤╛р┤В р┤ор┤╛р┤ир╡Зр┤Ьр╡Нр┤ор╡Жр╡╗р╡Нр┤▒р╡Н р┤╕р┤кр╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр┤┐р┤Вр┤Чр╡Н р┤пр╡Вр┤гр┤┐р┤▒р╡Нр┤▒р╡Н", + "name_of_hospital": "р┤Жр┤╢р╡Бр┤кр┤др╡Нр┤░р┤┐р┤пр╡Бр┤Яр╡Ж р┤кр╡Зр┤░р╡Н", + "passport_number": "р┤кр┤╛р┤╕р╡Нр┤кр╡Лр╡╝р┤Яр╡Нр┤Яр╡Н р┤ир┤ор╡Нр┤кр╡╝", + "test_type": "р┤Яр╡Жр┤╕р╡Нр┤▒р╡Нр┤▒р╡Н р┤др┤░р┤В", + "medical_worker": "р┤ор╡Жр┤бр┤┐р┤Хр╡Нр┤Хр╡╜ р┤╡р╡╝р┤Хр╡Нр┤Хр╡╝", + "error_deleting_shifting": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤Вр┤Чр╡Н р┤▒р╡Жр┤Хр╡Нр┤Хр╡Лр╡╝р┤бр╡Н р┤Зр┤▓р╡Нр┤▓р┤╛р┤др┤╛р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др┤┐р╡╜ р┤кр┤┐р┤╢р┤Хр╡Н", + "type_any_extra_comments_here": "р┤Ор┤ир╡Нр┤др╡Жр┤Щр╡Нр┤Хр┤┐р┤▓р╡Бр┤В р┤Ер┤зр┤┐р┤Х р┤Ер┤нр┤┐р┤кр╡Нр┤░р┤╛р┤пр┤Щр╡Нр┤Щр╡╛ р┤Зр┤╡р┤┐р┤Яр╡Ж р┤Яр╡Ир┤кр╡Нр┤кр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "type_your_reason_here": "р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Бр┤Яр╡Ж р┤Хр┤╛р┤░р┤гр┤В р┤Зр┤╡р┤┐р┤Яр╡Ж р┤Яр╡Ир┤кр╡Нр┤кр╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "reason_for_shift": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤ир╡Бр┤│р╡Нр┤│ р┤Хр┤╛р┤░р┤гр┤В", + "preferred_facility_type": "р┤Зр┤╖р╡Нр┤Яр┤кр╡Нр┤кр╡Жр┤Яр╡Нр┤Я р┤╕р╡Чр┤Хр┤░р╡Нр┤п р┤др┤░р┤В", + "preferred_vehicle": "р┤Зр┤╖р╡Нр┤Яр┤кр╡Нр┤кр╡Жр┤Яр╡Нр┤Я р┤╡р┤╛р┤╣р┤ир┤В", + "is_it_upshift": "р┤Ер┤др╡Н р┤Йр┤пр╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤гр╡Л?", + "is_this_an_upshift": "р┤Зр┤др╡Кр┤░р╡Б р┤Йр┤пр╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤гр╡Л?", + "is_this_an_emergency": "р┤Зр┤др╡Кр┤░р╡Б р┤Ер┤Яр┤┐р┤пр┤ир╡Нр┤др┤░р┤╛р┤╡р┤╕р╡Нр┤ер┤пр┤╛р┤гр╡Л?", + "what_facility_assign_the_patient_to": "р┤Пр┤др╡Н р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤ор┤╛р┤гр╡Н р┤░р╡Лр┤Чр┤┐р┤пр╡Ж р┤Пр╡╜р┤кр╡Нр┤кр┤┐р┤Хр╡Нр┤Хр┤╛р╡╗ р┤ир┤┐р┤Щр╡Нр┤Щр╡╛ р┤Жр┤Чр╡Нр┤░р┤╣р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир┤др╡Н", + "name_of_shifting_approving_facility": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤Вр┤Чр╡Н р┤Ер┤кр╡Нр┤░р╡Вр┤╡р┤┐р┤Вр┤Чр╡Н р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤кр╡Зр┤░р╡Н", + "update_shift_request": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р╡Н р┤Ер┤нр╡Нр┤пр╡╝р┤др╡Нр┤ер┤и р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤Х", + "shift_request_updated_successfully": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р╡Н р┤Ер┤нр╡Нр┤пр╡╝р┤др╡Нр┤ер┤и р┤╡р┤┐р┤Ьр┤пр┤Хр┤░р┤ор┤╛р┤пр┤┐ р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤Ър╡Жр┤пр╡Нр┤др╡Б", + "please_enter_a_reason_for_the_shift": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤ир╡Бр┤│р╡Нр┤│ р┤Хр┤╛р┤░р┤гр┤В р┤ир╡╜р┤Хр╡Бр┤Х.", + "please_select_preferred_vehicle_type": "р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤др╡Нр┤д р┤╡р┤╛р┤╣р┤и р┤др┤░р┤В р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "please_select_facility_type": "р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р╡╗р╡Нр┤▒р╡Ж р┤др┤░р┤В р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "please_select_breathlessness_level": "р┤╢р╡Нр┤╡р┤╛р┤╕р┤др┤Яр┤╕р╡Нр┤╕р┤В р┤ир┤┐р┤▓ р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "please_select_a_facility": "р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤Тр┤░р╡Б р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "please_select_status": "р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤╕р╡Нр┤▒р╡Нр┤▒р┤╛р┤▒р╡Нр┤▒р┤╕р╡Н р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "please_select_patient_category": "р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤░р╡Лр┤Чр┤┐ р┤╡р┤┐р┤нр┤╛р┤Чр┤В р┤др┤┐р┤░р┤Юр╡Нр┤Юр╡Жр┤Яр╡Бр┤Хр╡Нр┤Хр╡Бр┤Х", + "shifting_approving_facility_can_not_be_empty": "р┤╖р┤┐р┤лр╡Нр┤▒р╡Нр┤▒р┤┐р┤Вр┤Чр╡Н р┤Ер┤кр╡Нр┤░р╡Вр┤╡р┤┐р┤Вр┤Чр╡Н р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤╢р╡Вр┤ир╡Нр┤пр┤ор┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤░р╡Бр┤др╡Н.", + "redirected_to_create_consultation": "р┤╢р╡Нр┤░р┤жр╡Нр┤зр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х: р┤Хр╡║р┤╕р╡╛р┤Яр╡Нр┤Яр╡Зр┤╖р╡╗ р┤лр╡Лр┤В р┤╕р╡Гр┤╖р╡НтАМр┤Яр┤┐р┤Хр╡Нр┤Хр┤╛р╡╗ р┤ир┤┐р┤Щр╡Нр┤Щр┤│р╡Ж р┤▒р╡Ар┤бр┤пр┤▒р┤Хр╡НтАМр┤Яр╡Бр┤Ър╡Жр┤пр╡Нр┤пр╡Бр┤В. р┤Хр╡Ир┤ор┤╛р┤▒р╡Нр┤▒ р┤кр╡Нр┤░р┤Хр╡Нр┤░р┤┐р┤п р┤кр╡Вр╡╝р┤др╡Нр┤др┤┐р┤пр┤╛р┤Хр╡Нр┤Хр┤╛р╡╗ р┤жр┤пр┤╡р┤╛р┤пр┤┐ р┤лр╡Лр┤В р┤кр╡Вр┤░р┤┐р┤кр╡Нр┤кр┤┐р┤Хр╡Нр┤Хр╡Бр┤Х", + "mark_this_transfer_as_complete_question": "р┤И р┤Хр╡Ир┤ор┤╛р┤▒р╡Нр┤▒р┤В р┤кр╡Вр╡╝р┤др╡Нр┤др┤┐р┤пр┤╛р┤пр┤др┤╛р┤пр┤┐ р┤Ер┤Яр┤пр┤╛р┤│р┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤др╡Нр┤др┤гр┤ор╡Жр┤ир╡Нр┤ир╡Н р┤др╡Ар╡╝р┤Ър╡Нр┤Ър┤пр┤╛р┤гр╡Л? р┤Тр┤▒р┤┐р┤Ьр┤┐р╡╗ р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤др╡Нр┤др┤┐р┤ир╡Н р┤И р┤░р╡Лр┤Чр┤┐р┤Хр╡Нр┤Хр╡Н р┤Зр┤ир┤┐ р┤Жр┤Хр╡НтАМр┤╕р┤╕р╡Н р┤Йр┤гр╡Нр┤Яр┤╛р┤пр┤┐р┤░р┤┐р┤Хр╡Нр┤Хр┤┐р┤▓р╡Нр┤▓", + "transfer_in_progress": "р┤Хр╡Ир┤ор┤╛р┤▒р╡Нр┤▒р┤В р┤кр╡Бр┤░р╡Лр┤Чр┤ор┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир╡Б", + "patient_state": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤Ер┤╡р┤╕р╡Нр┤е", + "yet_to_be_decided": "р┤Зр┤ир┤┐р┤пр╡Бр┤В р┤др╡Ар┤░р╡Бр┤ор┤╛р┤ир┤ор┤╛р┤пр┤┐р┤Яр╡Нр┤Яр┤┐р┤▓р╡Нр┤▓", + "awaiting_destination_approval": "р┤бр╡Жр┤╕р╡Нр┤▒р╡Нр┤▒р┤┐р┤ир╡Зр┤╖р╡╗ р┤Ер┤ир╡Бр┤ор┤др┤┐р┤Хр╡Нр┤Хр┤╛р┤пр┤┐ р┤Хр┤╛р┤др╡Нр┤др┤┐р┤░р┤┐р┤Хр╡Нр┤Хр╡Бр┤ир╡Нр┤ир╡Б" +} diff --git a/src/Locale/ml/SortOptions.json b/src/Locale/ml/SortOptions.json new file mode 100644 index 00000000000..97eb76e6160 --- /dev/null +++ b/src/Locale/ml/SortOptions.json @@ -0,0 +1,18 @@ +{ + "-created_date": "р┤Жр┤жр╡Нр┤пр┤В р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Ър╡Нр┤Ъ р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр╡Бр┤др┤┐р┤п р┤др╡Ар┤пр┤др┤┐", + "created_date": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр┤┤р┤п р┤╕р╡Гр┤╖р╡Нр┤Яр┤┐р┤Ър╡Нр┤Ъ р┤др╡Ар┤пр┤др┤┐ р┤Жр┤жр╡Нр┤пр┤В", + "-category_severity": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤Йр┤пр╡╝р┤ир╡Нр┤и р┤др╡Ар┤╡р╡Нр┤░р┤д р┤╡р┤┐р┤нр┤╛р┤Чр┤В р┤Жр┤жр╡Нр┤пр┤В", + "category_severity": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤Хр╡Бр┤▒р┤Юр╡Нр┤Ю р┤др╡Ар┤╡р╡Нр┤░р┤д р┤╡р┤┐р┤нр┤╛р┤Чр┤В р┤Жр┤жр╡Нр┤пр┤В", + "-modified_date": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр╡Бр┤др┤┐р┤п р┤Ер┤кр╡Нр┤бр╡Зр┤▒р╡Нр┤▒р╡Н р┤др╡Ар┤пр┤др┤┐ р┤Жр┤жр╡Нр┤пр┤В", + "modified_date": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр┤┤р┤п р┤кр╡Бр┤др╡Бр┤Хр╡Нр┤Хр┤┐р┤п р┤др╡Ар┤пр┤др┤┐ р┤Жр┤жр╡Нр┤пр┤В", + "facility__name,last_consultation__current_bed__bed__name": "р┤мр╡Жр┤бр╡Н р┤ир┤ор╡Нр┤кр╡╝ 1-N", + "facility__name,-last_consultation__current_bed__bed__name": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Х р┤ир┤ор╡Нр┤кр╡╝ N-1", + "-review_time": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр╡Бр┤др┤┐р┤п р┤Ер┤╡р┤▓р╡Лр┤Хр┤и р┤др╡Ар┤пр┤др┤┐ р┤Жр┤жр╡Нр┤пр┤В", + "review_time": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр┤┤р┤п р┤Ер┤╡р┤▓р╡Лр┤Хр┤и р┤др╡Ар┤пр┤др┤┐ р┤Жр┤жр╡Нр┤пр┤В", + "taken_at": "р┤Жр┤жр╡Нр┤пр┤В р┤Ор┤Яр╡Бр┤др╡Нр┤д р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр┤┤р┤п р┤др╡Ар┤пр┤др┤┐", + "-taken_at": "р┤Пр┤▒р╡Нр┤▒р┤╡р╡Бр┤В р┤кр╡Бр┤др┤┐р┤п р┤др╡Ар┤пр┤др┤┐ р┤Жр┤жр╡Нр┤пр┤В", + "name": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤кр╡Зр┤░р╡Н AZ", + "-name": "р┤░р╡Лр┤Чр┤┐р┤пр╡Бр┤Яр╡Ж р┤кр╡Зр┤░р╡Н ZA", + "bed__name": "р┤мр╡Жр┤бр╡Н р┤ир┤ор╡Нр┤кр╡╝ 1-N", + "-bed__name": "р┤Хр┤┐р┤Яр┤Хр╡Нр┤Х р┤ир┤ор╡Нр┤кр╡╝ N-1" +} diff --git a/src/Locale/ml/Users.json b/src/Locale/ml/Users.json new file mode 100644 index 00000000000..1372a90da8e --- /dev/null +++ b/src/Locale/ml/Users.json @@ -0,0 +1,16 @@ +{ + "user_management": "р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др╡Г р┤ор┤╛р┤ир╡Зр┤Ьр╡Нр┤ор╡Жр╡╗р╡Нр┤▒р╡Н", + "facilities": "р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤Щр╡Нр┤Щр╡╛", + "add_new_user": "р┤кр╡Бр┤др┤┐р┤п р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др┤╛р┤╡р┤┐р┤ир╡Ж р┤Ър╡Зр╡╝р┤Хр╡Нр┤Хр╡Бр┤Х", + "no_users_found": "р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др┤╛р┤Хр╡Нр┤Хр┤│р╡Ж р┤Хр┤гр╡Нр┤Яр╡Жр┤др╡Нр┤др┤┐р┤пр┤┐р┤▓р╡Нр┤▓", + "home_facility": "р┤╣р╡Лр┤В р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В", + "no_home_facility": "р┤╡р╡Ар┤Яр┤┐р┤ир╡Бр┤│р╡Нр┤│ р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤ир╡╜р┤Хр┤┐р┤пр┤┐р┤Яр╡Нр┤Яр┤┐р┤▓р╡Нр┤▓", + "clear_home_facility": "р┤╣р╡Лр┤В р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤В р┤ор┤╛р┤пр╡НтАМр┤Хр╡Нр┤Хр╡Бр┤Х", + "linked_facilities": "р┤мр┤ир╡Нр┤зр┤┐р┤кр╡Нр┤кр┤┐р┤Ър╡Нр┤Ъ р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤Щр╡Нр┤Щр╡╛", + "no_linked_facilities": "р┤▓р┤┐р┤Щр╡Нр┤Хр╡Нр┤бр╡Н р┤╕р╡Чр┤Хр┤░р╡Нр┤пр┤Щр╡Нр┤Щр┤│р╡Кр┤ир╡Нр┤ир╡Бр┤ор┤┐р┤▓р╡Нр┤▓", + "average_weekly_working_hours": "р┤кр╡Нр┤░р┤др┤┐р┤╡р┤╛р┤░ р┤╢р┤░р┤╛р┤╢р┤░р┤┐ р┤кр╡Нр┤░р┤╡р╡Гр┤др╡Нр┤др┤┐ р┤╕р┤ор┤пр┤В", + "set_average_weekly_working_hours_for": "р┤Зр┤др┤┐р┤ир┤╛р┤пр┤┐ р┤╢р┤░р┤╛р┤╢р┤░р┤┐ р┤кр╡Нр┤░р┤др┤┐р┤╡р┤╛р┤░ р┤кр╡Нр┤░р┤╡р╡Гр┤др╡Нр┤др┤┐ р┤╕р┤ор┤пр┤В р┤╕р┤Ьр╡Нр┤Ьр┤ор┤╛р┤Хр╡Нр┤Хр╡Бр┤Х", + "search_by_username": "р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др╡Гр┤ир┤╛р┤ор┤В р┤Йр┤кр┤пр╡Лр┤Чр┤┐р┤Ър╡Нр┤Ър╡Н р┤др┤┐р┤░р┤пр╡Бр┤Х", + "last_online": "р┤Ер┤╡р┤╕р┤╛р┤ир┤ор┤╛р┤пр┤┐ р┤Ур╡║р┤▓р╡Ир╡╗", + "total_users": "р┤ор╡Кр┤др╡Нр┤др┤В р┤Йр┤кр┤пр╡Лр┤Хр╡Нр┤др┤╛р┤Хр╡Нр┤Хр╡╛" +} diff --git a/src/Locale/ta/Asset.json b/src/Locale/ta/Asset.json new file mode 100644 index 00000000000..01b803bbfb7 --- /dev/null +++ b/src/Locale/ta/Asset.json @@ -0,0 +1,20 @@ +{ + "create_asset": "роЪрпКродрпНродрпИ роЙро░рпБро╡ро╛роХрпНроХро╡рпБроорпН", + "edit_history": "ро╡ро░ро▓ро╛ро▒рпНро▒рпИродрпН родро┐ро░рпБродрпНродро╡рпБроорпН", + "update_record_for_asset": "роЪрпКродрпНродрпБроХрпНроХро╛рой рокродро┐ро╡рпИрокрпН рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "edited_on": "роЕройрпНро▒рпБ родро┐ро░рпБродрпНродрокрпНрокроЯрпНроЯродрпБ", + "edited_by": "родро┐ро░рпБродрпНродро┐ропродрпБ", + "serviced_on": "роЪрпЗро╡рпИ роЪрпЖропрпНропрокрпНрокроЯрпНроЯродрпБ", + "notes": "роХрпБро▒ро┐рокрпНрокрпБроХро│рпН", + "back": "роорпАрогрпНроЯрпБроорпН", + "close": "роорпВроЯрпБ", + "update_asset_service_record": "роЪрпКродрпНродрпБ роЪрпЗро╡рпИ рокродро┐ро╡рпИ рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "eg_details_on_functionality_service_etc": "роО.роХро╛. роЪрпЖропро▓рпНрокро╛роЯрпБ, роЪрпЗро╡рпИ рокрпЛройрпНро▒ро╡рпИ рокро▒рпНро▒ро┐роп ро╡ро┐ро╡ро░роЩрпНроХро│рпН.", + "updating": "рокрпБродрпБрокрпНрокро┐роХрпНроХро┐ро▒родрпБ", + "update": "рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "are_you_still_watching": "роирпАроЩрпНроХро│рпН роЗройрпНройрпБроорпН рокро╛ро░рпНроХрпНроХро┐ро▒рпАро░рпНроХро│ро╛?", + "stream_stop_due_to_inativity": "ро▓рпИро╡рпН роГрокрпАроЯрпН роЪрпЖропро▓рпНрокроЯро╛родродро╛ро▓рпН ро╕рпНроЯрпНро░рпАрооро┐роЩрпН роиро┐ро▒рпБродрпНродрокрпНрокроЯрпБроорпН", + "stream_stopped_due_to_inativity": "ро▓рпИро╡рпН роГрокрпАроЯрпН роЪрпЖропро▓рпНрокроЯро╛родродро╛ро▓рпН ро╕рпНроЯрпНро░рпАрооро┐роЩрпН роиро┐ро▒рпБродрпНродрокрпНрокроЯрпНроЯродрпБ", + "continue_watching": "родрпКроЯро░рпНроирпНродрпБ рокро╛ро░рпНроХрпНроХро╡рпБроорпН", + "resume": "ро░рпЖро╕рпНропрпВроорпН" +} \ No newline at end of file diff --git a/src/Locale/ta/Auth.json b/src/Locale/ta/Auth.json index d5d26caa0fc..8562d59b9db 100644 --- a/src/Locale/ta/Auth.json +++ b/src/Locale/ta/Auth.json @@ -11,7 +11,6 @@ "gender": "рокро╛ро▓ро┐ройроорпН", "age": "ро╡ропродрпБ", "login": "роЙро│рпНроирпБро┤рпИроп", - "field_required": "роЗроирпНрод родроХро╡ро▓рпН родрпЗро╡рпИ", "password_mismatch": "роХроЯро╡рпБроЪрпНроЪрпКро▓рпН рокрпКро░рпБроирпНродро╡ро┐ро▓рпНро▓рпИ", "enter_valid_age": "роЪрпЖро▓рпНро▓рпБрокроЯро┐ропро╛роХрпБроорпН ро╡ропродрпИ роЙро│рпНро│ро┐роЯро╡рпБроорпН", "invalid_username": "родрпЗро╡рпИ. 150 роОро┤рпБродрпНродрпБроХрпНроХро│рпН роЕро▓рпНро▓родрпБ роХрпБро▒рпИро╡ро╛ройро╡рпИ. роОро┤рпБродрпНродрпБроХрпНроХро│рпН, роОрогрпНроХро│рпН рооро▒рпНро▒рпБроорпН @ /. / + / - / _ роороЯрпНроЯрпБроорпН.", @@ -21,8 +20,6 @@ "register_hospital": "рооро░рпБродрпНродрпБро╡рооройрпИ рокродро┐ро╡рпБ", "register_page_title": "рооро░рпБродрпНродрпБро╡рооройрпИ роиро┐ро░рпНро╡ро╛роХро┐ропро╛роХ рокродро┐ро╡рпБ роЪрпЖропрпНропрпБроЩрпНроХро│рпН", "auth_login_title": "роЕроЩрпНроХрпАроХро░ро┐роХрпНроХрокрпНрокроЯрпНроЯ роЙро│рпНроирпБро┤рпИро╡рпБ", - "back_to_login": "роЙро│рпНроирпБро┤рпИро╡рпБ рокроХрпНроХродрпНродро┐ро▒рпНроХрпБродрпН родро┐ро░рпБроорпНрокрпБ", - "available_in": "роХро┐роЯрпИроХрпНроХрпБроорпН роорпКро┤ро┐роХро│рпН", "forget_password": "роХроЯро╡рпБроЪрпНроЪрпЖро╛ро▓рпНро▓рпИ рооро▒роирпНродрпБро╡ро┐роЯрпНроЯрпАро░рпНроХро│ро╛?", "forget_password_instruction": "роЙроЩрпНроХро│рпН рокропройро░рпНрокрпЖропро░рпИ роЙро│рпНро│ро┐роЯро╡рпБроорпН, роЙроЩрпНроХро│рпН роХроЯро╡рпБроЪрпНроЪрпКро▓рпНро▓рпИ роорпАроЯрпНроЯроорпИроХрпНроХ роТро░рпБ роЗрогрпИрокрпНрокрпИ роиро╛роЩрпНроХро│рпН роЙроЩрпНроХро│рпБроХрпНроХрпБ роЕройрпБрокрпНрокрпБро╡рпЛроорпН.", "send_reset_link": "роорпАроЯрпНроЯроорпИ роЗрогрпИрокрпНрокрпИ роЕройрпБрокрпНрокро╡рпБроорпН", @@ -31,5 +28,12 @@ "password_reset_success": "роХроЯро╡рпБроЪрпНроЪрпКро▓рпН ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ роорпАроЯрпНроЯроорпИроХрпНроХрокрпНрокроЯрпНроЯродрпБ!", "password_reset_failure": "роХроЯро╡рпБроЪрпНроЪрпКро▓рпН роорпАроЯрпНроЯроорпИрокрпНрокрпБ родрпЛро▓рпНро╡ро┐ропрпБро▒рпНро▒родрпБ!", "reset_password": "роХроЯро╡рпБроЪрпНроЪрпЖро╛ро▓рпНро▓рпИ роорпАроЯрпНроЯроорпИ", - "sign_out": "ро╡рпЖро│ро┐ропрпЗро▒рпБ" + "available_in": "роХро┐роЯрпИроХрпНроХрпБроорпН роорпКро┤ро┐роХро│рпН", + "sign_out": "ро╡рпЖро│ро┐ропрпЗро▒рпБ", + "back_to_login": "роЙро│рпНроирпБро┤рпИро╡рпБ рокроХрпНроХродрпНродро┐ро▒рпНроХрпБродрпН родро┐ро░рпБроорпНрокрпБ", + "min_password_len_8": "роХрпБро▒рпИроирпНродрокроЯрпНроЪ роХроЯро╡рпБроЪрпНроЪрпКро▓рпН роирпАро│роорпН 8", + "req_atleast_one_digit": "роХрпБро▒рпИроирпНродродрпБ роТро░рпБ роЗро▓роХрпНроХрооро╛ро╡родрпБ родрпЗро╡рпИ", + "req_atleast_one_uppercase": "роХрпБро▒рпИроирпНродрокроЯрпНроЪроорпН роТро░рпБ рокрпЖро░ро┐роп ро╡ро┤роХрпНроХрпБ родрпЗро╡рпИ", + "req_atleast_one_lowercase": "роХрпБро▒рпИроирпНродрокроЯрпНроЪроорпН роТро░рпБ роЪро┐ро▒ро┐роп роОро┤рпБродрпНродрпБ родрпЗро╡рпИ", + "req_atleast_one_symbol": "роХрпБро▒рпИроирпНродродрпБ роТро░рпБ роЪро┐ройрпНройроорпН родрпЗро╡рпИ" } diff --git a/src/Locale/ta/Bed.json b/src/Locale/ta/Bed.json new file mode 100644 index 00000000000..e89a0db322b --- /dev/null +++ b/src/Locale/ta/Bed.json @@ -0,0 +1,13 @@ +{ + "bed_search_placeholder": "рокроЯрпБроХрпНроХрпИроХро│ро┐ройрпН рокрпЖропро░рпИроХрпН роХрпКрогрпНроЯрпБ родрпЗроЯрпБроЩрпНроХро│рпН", + "BED_WITH_OXYGEN_SUPPORT": "роЖроХрпНро╕ро┐роЬройрпН роЖродро░ро╡рпБроЯройрпН рокроЯрпБроХрпНроХрпИ", + "REGULAR": "ро╡ро┤роХрпНроХрооро╛рой", + "ICU": "роРроЪро┐ропрпВ", + "ISOLATION": "родройро┐роорпИрокрпНрокроЯрпБродрпНродрпБродро▓рпН", + "add_beds": "рокроЯрпБроХрпНроХрпИроХро│рпИроЪрпН роЪрпЗро░рпН", + "update_bed": "рокроЯрпБроХрпНроХрпИропрпИрокрпН рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "bed_type": "рокроЯрпБроХрпНроХрпИ ро╡роХрпИ", + "make_multiple_beds_label": "роирпАроЩрпНроХро│рпН рокро▓ рокроЯрпБроХрпНроХрпИроХро│рпИ роЙро░рпБро╡ро╛роХрпНроХ ро╡ро┐ро░рпБроорпНрокрпБроХро┐ро▒рпАро░рпНроХро│ро╛?", + "number_of_beds": "рокроЯрпБроХрпНроХрпИроХро│ро┐ройрпН роОрогрпНрогро┐роХрпНроХрпИ", + "number_of_beds_out_of_range_error": "рокроЯрпБроХрпНроХрпИроХро│ро┐ройрпН роОрогрпНрогро┐роХрпНроХрпИ 100роХрпНроХрпБ роорпЗро▓рпН роЗро░рпБроХрпНроХроХрпНроХрпВроЯро╛родрпБ" +} diff --git a/src/Locale/ta/Common.json b/src/Locale/ta/Common.json index 2ee39016c2e..abf6427ce9c 100644 --- a/src/Locale/ta/Common.json +++ b/src/Locale/ta/Common.json @@ -1,17 +1,207 @@ { "goal": "роЯро┐роЬро┐роЯрпНроЯро▓рпН роХро░рпБро╡ро┐роХро│рпИрокрпН рокропройрпНрокроЯрпБродрпНродро┐ рокрпКродрпБ роЪрпБроХро╛родро╛ро░ роЪрпЗро╡рпИроХро│ро┐ройрпН родро░роорпН рооро▒рпНро▒рпБроорпН роЕрогрпБроХро▓рпНродройрпНроорпИропрпИ родрпКроЯро░рпНроирпНродрпБ роорпЗроорпНрокроЯрпБродрпНродрпБро╡родрпЗ роОроЩрпНроХро│рпН роХрпБро▒ро┐роХрпНроХрпЛро│рпН.", "something_wrong": "роПродрпЗро╛ родро╡ро▒рпБ роироЯроирпНродрпБро╡ро┐роЯрпНроЯродрпБ! рокро┐ройрпНройро░рпН роорпАрогрпНроЯрпБроорпН роорпБропро▒рпНроЪро┐роХрпНроХро╡рпБроорпН!", + "try_again_later": "рокро┐ро▒роХрпБ роорпБропро▒рпНроЪро┐роХрпНроХро╡рпБроорпН!", "contribute_github": "Github-ро▓рпН рокроЩрпНроХро│ро┐рокрпНрокрпБ роЪрпЖропрпНропрпБроЩрпНроХро│рпН", "footer_body": "роХрпКро░рпЛройро╛ роЪрпЗроГрокрпН роирпЖроЯрпНро╡рпКро░рпНроХрпН роОройрпНрокродрпБ роТро░рпБ родро┐ро▒роирпНрод роорпВро▓ рокрпКродрпБ рокропройрпНрокро╛роЯро╛роХрпБроорпН, роЗродрпБ роХрпЗро░ро│ роЕро░роЪро╛роЩрпНроХродрпНродро┐ройрпН роорпБро┤рпБ рокрпБро░ро┐родро▓рпБроЯройрпБроорпН роЖродро░ро╡ро┐ро▒рпНроХрпБроорпН роЕро░роЪро╛роЩрпНроХ роорпБропро▒рпНроЪро┐роХро│рпИ роЖродро░ро┐роХрпНроХ роТро░рпБ рооро╛родро┐ро░ро┐ропро┐ро▓рпН рокрогро┐рокрпБро░ро┐ропрпБроорпН рокрпБродрпБроорпИрокрпНрокро┐родрпНродро░рпНроХро│рпН рооро▒рпНро▒рпБроорпН родройрпНройро╛ро░рпНро╡ро▓ро░рпНроХро│ро┐ройрпН рокро▓ роТро┤рпБроХрпНроХроХрпН роХрпБро┤рпБро╡ро╛ро▓рпН ро╡роЯро┐ро╡роорпИроХрпНроХрокрпНрокроЯрпНроЯрпБро│рпНро│родрпБ.", "reset": "роорпАроЯрпНроЯроорпИ", + "download": "рокродро┐ро╡ро┐ро▒роХрпНроХро╡рпБроорпН", "downloads": "рокродро┐ро╡ро┐ро▒роХрпНроХроЩрпНроХро│рпН", + "downloading": "рокродро┐ро╡ро┐ро▒роХрпНроХрпБроХро┐ро▒родрпБ", + "generating": "роЙро░рпБро╡ро╛роХрпНроХрпБроХро┐ро▒родрпБ", + "send_email": "рооро┐ройрпНройроЮрпНроЪро▓рпН роЕройрпБрокрпНрокро╡рпБроорпН", + "email_address": "рооро┐ройрпНройроЮрпНроЪро▓рпН роорпБроХро╡ро░ро┐", + "email_success": "ро╡ро┐ро░рпИро╡ро┐ро▓рпН рооро┐ройрпНройроЮрпНроЪро▓рпН роЕройрпБрокрпНрокрпБро╡рпЛроорпН. роЙроЩрпНроХро│рпН роЗройрпНрокро╛роХрпНро╕рпИ роЪро░ро┐рокро╛ро░рпНроХрпНроХро╡рпБроорпН.", + "disclaimer": "рооро▒рпБрокрпНрокрпБ", + "category": "ро╡роХрпИ", + "sub_category": "родрпБрогрпИ ро╡роХрпИ", "download_type": "рокродро┐ро╡ро┐ро▒роХрпНроХ ро╡роХрпИ", - "State": "рооро╛роиро┐ро▓роорпН", - "District": "рооро╛ро╡роЯрпНроЯроорпН", - "Local Body": "роЙро│рпНро│ро╛роЯрпНроЪро┐ рооройрпНро▒роорпН", - "Location": "роЗроЯроорпН", - "Ward": "родрпКроХрпБродро┐", + "state": "рооро╛роиро┐ро▓роорпН", + "district": "рооро╛ро╡роЯрпНроЯроорпН", + "location": "роЗроЯроорпН", + "ward": "ро╡ро╛ро░рпНроЯрпБ", "Notice Board": "роЕро▒ро┐ро╡ро┐рокрпНрокрпБ рокро▓роХрпИ", "Assets": "роЪрпКродрпНродрпБроХрпНроХро│рпН", - "Notifications": "роЕро▒ро┐ро╡ро┐рокрпНрокрпБроХро│рпН" + "Notifications": "роЕро▒ро┐ро╡ро┐рокрпНрокрпБроХро│рпН", + "Submit": "роЪрооро░рпНрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "Cancel": "ро░родрпНродрпБ роЪрпЖропрпН", + "back": "роорпАрогрпНроЯрпБроорпН", + "powered_by": "роорпВро▓роорпН роЗропроХрпНроХрокрпНрокроЯрпБроХро┐ро▒родрпБ", + "care": "роХро╡ройро┐рокрпНрокрпБ", + "something_went_wrong": "роПродрпЛ родро╡ро▒ро╛роХро┐ро╡ро┐роЯрпНроЯродрпБ..!", + "stop": "роиро┐ро▒рпБродрпНродрпБ", + "record": "роЖроЯро┐ропрпЛ рокродро┐ро╡рпБ", + "recording": "рокродро┐ро╡рпБ роЪрпЖропрпНродро▓рпН", + "yes": "роЖроорпН", + "no": "роЗро▓рпНро▓рпИ", + "status": "роиро┐ро▓рпИ", + "created": "роЙро░рпБро╡ро╛роХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "modified": "рооро╛ро▒рпНро▒ро┐ропроорпИроХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "updated": "рокрпБродрпБрокрпНрокро┐роХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "update": "рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "configure": "роХроЯрпНроЯроорпИроХрпНроХро╡рпБроорпН", + "assigned_to": "роХрпНроХрпБ роТродрпБроХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "cancel": "ро░родрпНродрпБ роЪрпЖропрпН", + "clear": "родрпЖро│ро┐ро╡рпБ", + "apply": "ро╡ро┐рогрпНрогрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "filter_by": "ро╡роЯро┐роХроЯрпНроЯро╡рпБроорпН", + "filter": "ро╡роЯро┐роХроЯрпНроЯро┐", + "settings_and_filters": "роЕроорпИрокрпНрокрпБроХро│рпН рооро▒рпНро▒рпБроорпН ро╡роЯро┐рокрпНрокро╛ройрпНроХро│рпН", + "ordering": "роЖро░рпНроЯро░рпН роЪрпЖропрпНродро▓рпН", + "phone_number": "родрпКро▓рпИрокрпЗроЪро┐ роОрогрпН", + "international_mobile": "роЪро░рпНро╡родрпЗроЪ роорпКрокрпИро▓рпН", + "indian_mobile": "роЗроирпНродро┐роп роорпКрокрпИро▓рпН", + "mobile": "роорпКрокрпИро▓рпН", + "landline": "роЗроирпНродро┐роп ро▓рпЗрогрпНроЯрпНро▓рпИройрпН", + "support": "роЖродро░ро╡рпБ", + "emergency_contact_number": "роЕро╡роЪро░ родрпКроЯро░рпНрокрпБ роОрогрпН", + "last_modified": "роХроЯрпИроЪро┐ропро╛роХ рооро╛ро▒рпНро▒рокрпНрокроЯрпНроЯродрпБ", + "patient_address": "роирпЛропро╛ро│ро┐ропро┐ройрпН роорпБроХро╡ро░ро┐", + "all_details": "роЕройрпИродрпНродрпБ ро╡ро┐ро╡ро░роЩрпНроХро│рпБроорпН", + "confirm": "роЙро▒рпБродро┐рокрпНрокроЯрпБродрпНродро╡рпБроорпН", + "refresh_list": "рокроЯрпНроЯро┐ропро▓рпИрокрпН рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "last_edited": "роХроЯрпИроЪро┐ропро╛роХ родро┐ро░рпБродрпНродрокрпНрокроЯрпНроЯродрпБ", + "audit_log": "родрогро┐роХрпНроХрпИ рокродро┐ро╡рпБ", + "comments": "роХро░рпБродрпНродрпБроХро│рпН", + "contact_person_number": "родрпКроЯро░рпНрокрпБ роирокро░рпН роОрогрпН", + "referral_letter": "рокро░ро┐роирпНродрпБро░рпИ роХроЯро┐родроорпН", + "close": "роорпВроЯрпБ", + "print": "роЕроЪрпНроЪро┐роЯрпБроХ", + "print_referral_letter": "рокро░ро┐роирпНродрпБро░рпИ роХроЯро┐родродрпНродрпИ роЕроЪрпНроЪро┐роЯрпБроЩрпНроХро│рпН", + "date_of_positive_covid_19_swab": "рокро╛роЪро┐роЯрпНроЯро┐ро╡рпН роХрпЛро╡ро┐роЯрпН 19 ро╕рпНро╡ро╛рокрпН родрпЗродро┐", + "patient_no": "OP/IP роОрогрпН", + "date_of_admission": "роЪрпЗро░рпНроХрпНроХрпИ родрпЗродро┐", + "india_1": "роЗроирпНродро┐ропро╛", + "unique_id": "родройро┐родрпНродрпБро╡рооро╛рой роРроЯро┐", + "date_and_time": "родрпЗродро┐ рооро▒рпНро▒рпБроорпН роирпЗро░роорпН", + "facility_type": "ро╡роЪродро┐ ро╡роХрпИ", + "number_of_chronic_diseased_dependents": "роиро╛ро│рпНрокроЯрпНроЯ роирпЛропрпНроХро│рпИроЪрпН роЪро╛ро░рпНроирпНродро┐ро░рпБрокрпНрокро╡ро░рпНроХро│ро┐ройрпН роОрогрпНрогро┐роХрпНроХрпИ", + "number_of_aged_dependents_above_60": "ро╡ропродро╛рой роЪро╛ро░рпНрокрпБроЯрпИропро╡ро░рпНроХро│ро┐ройрпН роОрогрпНрогро┐роХрпНроХрпИ (60 роХрпНроХрпБ роорпЗро▓рпН)", + "ongoing_medications": "родрпКроЯро░рпБроорпН рооро░рпБроирпНродрпБроХро│рпН", + "countries_travelled": "роиро╛роЯрпБроХро│рпН рокропрогроорпН роЪрпЖропрпНродрой", + "travel_within_last_28_days": "роЙро│рпНроиро╛роЯрпНроЯрпБ/роЪро░рпНро╡родрпЗроЪ рокропрогроорпН (роХроЯроирпНрод 28 роиро╛роЯрпНроХро│рпБроХрпНроХрпБро│рпН)", + "estimated_contact_date": "роородро┐рокрпНрокро┐роЯрокрпНрокроЯрпНроЯ родрпКроЯро░рпНрокрпБ родрпЗродро┐", + "blood_group": "роЗро░родрпНродроХрпН роХрпБро┤рпБ", + "date_of_birth": "рокро┐ро▒роирпНрод родрпЗродро┐", + "date_of_test": "родрпЗро░рпНро╡рпБ родрпЗродро┐", + "srf_id": "SRF роРроЯро┐", + "contact_number": "родрпКроЯро░рпНрокрпБ роОрогрпН", + "diagnosis": "роирпЛропрпН роХрогрпНроЯро▒ро┐родро▓рпН", + "copied_to_clipboard": "роХро┐ро│ро┐рокрпНрокрпЛро░рпНроЯрпБроХрпНроХрпБ роироХро▓рпЖроЯрпБроХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "age": "ро╡ропродрпБ", + "is": "роЙро│рпНро│родрпБ", + "reason": "роХро╛ро░рогроорпН", + "description": "ро╡ро┐ро│роХрпНроХроорпН", + "name": "рокрпЖропро░рпН", + "address": "роорпБроХро╡ро░ро┐", + "phone": "родрпКро▓рпИрокрпЗроЪро┐", + "nationality": "родрпЗроЪро┐ропроорпН", + "allergies": "роТро╡рпНро╡ро╛роорпИ", + "type_your_comment": "роЙроЩрпНроХро│рпН роХро░рпБродрпНродрпИ роЙро│рпНро│ро┐роЯро╡рпБроорпН", + "any_other_comments": "ро╡рпЗро▒рпБ роПродрпЗройрпБроорпН роХро░рпБродрпНродрпБроХро│рпН", + "loading": "роПро▒рпНро▒рпБроХро┐ро▒родрпБ", + "facility": "ро╡роЪродро┐", + "local_body": "роЙро│рпНро│рпВро░рпН роЕроорпИрокрпНрокрпБ", + "filters": "ро╡роЯро┐рокрпНрокро╛ройрпНроХро│рпН", + "unknown": "родрпЖро░ро┐ропро╡ро┐ро▓рпНро▓рпИ", + "active": "роЪрпЖропро▓ро┐ро▓рпН", + "completed": "роорпБроЯро┐роХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "on": "роЕройрпНро▒рпБ", + "open": "родро┐ро▒", + "features": "роЕроорпНроЪроЩрпНроХро│рпН", + "pincode": "рокро┐ройрпНроХрпЛроЯрпБ", + "required": "родрпЗро╡рпИ", + "field_required": "роЗроирпНрод рокрпБро▓роорпН родрпЗро╡рпИ", + "litres": "ро▓ро┐роЯрпНроЯро░рпНроХро│рпН", + "litres_per_day": "ро▓ро┐роЯрпНроЯро░рпН/роиро╛ро│рпН", + "invalid_pincode": "родро╡ро▒ро╛рой рокро┐ройрпНроХрпЛроЯрпБ", + "invalid_phone_number": "родро╡ро▒ро╛рой родрпКро▓рпИрокрпЗроЪро┐ роОрогрпН", + "latitude_invalid": "роЕроЯрпНроЪро░рпЗроХрпИ -90 рооро▒рпНро▒рпБроорпН 90 роХрпНроХрпБ роЗроЯрпИропро┐ро▓рпН роЗро░рпБроХрпНроХ ро╡рпЗрогрпНроЯрпБроорпН", + "longitude_invalid": "родрпАро░рпНроХрпНроХро░рпЗроХрпИ -180 рооро▒рпНро▒рпБроорпН 180 роХрпНроХрпБ роЗроЯрпИропро┐ро▓рпН роЗро░рпБроХрпНроХ ро╡рпЗрогрпНроЯрпБроорпН", + "save": "роЪрпЗрооро┐роХрпНроХро╡рпБроорпН", + "continue": "родрпКроЯро░ро╡рпБроорпН", + "save_and_continue": "роЪрпЗрооро┐родрпНродрпБ родрпКроЯро░ро╡рпБроорпН", + "select": "родрпЗро░рпНроирпНродрпЖроЯрпБ", + "lsg": "Lsg", + "delete": "роирпАроХрпНроХрпБ", + "remove": "роЕроХро▒рпНро▒рпБ", + "max_size_for_image_uploaded_should_be": "рокродро┐ро╡рпЗро▒рпНро▒рокрпНрокроЯрпНроЯ рокроЯродрпНродро┐ро▒рпНроХро╛рой роЕродро┐роХрокроЯрпНроЪ роЕро│ро╡рпБ роЗро░рпБроХрпНроХ ро╡рпЗрогрпНроЯрпБроорпН", + "allowed_formats_are": "роЕройрпБроородро┐роХрпНроХрокрпНрокроЯрпНроЯ ро╡роЯро┐ро╡роЩрпНроХро│рпН", + "recommended_aspect_ratio_for": "рокро░ро┐роирпНродрпБро░рпИроХрпНроХрокрпНрокроЯрпНроЯ родрпЛро▒рпНро▒ ро╡ро┐роХро┐родроорпН", + "drag_drop_image_to_upload": "рокродро┐ро╡рпЗро▒рпНро▒ рокроЯродрпНродрпИ роЗро┤рпБродрпНродрпБ ро╡ро┐роЯро╡рпБроорпН", + "upload_an_image": "роТро░рпБ рокроЯродрпНродрпИ рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "upload": "рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "uploading": "рокродро┐ро╡рпЗро▒рпНро▒рпБроХро┐ро▒родрпБ", + "switch": "рооро╛ро▒ро╡рпБроорпН", + "capture": "рокро┐роЯро┐рокрпНрокрпБ", + "retake": "роорпАрогрпНроЯрпБроорпН роОроЯрпБроХрпНроХро╡рпБроорпН", + "submit": "роЪрооро░рпНрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "camera": "роХрпЗрооро░ро╛", + "submitting": "роЪрооро░рпНрокрпНрокро┐роХрпНроХро┐ро▒родрпБ", + "view_details": "ро╡ро┐ро╡ро░роЩрпНроХро│рпИроХрпН роХро╛рогрпНроХ", + "type_to_search": "родрпЗроЯ родроЯрпНроЯроЪрпНроЪрпБ роЪрпЖропрпНропро╡рпБроорпН", + "show_all": "роЕройрпИродрпНродрпИропрпБроорпН роХро╛роЯрпНроЯрпБ", + "hide": "рооро▒рпИ", + "select_skills": "роЪро┐ро▓ родро┐ро▒ройрпНроХро│рпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБродрпНродрпБ роЪрпЗро░рпНроХрпНроХро╡рпБроорпН", + "contact_your_admin_to_add_skills": "родро┐ро▒ройрпНроХро│рпИроЪрпН роЪрпЗро░рпНроХрпНроХ роЙроЩрпНроХро│рпН роиро┐ро░рпНро╡ро╛роХро┐ропрпИродрпН родрпКроЯро░рпНрокрпБроХрпКро│рпНро│ро╡рпБроорпН", + "add": "роЪрпЗро░рпН", + "add_as": "роОрой роЪрпЗро░рпН", + "sort_by": "ро╡ро░ро┐роЪрпИрокрпНрокроЯрпБродрпНродрпБ", + "none": "роЗро▓рпНро▓рпИ", + "choose_file": "роЪро╛родройродрпНродро┐ро▓ро┐ро░рпБроирпНродрпБ рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "open_camera": "роХрпЗрооро░ро╛ро╡рпИродрпН родро┐ро▒", + "file_preview": "роХрпЛрокрпНрокрпБ роорпБройрпНройрпЛроЯрпНроЯроорпН", + "file_preview_not_supported": "роЗроирпНродроХрпН роХрпЛрокрпНрокрпИ роорпБройрпНройрпЛроЯрпНроЯрооро┐роЯ роорпБроЯро┐ропро╡ро┐ро▓рпНро▓рпИ. рокродро┐ро╡ро┐ро▒роХрпНроХроорпН роЪрпЖропрпНродрпБ рокро╛ро░рпБроЩрпНроХро│рпН.", + "view_faciliy": "рокро╛ро░рпНро╡рпИ ро╡роЪродро┐", + "view_patients": "роирпЛропро╛ро│ро┐роХро│рпИрокрпН рокро╛ро░рпНроХрпНроХро╡рпБроорпН", + "frequency": "роЕродро┐ро░рпНро╡рпЖрогрпН", + "days": "роиро╛роЯрпНроХро│рпН", + "never": "роТро░рпБрокрпЛродрпБроорпН", + "notes": "роХрпБро▒ро┐рокрпНрокрпБроХро│рпН", + "add_notes": "роХрпБро▒ро┐рокрпНрокрпБроХро│рпИроЪрпН роЪрпЗро░рпНроХрпНроХро╡рпБроорпН", + "notes_placeholder": "роЙроЩрпНроХро│рпН роХрпБро▒ро┐рокрпНрокрпБроХро│рпИродрпН родроЯрпНроЯроЪрпНроЪрпБ роЪрпЖропрпНропро╡рпБроорпН", + "optional": "ро╡ро┐ро░рпБрокрпНрокрооро╛ройродрпБ", + "discontinue": "роиро┐ро▒рпБродрпНродрпБ", + "discontinued": "роиро┐ро▒рпБродрпНродрокрпНрокроЯрпНроЯродрпБ", + "not_specified": "роХрпБро▒ро┐рокрпНрокро┐роЯрокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ", + "all_changes_have_been_saved": "роЕройрпИродрпНродрпБ рооро╛ро▒рпНро▒роЩрпНроХро│рпБроорпН роЪрпЗрооро┐роХрпНроХрокрпНрокроЯрпНроЯрой", + "no_data_found": "родро░ро╡рпБ роОродрпБро╡рпБроорпН роХро┐роЯрпИроХрпНроХро╡ро┐ро▓рпНро▓рпИ", + "edit": "родро┐ро░рпБродрпНродро╡рпБроорпН", + "clear_selection": "родрпЖро│ро┐ро╡ро╛рой родрпЗро░рпНро╡рпБ", + "select_date": "родрпЗродро┐ропрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "DD/MM/YYYY": "DD/MM/YYYY", + "clear_all_filters": "роЕройрпИродрпНродрпБ ро╡роЯро┐рокрпНрокро╛ройрпНроХро│рпИропрпБроорпН роЕро┤ро┐роХрпНроХро╡рпБроорпН", + "summary": "роЪрпБро░рпБроХрпНроХроорпН", + "report": "роЕро▒ро┐роХрпНроХрпИ", + "treating_doctor": "роЪро┐роХро┐роЪрпНроЪрпИ роЕро│ро┐роХрпНроХрпБроорпН рооро░рпБродрпНродрпБро╡ро░рпН", + "ration_card__NO_CARD": "роЕроЯрпНроЯрпИ роЗро▓рпНро▓ро╛родро╡ро░рпН", + "ration_card__BPL": "рокро┐рокро┐роОро▓рпН", + "ration_card__APL": "роПрокро┐роОро▓рпН", + "empty_date_time": "--:-- --; ------------", + "caution": "роОроЪрпНроЪро░ро┐роХрпНроХрпИ", + "feed_optimal_experience_for_phones": "роЪро┐ро▒роирпНрод рокро╛ро░рпНро╡рпИ роЕройрпБрокро╡родрпНродро┐ро▒рпНроХрпБ, роЙроЩрпНроХро│рпН роЪро╛родройродрпНродрпИроЪрпН роЪрпБро┤ро▒рпНро▒рпБро╡родрпИроХрпН роХро╡ройро┐ропрпБроЩрпНроХро│рпН.", + "feed_optimal_experience_for_apple_phones": "роЪро┐ро▒роирпНрод рокро╛ро░рпНро╡рпИ роЕройрпБрокро╡родрпНродро┐ро▒рпНроХрпБ, роЙроЩрпНроХро│рпН роЪро╛родройродрпНродрпИроЪрпН роЪрпБро┤ро▒рпНро▒рпБро╡родрпИроХрпН роХро╡ройро┐ропрпБроЩрпНроХро│рпН. роЙроЩрпНроХро│рпН роЪро╛родрой роЕроорпИрокрпНрокрпБроХро│ро┐ро▓рпН родро╛ройро╛роХроЪрпН роЪрпБро┤ро▒рпНро▒рпБро╡родрпБ роЗропроХрпНроХрокрпНрокроЯрпНроЯро┐ро░рпБрокрпНрокродрпИ роЙро▒рпБродро┐роЪрпЖропрпНропро╡рпБроорпН.", + "action_irreversible": "роЗроирпНрод роироЯро╡роЯро┐роХрпНроХрпИ роорпАро│ роорпБроЯро┐ропро╛родродрпБ", + "GENDER__1": "роЖрогрпН", + "GENDER__2": "рокрпЖрогрпН", + "GENDER__3": "рокрпИройро░ро┐ роЕро▓рпНро▓ро╛род", + "normal": "роЗропро▓рпНрокро╛ройродрпБ", + "done": "роорпБроЯро┐роирпНродродрпБ", + "view": "роХро╛рогрпНроХ", + "rename": "рооро▒рпБрокрпЖропро░ро┐роЯро╡рпБроорпН", + "more_info": "роорпЗро▓рпБроорпН родроХро╡ро▓рпН", + "archive": "роХро╛рокрпНрокроХроорпН", + "discard": "роиро┐ро░ро╛роХро░ро┐", + "live": "ро╡ро╛ро┤рпНроХ", + "discharged": "ро╡рпЖро│ро┐ропрпЗро▒рпНро▒рокрпНрокроЯрпНроЯродрпБ", + "archived": "роХро╛рокрпНрокроХрокрпНрокроЯрпБродрпНродрокрпНрокроЯрпНроЯродрпБ", + "no_changes_made": "роОроирпНрод рооро╛ро▒рпНро▒роорпБроорпН роЪрпЖропрпНропрокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ", + "user_deleted_successfuly": "рокропройро░рпН ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ роирпАроХрпНроХрокрпНрокроЯрпНроЯро╛ро░рпН", + "users": "рокропройро░рпНроХро│рпН", + "are_you_sure_want_to_delete": "{{name}}роР роиро┐роЪрпНроЪропрооро╛роХ роирпАроХрпНроХ ро╡ро┐ро░рпБроорпНрокрпБроХро┐ро▒рпАро░рпНроХро│ро╛?", + "oxygen_information": "роЖроХрпНро╕ро┐роЬройрпН родроХро╡ро▓рпН", + "deleted_successfully": "{{name}} ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ роирпАроХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "delete_item": "{{name}}роР роирпАроХрпНроХро╡рпБроорпН", + "unsupported_browser": "роЖродро░ро┐роХрпНроХрокрпНрокроЯро╛род роЙро▓ро╛ро╡ро┐", + "unsupported_browser_description": "роЙроЩрпНроХро│рпН роЙро▓ро╛ро╡ро┐ ({{name}} рокродро┐рокрпНрокрпБ {{version}}) роЖродро░ро┐роХрпНроХрокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ. роЙроЩрпНроХро│рпН роЙро▓ро╛ро╡ро┐ропрпИ роЪроорпАрокродрпНродро┐роп рокродро┐рокрпНрокро┐ро▒рпНроХрпБ рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН роЕро▓рпНро▓родрпБ роЪро┐ро▒роирпНрод роЕройрпБрокро╡родрпНродро┐ро▒рпНроХро╛роХ роЖродро░ро┐роХрпНроХрокрпНрокроЯрпБроорпН роЙро▓ро╛ро╡ро┐роХрпНроХрпБ рооро╛ро▒ро╡рпБроорпН." } \ No newline at end of file diff --git a/src/Locale/ta/Consultation.json b/src/Locale/ta/Consultation.json new file mode 100644 index 00000000000..60de0264307 --- /dev/null +++ b/src/Locale/ta/Consultation.json @@ -0,0 +1,59 @@ +{ + "no_consultation_updates": "роЖро▓рпЛроЪройрпИ роЕро▒ро┐ро╡ро┐рокрпНрокрпБроХро│рпН роЗро▓рпНро▓рпИ", + "consultation_updates": "роЖро▓рпЛроЪройрпИ рокрпБродрпБрокрпНрокро┐рокрпНрокрпБроХро│рпН", + "update_log": "рокрпБродрпБрокрпНрокро┐рокрпНрокрпБ рокродро┐ро╡рпЗроЯрпБ", + "record_updates": "рокродро┐ро╡рпБ рокрпБродрпБрокрпНрокро┐рокрпНрокрпБроХро│рпН", + "log_lab_results": "рокродро┐ро╡рпБ роЖропрпНро╡роХ роорпБроЯро┐ро╡рпБроХро│рпН", + "no_log_update_delta": "роорпБроирпНродрпИроп рокродро┐ро╡рпБ рокрпБродрпБрокрпНрокро┐родрпНродро▓рпБроХрпНроХрпБрокрпН рокро┐ро▒роХрпБ роОроирпНрод рооро╛ро▒рпНро▒роорпБроорпН роЗро▓рпНро▓рпИ", + "virtual_nursing_assistant": "роорпЖропрпНроиро┐роХро░рпН роиро░рпНроЪро┐роЩрпН роЙродро╡ро┐ропро╛ро│ро░рпН", + "discharge": "ро╡рпЖро│ро┐ропрпЗро▒рпНро▒роорпН", + "discharge_summary": "ро╡рпЖро│ро┐ропрпЗро▒рпНро▒ роЪрпБро░рпБроХрпНроХроорпН", + "discharge_from_care": "CARE роЗро▓ро┐ро░рпБроирпНродрпБ ро╡рпЖро│ро┐ропрпЗро▒рпНро▒роорпН", + "generating_discharge_summary": "ро╡рпЖро│ро┐ропрпЗро▒рпНро▒ роЪрпБро░рпБроХрпНроХродрпНродрпИ роЙро░рпБро╡ро╛роХрпНроХрпБроХро┐ро▒родрпБ", + "discharge_summary_not_ready": "роЯро┐ро╕рпНроЪро╛ро░рпНроЬрпН роЪрпБро░рпБроХрпНроХроорпН роЗройрпНройрпБроорпН родропро╛ро░ро╛роХро╡ро┐ро▓рпНро▓рпИ.", + "download_discharge_summary": "ро╡рпЖро│ро┐ропрпЗро▒рпНро▒ роЪрпБро░рпБроХрпНроХродрпНродрпИрокрпН рокродро┐ро╡ро┐ро▒роХрпНроХро╡рпБроорпН", + "email_discharge_summary_description": "роЯро┐ро╕рпНроЪро╛ро░рпНроЬрпН роЪрпБро░рпБроХрпНроХродрпНродрпИрокрпН рокрпЖро▒ роЙроЩрпНроХро│рпН роЪро░ро┐ропро╛рой рооро┐ройрпНройроЮрпНроЪро▓рпН роорпБроХро╡ро░ро┐ропрпИ роЙро│рпНро│ро┐роЯро╡рпБроорпН", + "generated_summary_caution": "роЗродрпБ CARE роЕроорпИрокрпНрокро┐ро▓рпН роХрпИрокрпНрокро▒рпНро▒рокрпНрокроЯрпНроЯ родроХро╡ро▓рпИрокрпН рокропройрпНрокроЯрпБродрпНродро┐ роХрогро┐ройро┐ропро┐ро▓рпН роЙро░рпБро╡ро╛роХрпНроХрокрпНрокроЯрпНроЯ роЪрпБро░рпБроХрпНроХрооро╛роХрпБроорпН.", + "NORMAL": "роЪрпБро░рпБроХрпНроХрооро╛рой рокрпБродрпБрокрпНрокро┐рокрпНрокрпБ", + "VENTILATOR": "ро╡ро┐ро░ро┐ро╡ро╛рой рокрпБродрпБрокрпНрокро┐рокрпНрокрпБ", + "DOCTORS_LOG": "роорпБройрпНройрпЗро▒рпНро▒роХрпН роХрпБро▒ро┐рокрпНрокрпБ", + "AUTOMATED": "родро╛ройро┐ропроЩрпНроХро┐", + "TELEMEDICINE": "роЯрпЖро▓ро┐роорпЖроЯро┐роЪро┐ройрпН", + "investigations": "ро╡ро┐роЪро╛ро░рогрпИроХро│рпН", + "search_investigation_placeholder": "родрпЗроЯро▓рпН ро╡ро┐роЪро╛ро░рогрпИ & роХрпБро┤рпБроХрпНроХро│рпН", + "save_investigation": "ро╡ро┐роЪро╛ро░рогрпИропрпИроЪрпН роЪрпЗрооро┐роХрпНроХро╡рпБроорпН", + "investigation_reports": "ро╡ро┐роЪро╛ро░рогрпИ роЕро▒ро┐роХрпНроХрпИроХро│рпН", + "no_investigation": "ро╡ро┐роЪро╛ро░рогрпИ роЕро▒ро┐роХрпНроХрпИроХро│рпН роОродрпБро╡рпБроорпН роХро┐роЯрпИроХрпНроХро╡ро┐ро▓рпНро▓рпИ", + "investigations_suggested": "ро╡ро┐роЪро╛ро░рогрпИроХро│рпН рокро░ро┐роирпНродрпБро░рпИроХрпНроХрокрпНрокроЯрпНроЯрпБро│рпНро│рой", + "to_be_conducted": "роироЯродрпНродрокрпНрокроЯ ро╡рпЗрогрпНроЯрпБроорпН", + "log_report": "рокродро┐ро╡рпБ роЕро▒ро┐роХрпНроХрпИ", + "no_investigation_suggestions": "ро╡ро┐роЪро╛ро░рогрпИ рокро░ро┐роирпНродрпБро░рпИроХро│рпН роЗро▓рпНро▓рпИ", + "select_investigation": "ро╡ро┐роЪро╛ро░рогрпИроХро│рпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБ (роОро▓рпНро▓ро╛ ро╡ро┐роЪро╛ро░рогрпИроХро│рпБроорпН роЗропро▓рпНрокро╛роХро╡рпЗ родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХрокрпНрокроЯрпБроорпН)", + "select_investigations": "ро╡ро┐роЪро╛ро░рогрпИроХро│рпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "get_tests": "роЪрпЛродройрпИроХро│рпИрокрпН рокрпЖро▒рпБроЩрпНроХро│рпН", + "select_investigation_groups": "ро╡ро┐роЪро╛ро░рогрпИроХрпН роХрпБро┤рпБроХрпНроХро│рпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "select_groups": "роХрпБро┤рпБроХрпНроХро│рпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "generate_report": "роЕро▒ро┐роХрпНроХрпИропрпИ роЙро░рпБро╡ро╛роХрпНроХро╡рпБроорпН", + "prev_sessions": "роорпБроирпНродрпИроп роЕрооро░рпНро╡рпБроХро│рпН", + "next_sessions": "роЕроЯрпБродрпНрод роЕрооро░рпНро╡рпБроХро│рпН", + "no_changes": "рооро╛ро▒рпНро▒роЩрпНроХро│рпН роЗро▓рпНро▓рпИ", + "back_to_consultation": "роЖро▓рпЛроЪройрпИроХрпНроХрпБродрпН родро┐ро░рпБроорпНрокрпБ", + "no_treating_physicians_available": "роЗроирпНрод ро╡роЪродро┐ропро┐ро▓рпН ро╡рпАроЯрпНроЯрпБ ро╡роЪродро┐ роЯро╛роХрпНроЯро░рпНроХро│рпН роЗро▓рпНро▓рпИ. роЙроЩрпНроХро│рпН роиро┐ро░рпНро╡ро╛роХро┐ропрпИродрпН родрпКроЯро░рпНрокрпБ роХрпКро│рпНро│ро╡рпБроорпН.", + "encounter_suggestion_edit_disallowed": "родро┐ро░рпБродрпНрод роЖро▓рпЛроЪройрпИропро┐ро▓рпН роЗроирпНрод ро╡ро┐ро░рпБрокрпНрокродрпНродро┐ро▒рпНроХрпБ рооро╛ро▒ роЕройрпБроородро┐роХрпНроХрокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ", + "encounter_suggestion__A": "роЪрпЗро░рпНроХрпНроХрпИ", + "encounter_suggestion__DC": "ро╡рпАроЯрпНроЯрпБ рокро░ро╛рооро░ро┐рокрпНрокрпБ", + "encounter_suggestion__OP": "ро╡рпЖро│ро┐ роирпЛропро╛ро│ро┐ ро╡ро░рпБроХрпИ", + "encounter_suggestion__DD": "роЖро▓рпЛроЪройрпИ", + "encounter_suggestion__HI": "роЖро▓рпЛроЪройрпИ", + "encounter_suggestion__R": "роЖро▓рпЛроЪройрпИ", + "encounter_date_field_label__A": "ро╡роЪродро┐роХрпНроХро╛рой роЪрпЗро░рпНроХрпНроХрпИ родрпЗродро┐ рооро▒рпНро▒рпБроорпН роирпЗро░роорпН", + "encounter_date_field_label__DC": "ро╡рпАроЯрпНроЯрпБ рокро░ро╛рооро░ро┐рокрпНрокрпБ родрпКроЯроЩрпНроХрпБроорпН родрпЗродро┐ рооро▒рпНро▒рпБроорпН роирпЗро░роорпН", + "encounter_date_field_label__OP": "ро╡рпЖро│ро┐ роирпЛропро╛ро│ро┐ ро╡ро░рпБроХрпИропро┐ройрпН родрпЗродро┐ рооро▒рпНро▒рпБроорпН роирпЗро░роорпН", + "encounter_date_field_label__DD": "роХро▓роирпНродро╛ропрпНро╡рпБ родрпЗродро┐ & роирпЗро░роорпН", + "encounter_date_field_label__HI": "роХро▓роирпНродро╛ропрпНро╡рпБ родрпЗродро┐ & роирпЗро░роорпН", + "encounter_date_field_label__R": "роХро▓роирпНродро╛ропрпНро╡рпБ родрпЗродро┐ & роирпЗро░роорпН", + "back_dated_encounter_date_caution": "роирпАроЩрпНроХро│рпН роТро░рпБ роЪроирпНродро┐рокрпНрокрпИ роЙро░рпБро╡ро╛роХрпНроХрпБроХро┐ро▒рпАро░рпНроХро│рпН", + "encounter_duration_confirmation": "роЗроирпНрод роЪроирпНродро┐рокрпНрокро┐ройрпН роХро╛ро▓роорпН роЗро░рпБроХрпНроХрпБроорпН", + "consultation_notes": "рокрпКродрпБро╡ро╛рой ро╡ро┤ро┐роорпБро▒рпИроХро│рпН (роЖро▓рпЛроЪройрпИ)", + "procedure_suggestions": "роЪрпЖропро▓рпНроорпБро▒рпИ рокро░ро┐роирпНродрпБро░рпИроХро│рпН" +} diff --git a/src/Locale/ta/CoverImageEdit.json b/src/Locale/ta/CoverImageEdit.json new file mode 100644 index 00000000000..bf58acd2720 --- /dev/null +++ b/src/Locale/ta/CoverImageEdit.json @@ -0,0 +1,5 @@ +{ + "edit_cover_photo": "роЕроЯрпНроЯрпИрокрпН рокроЯродрпНродрпИродрпН родро┐ро░рпБродрпНродрпБ", + "no_cover_photo_uploaded_for_this_facility": "роЗроирпНрод ро╡роЪродро┐роХрпНроХро╛роХ роЕроЯрпНроЯрпИрокрпН рокрпБроХрпИрокрпНрокроЯроорпН рокродро┐ро╡рпЗро▒рпНро▒рокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ", + "capture_cover_photo": "роЕроЯрпНроЯрпИрокрпН рокроЯродрпНродрпИрокрпН рокро┐роЯро┐роХрпНроХро╡рпБроорпН" +} diff --git a/src/Locale/ta/Diagnosis.json b/src/Locale/ta/Diagnosis.json new file mode 100644 index 00000000000..c06a6901533 --- /dev/null +++ b/src/Locale/ta/Diagnosis.json @@ -0,0 +1,21 @@ +{ + "diagnosis": "роирпЛропрпН роХрогрпНроЯро▒ро┐родро▓рпН", + "diagnoses": "роирпЛропрпН роХрогрпНроЯро▒ро┐роХро┐ро▒родрпБ", + "diagnosis_already_added": "роЗроирпНрод роирпЛропро▒ро┐родро▓рпН роПро▒рпНроХройро╡рпЗ роЪрпЗро░рпНроХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "principal": "роЕродро┐рокро░рпН", + "principal_diagnosis": "роорпБродройрпНроорпИ роирпЛропро▒ро┐родро▓рпН", + "unconfirmed": "роЙро▒рпБродро┐ роЪрпЖропрпНропрокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ", + "provisional": "родро▒рпНроХро╛ро▓ро┐роХрооро╛ройродрпБ", + "differential": "ро╡ро┐родрпНродро┐ропро╛роЪрооро╛рой", + "confirmed": "роЙро▒рпБродро┐ роЪрпЖропрпНропрокрпНрокроЯрпНроЯродрпБ", + "refuted": "рооро▒рпБродрпНродро╛ро░рпН", + "entered-in-error": "родро╡ро▒рпБродро▓ро╛роХ роЙро│рпНро│ро┐роЯрокрпНрокроЯрпНроЯродрпБ", + "help_unconfirmed": "роЗродрпИ роЙро▒рпБродро┐рокрпНрокроЯрпБродрпНродрокрпНрокроЯрпНроЯ роиро┐ро▓рпИропро╛роХроХрпН роХро░рпБродрпБро╡родро▒рпНроХрпБ рокрпЛродрпБрооро╛рой роирпЛропро▒ро┐родро▓рпН рооро▒рпНро▒рпБроорпН/роЕро▓рпНро▓родрпБ рооро░рпБродрпНродрпБро╡ роЪро╛ройрпНро▒рпБроХро│рпН роЗро▓рпНро▓рпИ.", + "help_provisional": "роЗродрпБ роТро░рпБ родро▒рпНроХро╛ро▓ро┐роХ роирпЛропро▒ро┐родро▓рпН - роЗройрпНройрпБроорпН роТро░рпБ ро╡рпЗроЯрпНрокро╛ро│ро░рпН рокро░ро┐роЪрпАро▓ройрпИропро┐ро▓рпН роЙро│рпНро│родрпБ.", + "help_differential": "роЪро╛родрпНродро┐ропрооро╛рой (рооро▒рпНро▒рпБроорпН рокрпКродрпБро╡ро╛роХ рокро░ро╕рпНрокро░роорпН рокро┐ро░родрпНродро┐ропрпЗроХрооро╛рой) роирпЛропро▒ро┐родро▓рпНроХро│ро┐ройрпН родрпКроХрпБрокрпНрокро┐ро▓рпН роТройрпНро▒рпБ роХрогрпНроЯро▒ро┐ропрпБроорпН роЪрпЖропро▓рпНроорпБро▒рпИ рооро▒рпНро▒рпБроорпН рокрпВро░рпНро╡ро╛роЩрпНроХ роЪро┐роХро┐роЪрпНроЪрпИропрпИ роорпЗро▓рпБроорпН ро╡ро┤ро┐роХро╛роЯрпНроЯрпБроорпН.", + "help_confirmed": "роЗродрпИ роЙро▒рпБродро┐рокрпНрокроЯрпБродрпНродрокрпНрокроЯрпНроЯ роиро┐ро▓рпИропро╛роХроХрпН роХро░рпБродрпБро╡родро▒рпНроХрпБ рокрпЛродрпБрооро╛рой роирпЛропро▒ро┐родро▓рпН рооро▒рпНро▒рпБроорпН/роЕро▓рпНро▓родрпБ рооро░рпБродрпНродрпБро╡ роЪро╛ройрпНро▒рпБроХро│рпН роЙро│рпНро│рой.", + "help_refuted": "роЗроирпНрод роиро┐ро▓рпИ роЕроЯрпБродрпНродроЯрпБродрпНрод роирпЛропро▒ро┐родро▓рпН рооро▒рпНро▒рпБроорпН рооро░рпБродрпНродрпБро╡ роЪро╛ройрпНро▒рпБроХро│ро╛ро▓рпН роиро┐ро░ро╛роХро░ро┐роХрпНроХрокрпНрокроЯрпНроЯродрпБ.", + "help_entered-in-error": "роЕро▒ро┐роХрпНроХрпИ рокро┐ро┤рпИропро╛роХ роЙро│рпНро│ро┐роЯрокрпНрокроЯрпНроЯродрпБ, роЕродрпБ роЪрпЖро▓рпНро▓ро╛родрпБ.", + "search_icd11_placeholder": "ICD-11 роирпЛропрпН роХрогрпНроЯро▒ро┐родро▓рпНроХро│рпИродрпН родрпЗроЯро╡рпБроорпН", + "icd11_as_recommended": "WHO рокро░ро┐роирпНродрпБро░рпИродрпНрод ICD-11 роЗройрпН рокроЯро┐" +} diff --git a/src/Locale/ta/ErrorPages.json b/src/Locale/ta/ErrorPages.json new file mode 100644 index 00000000000..e2d3c7be4f5 --- /dev/null +++ b/src/Locale/ta/ErrorPages.json @@ -0,0 +1,13 @@ +{ + "return_to_care": "CARE рокроХрпНроХродрпНродрпБроХрпНроХрпБродрпН родро┐ро░рпБроорпНрокрпБ", + "404_message": "роЗро▓рпНро▓ро╛род роЕро▓рпНро▓родрпБ ро╡рпЗро▒рпКро░рпБ URLроХрпНроХрпБ роироХро░рпНродрпНродрокрпНрокроЯрпНроЯ роТро░рпБ рокроХрпНроХродрпНродро┐ро▓рпН роирпАроЩрпНроХро│рпН родроЯрпБрооро╛ро▒ро┐ро╡ро┐роЯрпНроЯродро╛роХродрпН родрпЖро░ро┐роХро┐ро▒родрпБ. роирпАроЩрпНроХро│рпН роЪро░ро┐ропро╛рой роЗрогрпИрокрпНрокрпИ роЙро│рпНро│ро┐роЯрпНроЯрпБро│рпНро│рпАро░рпНроХро│рпН роОройрпНрокродрпИ роЙро▒рпБродро┐рокрпНрокроЯрпБродрпНродро╡рпБроорпН!", + "error_404": "рокро┐ро┤рпИ 404", + "page_not_found": "рокроХрпНроХроорпН роХро┐роЯрпИроХрпНроХро╡ро┐ро▓рпНро▓рпИ", + "session_expired": "роЕрооро░рпНро╡рпБ роХро╛ро▓ро╛ро╡родро┐ропро╛ройродрпБ", + "invalid_password_reset_link": "родро╡ро▒ро╛рой роХроЯро╡рпБроЪрпНроЪрпКро▓рпН роорпАроЯрпНроЯроорпИрокрпНрокрпБ роЗрогрпИрокрпНрокрпБ", + "invalid_link_msg": "роирпАроЩрпНроХро│рпН рокропройрпНрокроЯрпБродрпНродро┐роп роХроЯро╡рпБроЪрпНроЪрпКро▓рпН роорпАроЯрпНроЯроорпИрокрпНрокрпБ роЗрогрпИрокрпНрокрпБ родро╡ро▒ро╛ройродрпБ роЕро▓рпНро▓родрпБ роХро╛ро▓ро╛ро╡родро┐ропро╛ройродрпБ рокрпЛро▓рпН родрпЖро░ро┐роХро┐ро▒родрпБ. рокрпБродро┐роп роХроЯро╡рпБроЪрпНроЪрпКро▓рпН роорпАроЯрпНроЯроорпИрокрпНрокрпБ роЗрогрпИрокрпНрокрпИроХрпН роХрпЛро░ро╡рпБроорпН.", + "return_to_password_reset": "роХроЯро╡рпБроЪрпНроЪрпКро▓рпН роорпАроЯрпНроЯроорпИрокрпНрокрпБроХрпНроХрпБродрпН родро┐ро░рпБроорпНрокрпБ", + "return_to_login": "роЙро│рпНроирпБро┤рпИро╡рпБроХрпНроХрпБродрпН родро┐ро░рпБроорпНрокрпБ", + "session_expired_msg": "роЙроЩрпНроХро│рпН роЕрооро░рпНро╡рпБ роХро╛ро▓ро╛ро╡родро┐ропро╛ройродрпБ рокрпЛро▓рпН родрпЖро░ро┐роХро┐ро▒родрпБ. роЗродрпБ роЪрпЖропро▓ро▒рпНро▒ родройрпНроорпИ роХро╛ро░рогрооро╛роХ роЗро░рпБроХрпНроХро▓ро╛роорпН. родрпКроЯро░ роорпАрогрпНроЯрпБроорпН роЙро│рпНроирпБро┤рпИропро╡рпБроорпН.", + "invalid_reset": "родро╡ро▒ро╛рой роорпАроЯрпНроЯроорпИрокрпНрокрпБ" +} diff --git a/src/Locale/ta/ExternalResult.json b/src/Locale/ta/ExternalResult.json new file mode 100644 index 00000000000..8f001547a72 --- /dev/null +++ b/src/Locale/ta/ExternalResult.json @@ -0,0 +1,25 @@ +{ + "please_upload_a_csv_file": "CSV роХрпЛрокрпНрокрпИрокрпН рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "upload_external_results": "ро╡рпЖро│ро┐рокрпНрокрпБро▒ роорпБроЯро┐ро╡рпБроХро│рпИрокрпН рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "csv_file_in_the_specified_format": "роХрпБро▒ро┐рокрпНрокро┐роЯрпНроЯ ро╡роЯро┐ро╡родрпНродро┐ро▓рпН CSV роХрпЛрокрпНрокрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "sample_format": "рооро╛родро┐ро░ро┐ ро╡роЯро┐ро╡роорпН", + "search_for_facility": "ро╡роЪродро┐ропрпИродрпН родрпЗроЯрпБроЩрпНроХро│рпН", + "select_local_body": "роЙро│рпНро│ро╛роЯрпНроЪро┐ роЕроорпИрокрпНрокрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "select_wards": "ро╡ро╛ро░рпНроЯрпБроХро│рпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "result_date": "роорпБроЯро┐ро╡рпБ родрпЗродро┐", + "sample_collection_date": "рооро╛родро┐ро░ро┐ роЪрпЗроХро░ро┐рокрпНрокрпБ родрпЗродро┐", + "record_has_been_deleted_successfully": "рокродро┐ро╡рпБ ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ роирпАроХрпНроХрокрпНрокроЯрпНроЯродрпБ.", + "error_while_deleting_record": "рокродро┐ро╡рпИ роирпАроХрпНроХрпБро╡родро┐ро▓рпН рокро┐ро┤рпИ", + "result_details": "роорпБроЯро┐ро╡рпБ ро╡ро┐ро╡ро░роЩрпНроХро│рпН", + "confirm_delete": "роирпАроХрпНроХрпБро╡родрпИ роЙро▒рпБродро┐рокрпНрокроЯрпБродрпНродро╡рпБроорпН", + "are_you_sure_want_to_delete_this_record": "роЗроирпНродрокрпН рокродро┐ро╡рпИ роиро┐роЪрпНроЪропрооро╛роХ роирпАроХрпНроХ ро╡ро┐ро░рпБроорпНрокрпБроХро┐ро▒рпАро░рпНроХро│ро╛?", + "patient_category": "роирпЛропро╛ро│ро┐ ро╡роХрпИ", + "source": "роЖродро╛ро░роорпН", + "result": "роорпБроЯро┐ро╡рпБ", + "sample_type": "рооро╛родро┐ро░ро┐ ро╡роХрпИ", + "patient_status": "роирпЛропро╛ро│ро┐ропро┐ройрпН роиро┐ро▓рпИ", + "mobile_number": "роорпКрокрпИро▓рпН роОрогрпН", + "patient_created": "роирпЛропро╛ро│ро┐ роЙро░рпБро╡ро╛роХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "care_external_results_id": "роХрпЗро░рпН ро╡рпЖро│ро┐рокрпНрокрпБро▒ роорпБроЯро┐ро╡рпБроХро│рпН роРроЯро┐", + "update_record": "рокродро┐ро╡рпИрокрпН рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН" +} diff --git a/src/Locale/ta/Facility.json b/src/Locale/ta/Facility.json index 57f9258c91d..e1c5462f587 100644 --- a/src/Locale/ta/Facility.json +++ b/src/Locale/ta/Facility.json @@ -1,10 +1,119 @@ { "facility_search_placeholder": "ро╡роЪродро┐ / рооро╛ро╡роЯрпНроЯ рокрпЖропро░рпН роорпВро▓роорпН родрпЗроЯрпБроЩрпНроХро│рпН", "advanced_filters": "роорпЗроорпНрокроЯрпНроЯ ро╡роЯро┐рокрпНрокро╛ройрпНроХро│рпН", - "Facility Type": "ро╡роЪродро┐ ро╡роХрпИ", + "facility_type": "ро╡роЪродро┐ ро╡роХрпИ", + "facility_name": "ро╡роЪродро┐ рокрпЖропро░рпН", "KASP Empanelled": "KASP роЪрпЗро░рпНроирпНродро╛ро░рпН", "View Facility": "ро╡роЪродро┐ роХро╛рогрпНроХ", "no_duplicate_facility": "роирпАроЩрпНроХро│рпН роироХро▓рпН ро╡роЪродро┐роХро│рпИ роЙро░рпБро╡ро╛роХрпНроХроХрпНроХрпВроЯро╛родрпБ", "no_facilities": "ро╡роЪродро┐роХро│рпН роОродрпБро╡рпБроорпН роХро┐роЯрпИроХрпНроХро╡ро┐ро▓рпНро▓рпИ", - "create_facility": "рокрпБродро┐роп ро╡роЪродро┐ропрпИ роЙро░рпБро╡ро╛роХрпНроХро╡рпБроорпН" + "no_staff": "роКро┤ро┐ропро░рпНроХро│рпН роЗро▓рпНро▓рпИ", + "no_bed_types_found": "рокроЯрпБроХрпНроХрпИ ро╡роХрпИроХро│рпН роЗро▓рпНро▓рпИ", + "total_beds": "роорпКродрпНрод рокроЯрпБроХрпНроХрпИроХро│рпН", + "create_facility": "рокрпБродро┐роп ро╡роЪродро┐ропрпИ роЙро░рпБро╡ро╛роХрпНроХро╡рпБроорпН", + "staff_list": "рокрогро┐ропро╛ро│ро░рпНроХро│рпН рокроЯрпНроЯро┐ропро▓рпН", + "bed_capacity": "рокроЯрпБроХрпНроХрпИ родро┐ро▒ройрпН", + "cylinders": "роЪро┐ро▓ро┐рогрпНроЯро░рпНроХро│рпН", + "cylinders_per_day": "роЪро┐ро▓ро┐рогрпНроЯро░рпНроХро│рпН/роиро╛ро│рпН", + "liquid_oxygen_capacity": "родро┐ро░ро╡ роЖроХрпНро╕ро┐роЬройрпН родро┐ро▒ройрпН", + "expected_burn_rate": "роОродро┐ро░рпНрокро╛ро░рпНроХрпНроХрокрпНрокроЯрпБроорпН роОро░ро┐рокрпНрокрпБ ро╡ро┐роХро┐родроорпН", + "type_b_cylinders": "рокро┐ ро╡роХрпИ роЪро┐ро▓ро┐рогрпНроЯро░рпНроХро│рпН", + "type_c_cylinders": "роЪро┐ ро╡роХрпИ роЪро┐ро▓ро┐рогрпНроЯро░рпНроХро│рпН", + "type_d_cylinders": "роЯро┐ ро╡роХрпИ роЪро┐ро▓ро┐рогрпНроЯро░рпНроХро│рпН", + "select_local_body": "роЙро│рпНро│ро╛роЯрпНроЪро┐ роЕроорпИрокрпНрокрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "update_asset": "роЪрпКродрпНродрпИрокрпН рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "create_new_asset": "рокрпБродро┐роп роЪрпКродрпНродрпИ роЙро░рпБро╡ро╛роХрпНроХро╡рпБроорпН", + "you_need_at_least_a_location_to_create_an_assest": "роТро░рпБ роЕроЪрпЖро╕рпНроЯрпНроЯрпИ роЙро░рпБро╡ро╛роХрпНроХ роХрпБро▒рпИроирпНродрокроЯрпНроЪроорпН роТро░рпБ роЗро░рпБрокрпНрокро┐роЯрооро╛ро╡родрпБ родрпЗро╡рпИ.", + "add_location": "роЗро░рпБрокрпНрокро┐роЯродрпНродрпИроЪрпН роЪрпЗро░рпНроХрпНроХро╡рпБроорпН", + "close_scanner": "ро╕рпНроХрпЗройро░рпИ роорпВроЯрпБ", + "scan_asset_qr": "роЕроЪрпЖроЯрпН роХрпНропрпВроЖро░рпН ро╕рпНроХрпЗройрпН!", + "update": "рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "create": "роЙро░рпБро╡ро╛роХрпНроХрпБ", + "asset_name": "роЪрпКродрпНродрпБ рокрпЖропро░рпН", + "asset_location": "роЪрпКродрпНродрпБ роЗро░рпБрокрпНрокро┐роЯроорпН", + "asset_type": "роЪрпКродрпНродрпБ ро╡роХрпИ", + "asset_class": "роЪрпКродрпНродрпБ ро╡роХрпБрокрпНрокрпБ", + "details_about_the_equipment": "роЙрокроХро░рогроЩрпНроХро│рпН рокро▒рпНро▒ро┐роп ро╡ро┐ро╡ро░роЩрпНроХро│рпН", + "working_status": "ро╡рпЗро▓рпИ роиро┐ро▓рпИ", + "why_the_asset_is_not_working": "роЪрпКродрпНродрпБ роПройрпН ро╡рпЗро▓рпИ роЪрпЖропрпНропро╡ро┐ро▓рпНро▓рпИ?", + "describe_why_the_asset_is_not_working": "роЪрпКродрпНродрпБ роПройрпН ро╡рпЗро▓рпИ роЪрпЖропрпНропро╡ро┐ро▓рпНро▓рпИ роОройрпНрокродрпИ ро╡ро┐ро╡ро░ро┐роХрпНроХро╡рпБроорпН", + "asset_qr_id": "роЪрпКродрпНродрпБ QR роРроЯро┐", + "manufacturer": "роЙро▒рпНрокродрпНродро┐ропро╛ро│ро░рпН", + "eg_xyz": "роО.роХро╛. XYZ", + "eg_abc": "роО.роХро╛. роПрокро┐роЪро┐", + "warranty_amc_expiry": "роЙродрпНродро░ро╡ро╛родроорпН / AMC роХро╛ро▓ро╛ро╡родро┐", + "customer_support_name": "ро╡ро╛роЯро┐роХрпНроХрпИропро╛ро│ро░рпН роЖродро░ро╡рпБ рокрпЖропро░рпН", + "customer_support_number": "ро╡ро╛роЯро┐роХрпНроХрпИропро╛ро│ро░рпН роЖродро░ро╡рпБ роОрогрпН", + "customer_support_email": "ро╡ро╛роЯро┐роХрпНроХрпИропро╛ро│ро░рпН роЖродро░ро╡рпБ рооро┐ройрпНройроЮрпНроЪро▓рпН", + "eg_mail_example_com": "роО.роХро╛. mail@example.com", + "vendor_name": "ро╡ро┐ро▒рпНрокройрпИропро╛ро│ро░рпН рокрпЖропро░рпН", + "serial_number": "ро╡ро░ро┐роЪрпИ роОрогрпН", + "last_serviced_on": "роХроЯрпИроЪро┐ропро╛роХ роЪрпЗро╡рпИ роЪрпЖропрпНропрокрпНрокроЯрпНроЯродрпБ", + "notes": "роХрпБро▒ро┐рокрпНрокрпБроХро│рпН", + "create_asset": "роЪрпКродрпНродрпИ роЙро░рпБро╡ро╛роХрпНроХро╡рпБроорпН", + "create_add_more": "роЙро░рпБро╡ро╛роХрпНроХро┐ роорпЗро▓рпБроорпН роЪрпЗро░рпНроХрпНроХро╡рпБроорпН", + "discharged_patients": "ро╡рпЖро│ро┐ропрпЗро▒рпНро▒рокрпНрокроЯрпНроЯ роирпЛропро╛ро│ро┐роХро│рпН", + "discharged_patients_empty": "роЗроирпНрод ро╡роЪродро┐ропро┐ро▓рпН роЯро┐ро╕рпНроЪро╛ро░рпНроЬрпН роЪрпЖропрпНропрокрпНрокроЯрпНроЯ роирпЛропро╛ро│ро┐роХро│рпН ропро╛ро░рпБроорпН роЗро▓рпНро▓рпИ", + "update_facility_middleware_success": "ро╡роЪродро┐ рооро┐роЯро┐ро▓рпНро╡рпЗро░рпН ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ рокрпБродрпБрокрпНрокро┐роХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "treatment_summary__head_title": "роЪро┐роХро┐роЪрпНроЪрпИ роЪрпБро░рпБроХрпНроХроорпН", + "treatment_summary__print": "роЕроЪрпНроЪрпБ роЪро┐роХро┐роЪрпНроЪрпИ роЪрпБро░рпБроХрпНроХроорпН", + "treatment_summary__heading": "роЗроЯрпИроХрпНроХро╛ро▓ роЪро┐роХро┐роЪрпНроЪрпИ роЪрпБро░рпБроХрпНроХроорпН", + "patient_registration__name": "рокрпЖропро░рпН", + "patient_registration__address": "роорпБроХро╡ро░ро┐", + "patient_registration__age": "ро╡ропродрпБ", + "patient_consultation__op": "OP", + "patient_consultation__ip": "роРрокро┐", + "patient_consultation__dc_admission": "ро╡рпАроЯрпНроЯрпБ рокро░ро╛рооро░ро┐рокрпНрокрпБ родрпЗродро┐ родрпКроЯроЩрпНроХро┐ропродрпБ", + "patient_consultation__admission": "роЪрпЗро░рпНроХрпНроХрпИ родрпЗродро┐", + "patient_registration__gender": "рокро╛ро▓ро┐ройроорпН", + "patient_registration__contact": "роЕро╡роЪро░родрпН родрпКроЯро░рпНрокрпБ", + "patient_registration__comorbidities": "роХрпВроЯрпНроЯрпБ роирпЛропрпНроХро│рпН", + "patient_registration__comorbidities__disease": "роирпЛропрпН", + "patient_registration__comorbidities__details": "ро╡ро┐ро╡ро░роЩрпНроХро│рпН", + "patient_consultation__consultation_notes": "рокрпКродрпБро╡ро╛рой ро╡ро┤ро┐роорпБро▒рпИроХро│рпН", + "patient_consultation__special_instruction": "роЪро┐ро▒рокрпНрокрпБ ро╡ро┤ро┐роорпБро▒рпИроХро│рпН", + "suggested_investigations": "рокро░ро┐роирпНродрпБро░рпИроХрпНроХрокрпНрокроЯрпНроЯ ро╡ро┐роЪро╛ро░рогрпИроХро│рпН", + "investigations__date": "родрпЗродро┐", + "investigations__name": "рокрпЖропро░рпН", + "investigations__result": "роорпБроЯро┐ро╡рпБ", + "investigations__ideal_value": "роЪро┐ро▒роирпНрод роородро┐рокрпНрокрпБ", + "investigations__range": "роородро┐рокрпНрокрпБ ро╡ро░роорпНрокрпБ", + "investigations__unit": "роЕро▓роХрпБ", + "patient_consultation__treatment__plan": "родро┐роЯрпНроЯроорпН", + "patient_consultation__treatment__summary": "роЪрпБро░рпБроХрпНроХроорпН", + "patient_consultation__treatment__summary__date": "родрпЗродро┐", + "patient_consultation__treatment__summary__spo2": "SpO2", + "patient_consultation__treatment__summary__temperature": "ро╡рпЖрокрпНрокроиро┐ро▓рпИ", + "diagnosis": "роирпЛропрпН роХрогрпНроЯро▒ро┐родро▓рпН", + "diagnosis__principal": "роЕродро┐рокро░рпН", + "diagnosis__confirmed": "роЙро▒рпБродро┐ роЪрпЖропрпНропрокрпНрокроЯрпНроЯродрпБ", + "diagnosis__provisional": "родро▒рпНроХро╛ро▓ро┐роХрооро╛ройродрпБ", + "diagnosis__unconfirmed": "роЙро▒рпБродро┐ роЪрпЖропрпНропрокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ", + "diagnosis__differential": "ро╡ро┐родрпНродро┐ропро╛роЪрооро╛рой", + "active_prescriptions": "роЪрпЖропро▓ро┐ро▓рпН роЙро│рпНро│ рооро░рпБроирпНродрпБроХро│рпН", + "prescriptions__medicine": "рооро░рпБроирпНродрпБ", + "prescriptions__route": "рокро╛родрпИ", + "prescriptions__dosage_frequency": "рооро░рпБроирпНродро│ро╡рпБ & роЕродро┐ро░рпНро╡рпЖрогрпН", + "prescriptions__start_date": "роЕройрпНро▒рпБ рокро░ро┐роирпНродрпБро░рпИроХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "select_facility_for_discharged_patients_warning": "роЯро┐ро╕рпНроЪро╛ро░рпНроЬрпН роЪрпЖропрпНропрокрпНрокроЯрпНроЯ роирпЛропро╛ро│ро┐роХро│рпИрокрпН рокро╛ро░рпНроХрпНроХ ро╡роЪродро┐ропрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХ ро╡рпЗрогрпНроЯрпБроорпН.", + "duplicate_patient_record_confirmation": "рокро┐ро▒роирпНрод роЖрогрпНроЯрпИроЪрпН роЪрпЗро░рпНрокрпНрокродройрпН роорпВро▓роорпН роирпЛропро╛ро│ро┐ропро┐ройрпН рокродро┐ро╡рпИ роЙроЩрпНроХро│рпН ро╡роЪродро┐ропро┐ро▓рпН роЕройрпБроородро┐роХрпНроХро╡рпБроорпН", + "duplicate_patient_record_rejection": "роиро╛ройрпН роЙро░рпБро╡ро╛роХрпНроХ ро╡ро┐ро░рпБроорпНрокрпБроорпН роЪроирпНродрпЗроХ роирокро░рпН / роирпЛропро╛ро│ро┐ рокроЯрпНроЯро┐ропро▓ро┐ро▓рпН роЗро▓рпНро▓рпИ роОройрпНрокродрпИ роЙро▒рпБродро┐рокрпНрокроЯрпБродрпНродрпБроХро┐ро▒рпЗройрпН.", + "duplicate_patient_record_birth_unknown": "роирпЛропро╛ро│ро┐ропро┐ройрпН рокро┐ро▒роирпНрод роЖрогрпНроЯрпБ роХрпБро▒ро┐родрпНродрпБ роЙроЩрпНроХро│рпБроХрпНроХрпБродрпН родрпЖро░ро┐ропро╛ро╡ро┐роЯрпНроЯро╛ро▓рпН, роЙроЩрпНроХро│рпН рооро╛ро╡роЯрпНроЯ рокро░ро╛рооро░ро┐рокрпНрокрпБ роТро░рпБроЩрпНроХро┐рогрпИрокрпНрокро╛ро│ро░рпН, роЗроЯрооро╛ро▒рпНро▒роорпН роЪрпЖропрпНропрпБроорпН ро╡роЪродро┐ роЕро▓рпНро▓родрпБ роирпЛропро╛ро│ро┐ропрпИродрпН родрпКроЯро░рпНрокрпБ роХрпКро│рпНро│ро╡рпБроорпН.", + "patient_transfer_birth_match_note": "роХрпБро▒ро┐рокрпНрокрпБ: рокро░ро┐рооро╛ро▒рпНро▒роХрпН роХрпЛро░ро┐роХрпНроХрпИропрпИроЪрпН роЪрпЖропро▓рпНрокроЯрпБродрпНрод, рокро┐ро▒роирпНрод роЖрогрпНроЯрпБ роирпЛропро╛ро│ро┐ропрпБроЯройрпН рокрпКро░рпБроирпНрод ро╡рпЗрогрпНроЯрпБроорпН.", + "cover_image_updated_note": "рокрпБродрпБрокрпНрокро┐роХрпНроХрокрпНрокроЯрпНроЯ роЕроЯрпНроЯрпИрокрпН рокроЯродрпНродрпИрокрпН рокро╛ро░рпНроХрпНроХ роЪро┐ро▒ро┐родрпБ роирпЗро░роорпН роЖроХро▓ро╛роорпН", + "available_features": "роХро┐роЯрпИроХрпНроХрпБроорпН роЕроорпНроЪроЩрпНроХро│рпН", + "update_facility": "роорпЗроорпНрокроЯрпБродрпНродро▓рпН ро╡роЪродро┐", + "configure_facility": "ро╡роЪродро┐ропрпИ роЙро│рпНро│роорпИроХрпНроХро╡рпБроорпН", + "inventory_management": "роЪро░роХрпНроХрпБ роорпЗро▓ро╛рогрпНроорпИ", + "location_management": "роЗро░рпБрокрпНрокро┐роЯ роорпЗро▓ро╛рогрпНроорпИ", + "resource_request": "роЖродро╛ро░ роХрпЛро░ро┐роХрпНроХрпИ", + "view_asset": "роЪрпКродрпНродрпБроХрпНроХро│рпИрокрпН рокро╛ро░рпНроХрпНроХро╡рпБроорпН", + "view_users": "рокропройро░рпНроХро│рпИроХрпН роХро╛рогрпНроХ", + "view_abdm_records": "ABDM рокродро┐ро╡рпБроХро│рпИрокрпН рокро╛ро░рпНроХрпНроХро╡рпБроорпН", + "delete_facility": "роирпАроХрпНроХрпБ ро╡роЪродро┐", + "central_nursing_station": "роородрпНродро┐роп роиро░рпНроЪро┐роЩрпН роиро┐ро▓рпИропроорпН", + "add_details_of_patient": "роирпЛропро╛ро│ро┐ропро┐ройрпН ро╡ро┐ро╡ро░роЩрпНроХро│рпИроЪрпН роЪрпЗро░рпНроХрпНроХро╡рпБроорпН", + "choose_location": "роЗро░рпБрокрпНрокро┐роЯродрпНродрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "live_monitoring": "роирпЗро░роЯро┐ роХрогрпНроХро╛рогро┐рокрпНрокрпБ", + "open_live_monitoring": "роирпЗро░роЯро┐ роХрогрпНроХро╛рогро┐рокрпНрокрпИродрпН родро┐ро▒роХрпНроХро╡рпБроорпН" } diff --git a/src/Locale/ta/FileUpload.json b/src/Locale/ta/FileUpload.json new file mode 100644 index 00000000000..53c75dc45d1 --- /dev/null +++ b/src/Locale/ta/FileUpload.json @@ -0,0 +1,29 @@ +{ + "audio__allow_permission": "родро│ роЕроорпИрокрпНрокрпБроХро│ро┐ро▓рпН роорпИроХрпНро░рпЛроГрокрпЛройрпН роЕройрпБроородро┐ропрпИ роЕройрпБроородро┐роХрпНроХро╡рпБроорпН", + "audio__allow_permission_helper": "роХроЯроирпНрод роХро╛ро▓родрпНродро┐ро▓рпН роорпИроХрпНро░рпЛроГрокрпЛройрпН роЕрогрпБроХро▓рпИ роирпАроЩрпНроХро│рпН рооро▒рпБродрпНродро┐ро░рпБроХрпНроХро▓ро╛роорпН.", + "audio__allow_permission_button": "роОрокрпНрокроЯро┐ роЕройрпБроородро┐рокрпНрокродрпБ роОройрпНрокродрпИ роЕро▒ро┐роп роЗроЩрпНроХрпЗ роХро┐ро│ро┐роХрпН роЪрпЖропрпНропро╡рпБроорпН", + "audio__record": "роЖроЯро┐ропрпЛ рокродро┐ро╡рпБ", + "audio__record_helper": "рокродро┐ро╡рпИродрпН родрпКроЯроЩрпНроХ рокрпКродрпНродро╛ройрпИроХрпН роХро┐ро│ро┐роХрпН роЪрпЖропрпНропро╡рпБроорпН", + "audio__recording": "рокродро┐ро╡рпБ роЪрпЖропрпНродро▓рпН", + "audio__recording_helper": "роЙроЩрпНроХро│рпН роорпИроХрпНро░рпЛроГрокрпЛройро┐ро▓рпН рокрпЗроЪро╡рпБроорпН.", + "audio__recording_helper_2": "рокродро┐ро╡рпИ роиро┐ро▒рпБродрпНрод рокрпКродрпНродро╛ройрпИроХрпН роХро┐ро│ро┐роХрпН роЪрпЖропрпНропро╡рпБроорпН.", + "audio__recorded": "роЖроЯро┐ропрпЛ рокродро┐ро╡рпБ роЪрпЖропрпНропрокрпНрокроЯрпНроЯродрпБ", + "audio__start_again": "роорпАрогрпНроЯрпБроорпН родрпКроЯроЩрпНроХро╡рпБроорпН", + "enter_file_name": "роХрпЛрокрпНрокрпБ рокрпЖропро░рпИ роЙро│рпНро│ро┐роЯро╡рпБроорпН", + "no_files_found": "{{type}} роХрпЛрокрпНрокрпБроХро│рпН роЗро▓рпНро▓рпИ", + "upload_headings__patient": "рокрпБродро┐роп роирпЛропро╛ро│ро┐ роХрпЛрокрпНрокрпИ рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "upload_headings__consultation": "рокрпБродро┐роп роЖро▓рпЛроЪройрпИроХрпН роХрпЛрокрпНрокрпИрокрпН рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "upload_headings__sample_report": "рооро╛родро┐ро░ро┐ роЕро▒ро┐роХрпНроХрпИропрпИрокрпН рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "upload_headings__supporting_info": "родрпБрогрпИродрпН родроХро╡ро▓рпИрокрпН рокродро┐ро╡рпЗро▒рпНро▒ро╡рпБроорпН", + "file_list_headings__patient": "роирпЛропро╛ро│ро┐ роХрпЛрокрпНрокрпБроХро│рпН", + "file_list_headings__consultation": "роЖро▓рпЛроЪройрпИ роХрпЛрокрпНрокрпБроХро│рпН", + "file_list_headings__sample_report": "рооро╛родро┐ро░ро┐ роЕро▒ро┐роХрпНроХрпИ", + "file_list_headings__supporting_info": "родрпБрогрпИродрпН родроХро╡ро▓рпН", + "file_error__choose_file": "рокродро┐ро╡рпЗро▒рпНро▒ роТро░рпБ роХрпЛрокрпНрокрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "file_error__file_name": "роХрпЛрокрпНрокро┐ройрпН рокрпЖропро░рпИ роЙро│рпНро│ро┐роЯро╡рпБроорпН", + "file_error__file_size": "роХрпЛрокрпНрокрпБроХро│ро┐ройрпН роЕродро┐роХрокроЯрпНроЪ роЕро│ро╡рпБ 100 роОроорпНрокро┐", + "file_error__file_type": "родро╡ро▒ро╛рой роХрпЛрокрпНрокрпБ ро╡роХрпИ \".{{extension}}\" роЕройрпБроородро┐роХрпНроХрокрпНрокроЯрпНроЯ ро╡роХрпИроХро│рпН: {{allowedExtensions}}", + "file_uploaded": "роХрпЛрокрпНрокрпБ ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ рокродро┐ро╡рпЗро▒рпНро▒рокрпНрокроЯрпНроЯродрпБ", + "file_error__dynamic": "роХрпЛрокрпНрокрпИрокрпН рокродро┐ро╡рпЗро▒рпНро▒рпБро╡родро┐ро▓рпН рокро┐ро┤рпИ: {{statusText}}", + "file_error__network": "роХрпЛрокрпНрокрпИрокрпН рокродро┐ро╡рпЗро▒рпНро▒рпБро╡родро┐ро▓рпН рокро┐ро┤рпИ: рокро┐рогрпИропрокрпН рокро┐ро┤рпИ" +} diff --git a/src/Locale/ta/Hub.json b/src/Locale/ta/Hub.json new file mode 100644 index 00000000000..8410e8ca22b --- /dev/null +++ b/src/Locale/ta/Hub.json @@ -0,0 +1,14 @@ +{ + "monitor": "роХрогрпНроХро╛рогро┐роХрпНроХро╡рпБроорпН", + "show_default_presets": "роЗропро▓рпНрокрпБроиро┐ро▓рпИ роорпБройрпНройроорпИро╡рпБроХро│рпИроХрпН роХро╛роЯрпНроЯрпБ", + "show_patient_presets": "роирпЛропро╛ро│ро┐ропро┐ройрпН роорпБройрпНройроорпИро╡рпБроХро│рпИроХрпН роХро╛роЯрпНроЯрпБ", + "moving_camera": "роироХро░рпБроорпН роХрпЗрооро░ро╛", + "full_screen": "роорпБро┤рпБродрпНродро┐ро░рпИ", + "feed_is_currently_not_live": "роКроЯрпНроЯроорпН родро▒рпНрокрпЛродрпБ роирпЗро░ро▓рпИропро┐ро▓рпН роЗро▓рпНро▓рпИ", + "zoom_out": "рокрпЖро░ро┐родро╛роХрпНроХро╡рпБроорпН", + "zoom_in": "рокрпЖро░ро┐родро╛роХрпНроХро╡рпБроорпН", + "right": "роЪро░ро┐", + "left": "ро╡ро┐роЯрпНроЯрпБ", + "down": "роХрпАро┤рпЗ", + "up": "роорпЗро▓рпЗ" +} diff --git a/src/Locale/ta/LogUpdate.json b/src/Locale/ta/LogUpdate.json new file mode 100644 index 00000000000..fa5308cde39 --- /dev/null +++ b/src/Locale/ta/LogUpdate.json @@ -0,0 +1,73 @@ +{ + "RESPIRATORY_SUPPORT_SHORT__UNKNOWN": "роЗро▓рпНро▓рпИ", + "RESPIRATORY_SUPPORT_SHORT__OXYGEN_SUPPORT": "O2 роЖродро░ро╡рпБ", + "RESPIRATORY_SUPPORT_SHORT__NON_INVASIVE": "роОройрпН.роР.ро╡ро┐", + "RESPIRATORY_SUPPORT_SHORT__INVASIVE": "IV", + "RESPIRATORY_SUPPORT__UNKNOWN": "роЗро▓рпНро▓рпИ", + "RESPIRATORY_SUPPORT__OXYGEN_SUPPORT": "роЖроХрпНро╕ро┐роЬройрпН роЖродро░ро╡рпБ", + "RESPIRATORY_SUPPORT__NON_INVASIVE": "роЖроХрпНроХро┐ро░рооро┐рокрпНрокрпБ роЕро▓рпНро▓ро╛род ро╡рпЖройрпНроЯро┐ро▓рпЗроЯрпНроЯро░рпН (NIV)", + "RESPIRATORY_SUPPORT__INVASIVE": "роКроЯрпБро░рпБро╡рпБроорпН роХро╛ро▒рпНро▒рпЛроЯрпНроЯроорпН (IV)", + "VENTILATOR_MODE__CMV": "роХроЯрпНроЯрпБрокрпНрокро╛роЯрпНроЯрпБ роЗропроирпНродро┐ро░ роХро╛ро▒рпНро▒рпЛроЯрпНроЯроорпН (CMV)", + "VENTILATOR_MODE__VCV": "ро╡ро╛ро▓рпНропрпВроорпН роХрогрпНроЯрпНро░рпЛро▓рпН ро╡рпЖройрпНроЯро┐ро▓рпЗро╖ройрпН (VCV)", + "VENTILATOR_MODE__PCV": "роЕро┤рпБродрпНродроорпН роХроЯрпНроЯрпБрокрпНрокро╛роЯрпНроЯрпБ роХро╛ро▒рпНро▒рпЛроЯрпНроЯроорпН (PCV)", + "VENTILATOR_MODE__SIMV": "роТродрпНродро┐роЪрпИроХрпНроХрокрпНрокроЯрпНроЯ роЗроЯрпИрокрпНрокроЯрпНроЯ роХроЯрпНроЯро╛роп роХро╛ро▒рпНро▒рпЛроЯрпНроЯроорпН (SIMV)", + "VENTILATOR_MODE__VC_SIMV": "родрпКроХрпБродро┐ роХроЯрпНроЯрпБрокрпНрокроЯрпБродрпНродрокрпНрокроЯрпНроЯ SIMV (VC-SIMV)", + "VENTILATOR_MODE__PC_SIMV": "роЕро┤рпБродрпНродроорпН роХроЯрпНроЯрпБрокрпНрокроЯрпБродрпНродрокрпНрокроЯрпНроЯ SIMV (PC-SIMV)", + "VENTILATOR_MODE__PSV": "роЪро┐-рокро┐роПрокро┐ / рокро┐ро░ро╖ро░рпН роЪрокрпНрокрпЛро░рпНроЯрпН ро╡рпЖройрпНроЯро┐ро▓рпЗро╖ройрпН (рокро┐роОро╕рпНро╡ро┐)", + "CONSCIOUSNESS_LEVEL__UNRESPONSIVE": "рокродро┐ро▓ро│ро┐роХрпНроХро╛родродрпБ", + "CONSCIOUSNESS_LEVEL__RESPONDS_TO_PAIN": "ро╡ро▓ро┐роХрпНроХрпБ рокродро┐ро▓ро│ро┐роХрпНроХро┐ро▒родрпБ", + "CONSCIOUSNESS_LEVEL__RESPONDS_TO_VOICE": "роХрпБро░ро▓рпБроХрпНроХрпБ рокродро┐ро▓ро│ро┐роХрпНроХро┐ро▒родрпБ", + "CONSCIOUSNESS_LEVEL__ALERT": "роОроЪрпНроЪро░ро┐роХрпНроХрпИ", + "CONSCIOUSNESS_LEVEL__AGITATED_OR_CONFUSED": "роХро▓роХрпНроХроорпН роЕро▓рпНро▓родрпБ роХрпБро┤рокрпНрокроорпН", + "CONSCIOUSNESS_LEVEL__ONSET_OF_AGITATION_AND_CONFUSION": "роХро┐ро│ро░рпНроЪрпНроЪро┐ рооро▒рпНро▒рпБроорпН роХрпБро┤рокрпНрокродрпНродро┐ройрпН роЖро░роорпНрокроорпН", + "PUPIL_REACTION__UNKNOWN": "родрпЖро░ро┐ропро╡ро┐ро▓рпНро▓рпИ", + "PUPIL_REACTION__BRISK": "роЪрпБро▒рпБроЪрпБро▒рпБрокрпНрокро╛рой", + "PUPIL_REACTION__SLUGGISH": "роороирпНродрооро╛рой", + "PUPIL_REACTION__FIXED": "роЪро░ро┐ роЪрпЖропрпНропрокрпНрокроЯрпНроЯродрпБ", + "PUPIL_REACTION__CANNOT_BE_ASSESSED": "роородро┐рокрпНрокро┐роЯ роорпБроЯро┐ропро╛родрпБ", + "LIMB_RESPONSE__UNKNOWN": "родрпЖро░ро┐ропро╡ро┐ро▓рпНро▓рпИ", + "LIMB_RESPONSE__STRONG": "ро╡ро▓рпБро╡ро╛рой", + "LIMB_RESPONSE__MODERATE": "рооро┐родрооро╛рой", + "LIMB_RESPONSE__WEAK": "рокро▓ро╡рпАройрооро╛рой", + "LIMB_RESPONSE__FLEXION": "роирпЖроХро┐ро┤рпНро╡рпБ", + "LIMB_RESPONSE__EXTENSION": "роирпАроЯрпНроЯро┐рокрпНрокрпБ", + "LIMB_RESPONSE__NONE": "роЗро▓рпНро▓рпИ", + "OXYGEN_MODALITY__NASAL_PRONGS": "роиро╛роЪро┐ роорпБройрпИроХро│рпН", + "OXYGEN_MODALITY__SIMPLE_FACE_MASK": "роОро│ро┐роп роорпБроХроорпВроЯро┐", + "OXYGEN_MODALITY__NON_REBREATHING_MASK": "роЪрпБро╡ро╛роЪро┐роХрпНроХро╛род роорпБроХроорпВроЯро┐", + "OXYGEN_MODALITY__HIGH_FLOW_NASAL_CANNULA": "роЕродро┐роХ роУроЯрпНроЯроорпН роиро╛роЪро┐ роХрпЗройрпБро▓ро╛", + "INSULIN_INTAKE_FREQUENCY__UNKNOWN": "родрпЖро░ро┐ропро╡ро┐ро▓рпНро▓рпИ", + "INSULIN_INTAKE_FREQUENCY__OD": "роТро░рпБ роиро╛ро│рпИроХрпНроХрпБ роТро░рпБ роорпБро▒рпИ (OD)", + "INSULIN_INTAKE_FREQUENCY__BD": "роТро░рпБ роиро╛ро│рпИроХрпНроХрпБ роЗро░рогрпНроЯрпБ роорпБро▒рпИ (BD)", + "INSULIN_INTAKE_FREQUENCY__TD": "роТро░рпБ роиро╛ро│рпИроХрпНроХрпБ роорпВройрпНро▒рпБ роорпБро▒рпИ (роЯро┐роЯро┐)", + "NURSING_CARE_PROCEDURE__personal_hygiene": "родройро┐рокрпНрокроЯрпНроЯ роЪрпБроХро╛родро╛ро░роорпН", + "NURSING_CARE_PROCEDURE__positioning": "роиро┐ро▓рпИрокрпНрокроЯрпБродрпНродрпБродро▓рпН", + "NURSING_CARE_PROCEDURE__suctioning": "роЙро▒ро┐роЮрпНроЪрпБроорпН", + "NURSING_CARE_PROCEDURE__ryles_tube_care": "ро░рпИро▓рпНро╕рпН роХрпБро┤ро╛ропрпН рокро░ро╛рооро░ро┐рокрпНрокрпБ", + "NURSING_CARE_PROCEDURE__iv_sitecare": "IV родро│ рокро░ро╛рооро░ро┐рокрпНрокрпБ", + "NURSING_CARE_PROCEDURE__nubulisation": "роирпБрокрпБро▓рпИроЪрпЗро╖ройрпН", + "NURSING_CARE_PROCEDURE__dressing": "роЖроЯрпИ роЕрогро┐родро▓рпН", + "NURSING_CARE_PROCEDURE__dvt_pump_stocking": "DVT рокроорпНрокрпН ро╕рпНроЯро╛роХрпНроХро┐роЩрпН", + "NURSING_CARE_PROCEDURE__restrain": "роХроЯрпНроЯрпБрокрпНрокроЯрпБродрпНродрпБ", + "NURSING_CARE_PROCEDURE__chest_tube_care": "рооро╛ро░рпНрокрпБ роХрпБро┤ро╛ропрпН рокро░ро╛рооро░ро┐рокрпНрокрпБ", + "NURSING_CARE_PROCEDURE__tracheostomy_care": "роЯро┐ро░роХрпНроХро┐ропрпЛро╕рпНроЯрооро┐ рокро░ро╛рооро░ро┐рокрпНрокрпБ", + "NURSING_CARE_PROCEDURE__stoma_care": "ро╕рпНроЯрпЛрооро╛ роХрпЗро░рпН", + "NURSING_CARE_PROCEDURE__catheter_care": "ро╡роЯро┐роХрпБро┤ро╛ропрпН рокро░ро╛рооро░ро┐рокрпНрокрпБ", + "HEARTBEAT_RHYTHM__REGULAR": "ро╡ро┤роХрпНроХрооро╛рой", + "HEARTBEAT_RHYTHM__IRREGULAR": "роТро┤рпБроЩрпНроХро▒рпНро▒", + "HEARTBEAT_RHYTHM__UNKNOWN": "родрпЖро░ро┐ропро╡ро┐ро▓рпНро▓рпИ", + "heartbeat_rhythm": "роЗродропродрпН родрпБроЯро┐рокрпНрокрпБ родро╛ро│роорпН", + "heartbeat_description": "роЗродроп родрпБроЯро┐рокрпНрокрпБ ро╡ро┐ро│роХрпНроХроорпН", + "blood_pressure": "роЗро░родрпНрод роЕро┤рпБродрпНродроорпН", + "map_acronym": "ро╡ро░рпИрокроЯроорпН", + "systolic": "роЪро┐ро╕рпНроЯро╛ро▓ро┐роХрпН", + "diastolic": "роЯропро╕рпНроЯро╛ро▓ро┐роХрпН", + "temperature": "ро╡рпЖрокрпНрокроиро┐ро▓рпИ", + "resipiratory_rate": "роЪрпБро╡ро╛роЪ ро╡ро┐роХро┐родроорпН", + "pain": "ро╡ро▓ро┐", + "pain_chart_description": "ро╡ро▓ро┐ропро┐ройрпН рокроХрпБродро┐ рооро▒рпНро▒рпБроорпН родрпАро╡ро┐ро░родрпНродрпИ роХрпБро▒ро┐роХрпНроХро╡рпБроорпН", + "pulse": "родрпБроЯро┐рокрпНрокрпБ", + "bradycardia": "рокро┐ро░ро╛роЯро┐ роХро╛ро░рпНроЯро┐ропро╛", + "tachycardia": "роЯро╛роХрпНро░ро┐роХрпНроХро╛ро░рпНроЯро┐ропро╛", + "spo2": "SpOтВВ" +} \ No newline at end of file diff --git a/src/Locale/ta/Medicine.json b/src/Locale/ta/Medicine.json new file mode 100644 index 00000000000..1a60737e786 --- /dev/null +++ b/src/Locale/ta/Medicine.json @@ -0,0 +1,68 @@ +{ + "medicine": "рооро░рпБроирпНродрпБ", + "route": "рокро╛родрпИ", + "dosage": "рооро░рпБроирпНродро│ро╡рпБ", + "base_dosage": "рооро░рпБроирпНродро│ро╡рпБ", + "start_dosage": "родрпКроЯроХрпНроХ рооро░рпБроирпНродро│ро╡рпБ", + "target_dosage": "роЗро▓роХрпНроХрпБ роЕро│ро╡рпБ", + "instruction_on_titration": "роЯрпИроЯрпНро░рпЗро╖ройрпН рокро▒рпНро▒ро┐роп ро╡ро┤ро┐роорпБро▒рпИроХро│рпН", + "titrate_dosage": "роЯрпИроЯрпНро░рпЗроЯрпН роЕро│ро╡рпБ", + "indicator": "роХро╛роЯрпНроЯро┐", + "inidcator_event": "роХро╛роЯрпНроЯро┐ роиро┐роХро┤рпНро╡рпБ", + "max_dosage_24_hrs": "роЕродро┐роХрокроЯрпНроЪроорпН. 24 роорогро┐ роирпЗро░родрпНродро┐ро▓рпН рооро░рпБроирпНродро│ро╡рпБ", + "min_time_bw_doses": "роХрпБро▒рпИроирпНродрокроЯрпНроЪроорпН роирпЗро░роорпН b/w роЕро│ро╡рпБроХро│рпН", + "manage_prescriptions": "рооро░рпБроирпНродрпБроХро│рпИ роиро┐ро░рпНро╡роХро┐роХрпНроХро╡рпБроорпН", + "prescription_details": "рооро░рпБроирпНродрпБроЪрпН роЪрпАроЯрпНроЯрпБ ро╡ро┐ро╡ро░роЩрпНроХро│рпН", + "prescription_medications": "рокро░ро┐роирпНродрпБро░рпИроХрпНроХрокрпНрокроЯрпНроЯ рооро░рпБроирпНродрпБроХро│рпН", + "prn_prescriptions": "PRN рокро░ро┐роирпНродрпБро░рпИроХро│рпН", + "prescription": "рооро░рпБроирпНродрпБроЪрпНроЪрпАроЯрпНроЯрпБ", + "discharge_prescription": "ро╡рпЖро│ро┐ропрпЗро▒рпНро▒ рооро░рпБроирпНродрпБ", + "edit_prescriptions": "рооро░рпБроирпНродрпБроЪрпНроЪрпАроЯрпНроЯрпБроХро│рпИродрпН родро┐ро░рпБродрпНродро╡рпБроорпН", + "prescription_medication": "рокро░ро┐роирпНродрпБро░рпИроХрпНроХрокрпНрокроЯрпНроЯ рооро░рпБроирпНродрпБ", + "add_prescription_medication": "рокро░ро┐роирпНродрпБро░рпИроХрпНроХрокрпНрокроЯрпНроЯ рооро░рпБроирпНродрпБроХро│рпИроЪрпН роЪрпЗро░рпНроХрпНроХро╡рпБроорпН", + "prn_prescription": "PRN рооро░рпБроирпНродрпБ", + "add_prn_prescription": "PRN рооро░рпБроирпНродрпБроЪрпН роЪрпАроЯрпНроЯрпИроЪрпН роЪрпЗро░рпНроХрпНроХро╡рпБроорпН", + "add_prescription_to_consultation_note": "роЗроирпНрод роЖро▓рпЛроЪройрпИропро┐ро▓рпН рокрпБродро┐роп рооро░рпБроирпНродрпБроЪрпН роЪрпАроЯрпНроЯрпИроЪрпН роЪрпЗро░рпНроХрпНроХро╡рпБроорпН.", + "medicine_administration_history": "рооро░рпБродрпНродрпБро╡ роиро┐ро░рпНро╡ро╛роХ ро╡ро░ро▓ро╛ро▒рпБ", + "return_to_patient_dashboard": "роирпЛропро╛ро│ро┐ роЯро╛ро╖рпНрокрпЛро░рпНроЯрпБроХрпНроХрпБродрпН родро┐ро░рпБроорпНрокрпБ", + "administered_on": "роЕройрпНро▒рпБ роиро┐ро░рпНро╡роХро┐роХрпНроХрокрпНрокроЯрпБроХро┐ро▒родрпБ", + "administer": "роиро┐ро░рпНро╡ро╛роХроорпН", + "administer_medicine": "рооро░рпБроирпНродрпИ роиро┐ро░рпНро╡роХро┐", + "administer_medicines": "рооро░рпБроирпНродрпБроХро│рпИ роиро┐ро░рпНро╡роХро┐роХрпНроХро╡рпБроорпН", + "administer_selected_medicines": "родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХрокрпНрокроЯрпНроЯ рооро░рпБроирпНродрпБроХро│рпИ роиро┐ро░рпНро╡роХро┐роХрпНроХро╡рпБроорпН", + "select_for_administration": "роиро┐ро░рпНро╡ро╛роХродрпНродро┐ро▒рпНроХрпБ родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "medicines_administered": "рооро░рпБроирпНродрпБ (роХро│рпН) роиро┐ро░рпНро╡роХро┐роХрпНроХрокрпНрокроЯрпБроХро┐ро▒родрпБ", + "medicines_administered_error": "рооро░рпБроирпНродрпБроХро│рпИ ро╡ро┤роЩрпНроХрпБро╡родро┐ро▓рпН рокро┐ро┤рпИ", + "prescription_discontinued": "рооро░рпБроирпНродрпБроЪрпН роЪрпАроЯрпНроЯрпБ роиро┐ро▒рпБродрпНродрокрпНрокроЯрпНроЯродрпБ", + "administration_notes": "роиро┐ро░рпНро╡ро╛роХ роХрпБро▒ро┐рокрпНрокрпБроХро│рпН", + "last_administered": "роХроЯрпИроЪро┐ропро╛роХ роиро┐ро░рпНро╡роХро┐роХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "prescription_logs": "рооро░рпБроирпНродрпБрокрпН рокродро┐ро╡рпБроХро│рпН", + "modification_caution_note": "роТро░рпБроорпБро▒рпИ роЪрпЗро░рпНродрпНродро╛ро▓рпН роОроирпНрод рооро╛ро▒рпНро▒роорпБроорпН роЪро╛родрпНродро┐ропрооро┐ро▓рпНро▓рпИ", + "discontinue_caution_note": "роЗроирпНрод рооро░рпБроирпНродрпИ роиро┐роЪрпНроЪропрооро╛роХ роиро┐ро▒рпБродрпНрод ро╡ро┐ро░рпБроорпНрокрпБроХро┐ро▒рпАро░рпНроХро│ро╛?", + "confirm_discontinue": "роиро┐ро▒рпБродрпНродрпБро╡родрпИ роЙро▒рпБродро┐рокрпНрокроЯрпБродрпНродро╡рпБроорпН", + "edit_caution_note": "родро┐ро░рпБродрпНродрокрпНрокроЯрпНроЯ ро╡ро┐ро╡ро░роЩрпНроХро│рпБроЯройрпН роХро▓роирпНродро╛ропрпНро╡ро┐ро▓рпН рокрпБродро┐роп рооро░рпБроирпНродрпБроЪрпН роЪрпАроЯрпНроЯрпБ роЪрпЗро░рпНроХрпНроХрокрпНрокроЯрпБроорпН рооро▒рпНро▒рпБроорпН родро▒рпНрокрпЛродрпИроп рооро░рпБроирпНродрпБроЪрпН роЪрпАроЯрпНроЯрпБ роиро┐ро▒рпБродрпНродрокрпНрокроЯрпБроорпН.", + "reason_for_discontinuation": "роиро┐ро▒рпБродрпНродродрпНродро┐ро▒рпНроХро╛рой роХро╛ро░рогроорпН", + "reason_for_edit": "родро┐ро░рпБродрпНродродрпНродро┐ро▒рпНроХро╛рой роХро╛ро░рогроорпН", + "PRESCRIPTION_ROUTE_ORAL": "ро╡ро╛ропрпНро╡ро┤ро┐", + "PRESCRIPTION_ROUTE_IV": "IV", + "PRESCRIPTION_ROUTE_IM": "роР.роОроорпН", + "PRESCRIPTION_ROUTE_SC": "роОро╕рпН/роЪро┐", + "PRESCRIPTION_ROUTE_INHALATION": "роЙро│рпНро│ро┐ро┤рпБродрпНродро▓рпН", + "PRESCRIPTION_ROUTE_NASOGASTRIC": "роиро╛роЪрпЛроХро╛ро╕рпНроЯрпНро░ро┐роХрпН / роХро╛ро╕рпНроЯрпНро░рпЛро╕рпНроЯрооро┐ роХрпБро┤ро╛ропрпН", + "PRESCRIPTION_ROUTE_INTRATHECAL": "роЙро│рпНроирпЛроХрпНроХро┐ роКроЪро┐", + "PRESCRIPTION_ROUTE_TRANSDERMAL": "роЯро┐ро░ро╛ройрпНро╕рпНроЯрпЖро░рпНрооро▓рпН", + "PRESCRIPTION_ROUTE_RECTAL": "рооро▓роХрпНроХрпБроЯро▓рпН", + "PRESCRIPTION_ROUTE_SUBLINGUAL": "роЪрокрпНро│ро┐роЩрпНроХрпБро╡ро▓рпН", + "PRESCRIPTION_FREQUENCY_STAT": "роЙроЯройроЯро┐ропро╛роХ", + "PRESCRIPTION_FREQUENCY_OD": "родро┐ройроорпБроорпН роТро░рпБроорпБро▒рпИ", + "PRESCRIPTION_FREQUENCY_HS": "роЗро░ро╡рпБ роороЯрпНроЯрпБроорпН", + "PRESCRIPTION_FREQUENCY_BD": "родро┐ройроорпБроорпН роЗро░рпБроорпБро▒рпИ", + "PRESCRIPTION_FREQUENCY_TID": "8ро╡родрпБ роорогро┐роирпЗро░роорпН", + "PRESCRIPTION_FREQUENCY_QID": "6 ро╡родрпБ роорогро┐роирпЗро░роорпН", + "PRESCRIPTION_FREQUENCY_Q4H": "4 ро╡родрпБ роорогро┐роирпЗро░роорпН", + "PRESCRIPTION_FREQUENCY_QOD": "рооро╛ро▒рпНро▒рпБ роиро╛ро│рпН", + "PRESCRIPTION_FREQUENCY_QWK": "ро╡ро╛ро░роорпН роТро░рпБроорпБро▒рпИ", + "inconsistent_dosage_units_error": "рооро░рпБроирпНродро│ро╡рпБ роЕро▓роХрпБроХро│рпН роТро░рпЗ рооро╛родро┐ро░ро┐ропро╛роХ роЗро░рпБроХрпНроХ ро╡рпЗрогрпНроЯрпБроорпН", + "max_dosage_in_24hrs_gte_base_dosage_error": "роЕродро┐роХрокроЯрпНроЪроорпН. 24 роорогро┐роирпЗро░родрпНродро┐ро▓рпН рооро░рпБроирпНродро│ро╡рпБ роЕроЯро┐рокрпНрокроЯрпИ роЕро│ро╡рпИ ро╡ро┐роЯ роЕродро┐роХрооро╛роХро╡рпЛ роЕро▓рпНро▓родрпБ роЪроорооро╛роХро╡рпЛ роЗро░рпБроХрпНроХ ро╡рпЗрогрпНроЯрпБроорпН", + "administration_dosage_range_error": "роЖро░роорпНрок рооро▒рпНро▒рпБроорпН роЗро▓роХрпНроХрпБ роЯрпЛро╕рпН роЗроЯрпИропрпЗ рооро░рпБроирпНродро│ро╡рпБ роЗро░рпБроХрпНроХ ро╡рпЗрогрпНроЯрпБроорпН" +} \ No newline at end of file diff --git a/src/Locale/ta/Notifications.json b/src/Locale/ta/Notifications.json new file mode 100644 index 00000000000..a372a092286 --- /dev/null +++ b/src/Locale/ta/Notifications.json @@ -0,0 +1,22 @@ +{ + "no_notices_for_you": "роЙроЩрпНроХро│рпБроХрпНроХро╛рой роЕро▒ро┐ро╡ро┐рокрпНрокрпБроХро│рпН роЗро▓рпНро▓рпИ.", + "mark_as_read": "рокроЯро┐родрпНродродро╛роХроХрпН роХрпБро▒ро┐", + "mark_as_unread": "рокроЯро┐роХрпНроХро╛родродрпБ роОройроХрпН роХрпБро▒ро┐", + "subscribe": "роХрпБро┤рпБроЪрпЗро░рпН", + "subscribe_on_this_device": "роЗроирпНродроЪрпН роЪро╛родройродрпНродро┐ро▓рпН роХрпБро┤рпБроЪрпЗро░ро╡рпБроорпН", + "show_unread_notifications": "рокроЯро┐роХрпНроХро╛родродрпИроХрпН роХро╛роЯрпНроЯрпБ", + "show_all_notifications": "роЕройрпИродрпНродрпИропрпБроорпН роХро╛роЯрпНроЯрпБ", + "filter_by_category": "ро╡роХрпИропро┐ройрпНрокроЯро┐ ро╡роЯро┐роХроЯрпНроЯро╡рпБроорпН", + "mark_all_as_read": "роЕройрпИродрпНродрпИропрпБроорпН рокроЯро┐родрпНродродро╛роХроХрпН роХрпБро▒ро┐роХрпНроХро╡рпБроорпН", + "reload": "роорпАрогрпНроЯрпБроорпН роПро▒рпНро▒ро╡рпБроорпН", + "Notifications": "роЕро▒ро┐ро╡ро┐рокрпНрокрпБроХро│рпН", + "no_results_found": "роорпБроЯро┐ро╡рпБроХро│рпН роОродрпБро╡рпБроорпН роХро┐роЯрпИроХрпНроХро╡ро┐ро▓рпНро▓рпИ", + "load_more": "роорпЗро▓рпБроорпН роПро▒рпНро▒ро╡рпБроорпН", + "subscription_error": "роЪроирпНродро╛ рокро┐ро┤рпИ", + "unsubscribe_failed": "роХрпБро┤рпБро╡ро┐ро▓роХ роорпБроЯро┐ропро╡ро┐ро▓рпНро▓рпИ.", + "unsubscribe": "роХрпБро┤рпБро╡ро┐ро▓роХро╡рпБроорпН", + "escape": "роОро╕рпНроХрпЗрокрпН", + "loading": "роПро▒рпНро▒рпБроХро┐ро▒родрпБ...", + "invalid_asset_id_msg": "роЕроЪрпНроЪроЪрпНроЪрпЛ! роирпАроЩрпНроХро│рпН роЙро│рпНро│ро┐роЯрпНроЯ роЪрпКродрпНродрпБ роРроЯро┐ роЪро░ро┐ропро╛ройродро╛роХродрпН родрпЖро░ро┐ропро╡ро┐ро▓рпНро▓рпИ.", + "asset_not_found_msg": "роЕроЪрпНроЪроЪрпНроЪрпЛ! роирпАроЩрпНроХро│рпН родрпЗроЯрпБроорпН роЪрпКродрпНродрпБ роЗро▓рпНро▓рпИ. роЪрпКродрпНродрпБ роРроЯро┐ропрпИроЪрпН роЪро░ро┐рокро╛ро░рпНроХрпНроХро╡рпБроорпН." +} diff --git a/src/Locale/ta/Resource.json b/src/Locale/ta/Resource.json new file mode 100644 index 00000000000..8d0d87870d0 --- /dev/null +++ b/src/Locale/ta/Resource.json @@ -0,0 +1,12 @@ +{ + "create_resource_request": "роЖродро╛ро░ роХрпЛро░ро┐роХрпНроХрпИропрпИ роЙро░рпБро╡ро╛роХрпНроХро╡рпБроорпН", + "contact_person": "ро╡роЪродро┐ роЙро│рпНро│ родрпКроЯро░рпНрокрпБ роирокро░ро┐ройрпН рокрпЖропро░рпН", + "approving_facility": "роЕроЩрпНроХрпАроХро░ро┐роХрпНроХрпБроорпН ро╡роЪродро┐ропро┐ройрпН рокрпЖропро░рпН", + "contact_phone": "родрпКроЯро░рпНрокрпБ роирокро░рпН роОрогрпН", + "request_title": "родро▓рпИрокрпНрокрпБ роХрпЛро░ро┐роХрпНроХрпИ", + "request_title_placeholder": "роЙроЩрпНроХро│рпН родро▓рпИрокрпНрокрпИ роЗроЩрпНроХрпЗ родроЯрпНроЯроЪрпНроЪрпБ роЪрпЖропрпНропро╡рпБроорпН", + "required_quantity": "родрпЗро╡рпИропро╛рой роЕро│ро╡рпБ", + "request_description": "роХрпЛро░ро┐роХрпНроХрпИропро┐ройрпН ро╡ро┐ро│роХрпНроХроорпН", + "request_description_placeholder": "роЙроЩрпНроХро│рпН ро╡ро┐ро│роХрпНроХродрпНродрпИ роЗроЩрпНроХрпЗ родроЯрпНроЯроЪрпНроЪрпБ роЪрпЖропрпНропро╡рпБроорпН", + "search_resource": "родрпЗроЯро▓рпН роЖродро╛ро░роорпН" +} diff --git a/src/Locale/ta/Shifting.json b/src/Locale/ta/Shifting.json new file mode 100644 index 00000000000..ef4667d68d3 --- /dev/null +++ b/src/Locale/ta/Shifting.json @@ -0,0 +1,90 @@ +{ + "emergency": "роЕро╡роЪро░роиро┐ро▓рпИ", + "up_shift": "роЕрокрпН ро╖ро┐рокрпНроЯрпН", + "antenatal": "роорпБро▒рпНрокро┐ро▒ро╡ро┐", + "phone_no": "родрпКро▓рпИрокрпЗроЪро┐ роОрогрпН.", + "patient_name": "роирпЛропро╛ро│ро┐ рокрпЖропро░рпН", + "disease_status": "роирпЛропрпН роиро┐ро▓рпИ", + "breathlessness_level": "роорпВроЪрпНроЪрпБродрпНродро┐рогро▒ро▓рпН роиро┐ро▓рпИ", + "assigned_facility": "ро╡роЪродро┐ роТродрпБроХрпНроХрокрпНрокроЯрпНроЯрпБро│рпНро│родрпБ", + "origin_facility": "родро▒рпНрокрпЛродрпИроп ро╡роЪродро┐", + "shifting_approval_facility": "роТрокрпНрокрпБродро▓рпН ро╡роЪродро┐ропрпИ рооро╛ро▒рпНро▒рпБродро▓рпН", + "shifting": "рооро╛ро▒рпБродро▓рпН", + "search_patient": "роирпЛропро╛ро│ро┐ропрпИродрпН родрпЗроЯрпБроЩрпНроХро│рпН", + "list_view": "рокроЯрпНроЯро┐ропро▓рпН роХро╛роЯрпНроЪро┐", + "comment_min_length": "роХро░рпБродрпНродрпБ роХрпБро▒рпИроирпНродродрпБ 1 роОро┤рпБродрпНродрпИропро╛ро╡родрпБ роХрпКрогрпНроЯро┐ро░рпБроХрпНроХ ро╡рпЗрогрпНроЯрпБроорпН", + "comment_added_successfully": "роХро░рпБродрпНродрпБ ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ роЪрпЗро░рпНроХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "post_your_comment": "роЙроЩрпНроХро│рпН роХро░рпБродрпНродрпИ рокродро┐ро╡ро┐роЯро╡рпБроорпН", + "shifting_approving_facility": "роЕроЩрпНроХрпАроХро░ро┐роХрпНроХрпБроорпН ро╡роЪродро┐ропрпИ рооро╛ро▒рпНро▒рпБроХро┐ро▒родрпБ", + "is_emergency_case": "роЕро╡роЪро░ ро╡ро┤роХрпНроХрпБ", + "is_upshift_case": "роЕрокрпНро╖ро┐роГрокрпНроЯрпН роХрпЗро╕рпН", + "is_antenatal": "рокро┐ро▒рокрпНрокрпБроХрпНроХрпБ роорпБроирпНродрпИропродрпБ", + "patient_phone_number": "роирпЛропро╛ро│ро┐ропро┐ройрпН родрпКро▓рпИрокрпЗроЪро┐ роОрогрпН", + "created_date": "роЙро░рпБро╡ро╛роХрпНроХрокрпНрокроЯрпНроЯ родрпЗродро┐", + "modified_date": "рооро╛ро▒рпНро▒ро┐ропроорпИроХрпНроХрокрпНрокроЯрпНроЯ родрпЗродро┐", + "no_patients_to_show": "роХро╛роЯрпНроЯ роирпЛропро╛ро│ро┐роХро│рпН роЗро▓рпНро▓рпИ.", + "shifting_status": "роиро┐ро▓рпИ рооро╛ро▒рпБроХро┐ро▒родрпБ", + "transfer_to_receiving_facility": "рокрпЖро▒рпБроорпН ро╡роЪродро┐роХрпНроХрпБ роЗроЯрооро╛ро▒рпНро▒роорпН", + "confirm_transfer_complete": "рокро░ро┐рооро╛ро▒рпНро▒роорпН роорпБроЯро┐роирпНродродрпБ роОройрпНрокродрпИ роЙро▒рпБродро┐рокрпНрокроЯрпБродрпНродро╡рпБроорпН!", + "mark_transfer_complete_confirmation": "роЗроирпНродрокрпН рокро░ро┐рооро╛ро▒рпНро▒роорпН роорпБроЯро┐роирпНродродро╛роХ роиро┐роЪрпНроЪропрооро╛роХроХрпН роХрпБро▒ро┐роХрпНроХ ро╡ро┐ро░рпБроорпНрокрпБроХро┐ро▒рпАро░рпНроХро│ро╛? роЗроирпНрод роирпЛропро╛ро│ро┐ропрпИ роЖро░ро┐роЬро┐ройрпН ро╡роЪродро┐ роЗройро┐ роЕрогрпБроХро╛родрпБ", + "board_view": "рокро▓роХрпИ роХро╛роЯрпНроЪро┐", + "shifting_deleted": "ро╖ро┐роГрокрпНроЯро┐роЩрпН рокродро┐ро╡рпБ ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ роирпАроХрпНроХрокрпНрокроЯрпНроЯродрпБ.", + "details_of_shifting_approving_facility": "роТрокрпНрокрпБродро▓рпН ро╡роЪродро┐ропрпИ рооро╛ро▒рпНро▒рпБро╡родро▒рпНроХро╛рой ро╡ро┐ро╡ро░роЩрпНроХро│рпН", + "details_of_assigned_facility": "роТродрпБроХрпНроХрокрпНрокроЯрпНроЯ ро╡роЪродро┐ропро┐ройрпН ро╡ро┐ро╡ро░роЩрпНроХро│рпН", + "details_of_origin_facility": "роорпВро▓ ро╡роЪродро┐ропро┐ройрпН ро╡ро┐ро╡ро░роЩрпНроХро│рпН", + "details_of_patient": "роирпЛропро╛ро│ро┐ропро┐ройрпН ро╡ро┐ро╡ро░роЩрпНроХро│рпН", + "record_delete_confirm": "роЗроирпНродрокрпН рокродро┐ро╡рпИ роиро┐роЪрпНроЪропрооро╛роХ роирпАроХрпНроХ ро╡ро┐ро░рпБроорпНрокрпБроХро┐ро▒рпАро░рпНроХро│ро╛?", + "phone_number_at_current_facility": "родро▒рпНрокрпЛродрпИроп ро╡роЪродро┐ропро┐ро▓рпН роЙро│рпНро│ родрпКроЯро░рпНрокрпБ роирокро░ро┐ройрпН родрпКро▓рпИрокрпЗроЪро┐ роОрогрпН", + "authorize_shift_delete": "ро╖ро┐рокрпНроЯрпН роирпАроХрпНроХродрпНродрпИ роЕроЩрпНроХрпАроХро░ро┐роХрпНроХро╡рпБроорпН", + "delete_record": "рокродро┐ро╡рпИ роирпАроХрпНроХрпБ", + "severity_of_breathlessness": "роорпВроЪрпНроЪрпБродрпН родро┐рогро▒ро▓ро┐ройрпН родрпАро╡ро┐ро░роорпН", + "facility_preference": "ро╡роЪродро┐ ро╡ро┐ро░рпБрокрпНрокроорпН", + "vehicle_preference": "ро╡ро╛роХрой ро╡ро┐ро░рпБрокрпНрокроорпН", + "is_up_shift": "рооро╛ро▒ро┐ро╡ро┐роЯрпНроЯродрпБ", + "patient_category": "роирпЛропро╛ро│ро┐ ро╡роХрпИ", + "ambulance_driver_name": "роЖроорпНрокрпБро▓ройрпНро╕рпН роУроЯрпНроЯрпБроиро░ро┐ройрпН рокрпЖропро░рпН", + "ambulance_phone_number": "роЖроорпНрокрпБро▓ройрпНро╕ро┐ройрпН родрпКро▓рпИрокрпЗроЪро┐ роОрогрпН", + "ambulance_number": "роЖроорпНрокрпБро▓ройрпНро╕рпН роОрогрпН", + "is_emergency": "роЕро╡роЪро░роиро┐ро▓рпИ", + "contact_person_at_the_facility": "родро▒рпНрокрпЛродрпИроп ро╡роЪродро┐ропро┐ро▓рпН роЙро│рпНро│ роирокро░рпИродрпН родрпКроЯро░рпНрокрпБ роХрпКро│рпНро│ро╡рпБроорпН", + "update_status_details": "роиро┐ро▓рпИ/ро╡ро┐ро╡ро░роЩрпНроХро│рпИрокрпН рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "shifting_details": "ро╡ро┐ро╡ро░роЩрпНроХро│рпИ рооро╛ро▒рпНро▒рпБроХро┐ро▒родрпБ", + "auto_generated_for_care": "рокро░ро╛рооро░ро┐рокрпНрокрпБроХрпНроХро╛роХ родро╛ройро╛роХ роЙро░рпБро╡ро╛роХрпНроХрокрпНрокроЯрпНроЯрпБро│рпНро│родрпБ", + "approved_by_district_covid_control_room": "рооро╛ро╡роЯрпНроЯ роХрпЛро╡ро┐роЯрпН роХроЯрпНроЯрпБрокрпНрокро╛роЯрпНроЯрпБ роЕро▒рпИропро╛ро▓рпН роЕроЩрпНроХрпАроХро░ро┐роХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "treatment_summary": "роЪро┐роХро┐роЪрпНроЪрпИ роЪрпБро░рпБроХрпНроХроорпН", + "reason_for_referral": "рокро░ро┐роирпНродрпБро░рпИроХрпНроХро╛рой роХро╛ро░рогроорпН", + "referred_to": "роХрпБро▒ро┐рокрпНрокро┐роЯрокрпНрокроЯрпБроХро┐ро▒родрпБ", + "covid_19_cat_gov": "роЕро░роЪро╛роЩрпНроХродрпНродро┐ройрпНрокроЯро┐ роХрпЛро╡ро┐роЯрпН_19 рооро░рпБродрпНродрпБро╡ ро╡роХрпИ. роХрпЗро░ро│ро╛ ро╡ро┤ро┐роХро╛роЯрпНроЯрпБродро▓рпН (A/B/C)", + "district_program_management_supporting_unit": "рооро╛ро╡роЯрпНроЯ родро┐роЯрпНроЯ роорпЗро▓ро╛рогрпНроорпИ родрпБрогрпИ роЕро▓роХрпБ", + "name_of_hospital": "рооро░рпБродрпНродрпБро╡рооройрпИропро┐ройрпН рокрпЖропро░рпН", + "passport_number": "рокро╛ро╕рпНрокрпЛро░рпНроЯрпН роОрогрпН", + "test_type": "роЪрпЛродройрпИ ро╡роХрпИ", + "medical_worker": "рооро░рпБродрпНродрпБро╡ рокрогро┐ропро╛ро│ро░рпН", + "error_deleting_shifting": "рокродро┐ро╡рпИ рооро╛ро▒рпНро▒рпБро╡родро┐ро▓рпН рокро┐ро┤рпИ", + "type_any_extra_comments_here": "роХрпВроЯрпБродро▓рпН роХро░рпБродрпНродрпБроХро│рпИ роЗроЩрпНроХрпЗ родроЯрпНроЯроЪрпНроЪрпБ роЪрпЖропрпНропро╡рпБроорпН", + "type_your_reason_here": "роЙроЩрпНроХро│рпН роХро╛ро░рогродрпНродрпИ роЗроЩрпНроХрпЗ родроЯрпНроЯроЪрпНроЪрпБ роЪрпЖропрпНропро╡рпБроорпН", + "reason_for_shift": "рооро╛ро▒рпНро▒родрпНродро┐ро▒рпНроХро╛рой роХро╛ро░рогроорпН", + "preferred_facility_type": "ро╡ро┐ро░рпБрокрпНрокрооро╛рой ро╡роЪродро┐ ро╡роХрпИ", + "preferred_vehicle": "ро╡ро┐ро░рпБрокрпНрокрооро╛рой ро╡ро╛роХройроорпН", + "is_it_upshift": "роЕродрпБ роЙропро░рпНро╡ро╛ройродро╛", + "is_this_an_upshift": "роЗродрпБ роТро░рпБ роЙропро░рпНро╡рпБродро╛ройро╛?", + "is_this_an_emergency": "роЗродрпБ роЕро╡роЪро░роиро┐ро▓рпИропро╛?", + "what_facility_assign_the_patient_to": "роирпЛропро╛ро│ро┐ропрпИ роОроирпНрод ро╡роЪродро┐роХрпНроХрпБ роТродрпБроХрпНроХ ро╡ро┐ро░рпБроорпНрокрпБроХро┐ро▒рпАро░рпНроХро│рпН", + "name_of_shifting_approving_facility": "ро╖ро┐роГрокрпНроЯро┐роЩрпН роЕроЩрпНроХрпАроХро░ро┐роХрпНроХрпБроорпН ро╡роЪродро┐ропро┐ройрпН рокрпЖропро░рпН", + "update_shift_request": "ро╖ро┐рокрпНроЯрпН роХрпЛро░ро┐роХрпНроХрпИропрпИрокрпН рокрпБродрпБрокрпНрокро┐роХрпНроХро╡рпБроорпН", + "shift_request_updated_successfully": "ро╖ро┐рокрпНроЯрпН роХрпЛро░ро┐роХрпНроХрпИ ро╡рпЖро▒рпНро▒ро┐роХро░рооро╛роХ рокрпБродрпБрокрпНрокро┐роХрпНроХрокрпНрокроЯрпНроЯродрпБ", + "please_enter_a_reason_for_the_shift": "рооро╛ро▒рпНро▒родрпНродро┐ро▒рпНроХро╛рой роХро╛ро░рогродрпНродрпИ роЙро│рпНро│ро┐роЯро╡рпБроорпН.", + "please_select_preferred_vehicle_type": "ро╡ро┐ро░рпБрокрпНрокрооро╛рой ро╡ро╛роХрой ро╡роХрпИропрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "please_select_facility_type": "ро╡роЪродро┐ ро╡роХрпИропрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "please_select_breathlessness_level": "роорпВроЪрпНроЪрпБродрпН родро┐рогро▒ро▓рпН роиро┐ро▓рпИропрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "please_select_a_facility": "ро╡роЪродро┐ропрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "please_select_status": "родропро╡рпБроЪрпЖропрпНродрпБ роиро┐ро▓рпИропрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "please_select_patient_category": "роирпЛропро╛ро│ро┐ ро╡роХрпИропрпИродрпН родрпЗро░рпНроирпНродрпЖроЯрпБроХрпНроХро╡рпБроорпН", + "shifting_approving_facility_can_not_be_empty": "ро╖ро┐роГрокрпНроЯро┐роЩрпН роЕроЩрпНроХрпАроХро░ро┐роХрпНроХрпБроорпН ро╡роЪродро┐ роХро╛ро▓ро┐ропро╛роХ роЗро░рпБроХрпНроХ роорпБроЯро┐ропро╛родрпБ.", + "redirected_to_create_consultation": "роХрпБро▒ро┐рокрпНрокрпБ: роЖро▓рпЛроЪройрпИ рокроЯро┐ро╡родрпНродрпИ роЙро░рпБро╡ро╛роХрпНроХ роирпАроЩрпНроХро│рпН родро┐ро░рпБрокрпНрокро┐ ро╡ро┐роЯрокрпНрокроЯрпБро╡рпАро░рпНроХро│рпН. рокро░ро┐рооро╛ро▒рпНро▒ роЪрпЖропро▓рпНроорпБро▒рпИропрпИ роорпБроЯро┐роХрпНроХ рокроЯро┐ро╡родрпНродрпИ рокрпВро░рпНродрпНродро┐ роЪрпЖропрпНропро╡рпБроорпН", + "mark_this_transfer_as_complete_question": "роЗроирпНродрокрпН рокро░ро┐рооро╛ро▒рпНро▒роорпН роорпБроЯро┐роирпНродродро╛роХ роиро┐роЪрпНроЪропрооро╛роХроХрпН роХрпБро▒ро┐роХрпНроХ ро╡ро┐ро░рпБроорпНрокрпБроХро┐ро▒рпАро░рпНроХро│ро╛? роЗроирпНрод роирпЛропро╛ро│ро┐ропрпИ роЖро░ро┐роЬро┐ройрпН ро╡роЪродро┐ роЗройро┐ роЕрогрпБроХро╛родрпБ", + "transfer_in_progress": "роЗроЯрооро╛ро▒рпНро▒роорпН роироЯрпИрокрпЖро▒рпБроХро┐ро▒родрпБ", + "patient_state": "роирпЛропро╛ро│ро┐ роиро┐ро▓рпИ", + "yet_to_be_decided": "роЗройрпНройрпБроорпН роорпБроЯро┐ро╡рпБ роЪрпЖропрпНропрокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ", + "awaiting_destination_approval": "роЗро▓роХрпНроХрпБ роЕройрпБроородро┐роХрпНроХро╛роХ роХро╛родрпНродро┐ро░рпБроХрпНроХро┐ро▒родрпБ" +} diff --git a/src/Locale/ta/SortOptions.json b/src/Locale/ta/SortOptions.json new file mode 100644 index 00000000000..a2f85b6df49 --- /dev/null +++ b/src/Locale/ta/SortOptions.json @@ -0,0 +1,18 @@ +{ + "-created_date": "рокрпБродро┐родро╛роХ роЙро░рпБро╡ро╛роХрпНроХрокрпНрокроЯрпНроЯ родрпЗродро┐ роорпБродро▓ро┐ро▓рпН", + "created_date": "рокро┤рпИроп роЙро░рпБро╡ро╛роХрпНроХрокрпНрокроЯрпНроЯ родрпЗродро┐ роорпБродро▓ро┐ро▓рпН", + "-category_severity": "роЕродро┐роХ родрпАро╡ро┐ро░родрпНродройрпНроорпИ рокро┐ро░ро┐ро╡рпБ роорпБродро▓ро┐ро▓рпН", + "category_severity": "роХрпБро▒рпИроирпНрод родрпАро╡ро┐ро░родрпНродройрпНроорпИ ро╡роХрпИ роорпБродро▓ро┐ро▓рпН", + "-modified_date": "роорпБродро▓ро┐ро▓рпН рокрпБродрпБрокрпНрокро┐роХрпНроХрокрпНрокроЯрпНроЯ родрпЗродро┐", + "modified_date": "рокро┤рпИроп рокрпБродрпБрокрпНрокро┐роХрпНроХрокрпНрокроЯрпНроЯ родрпЗродро┐ роорпБродро▓ро┐ро▓рпН", + "facility__name,last_consultation__current_bed__bed__name": "рокроЯрпБроХрпНроХрпИ роОрогрпН 1-N", + "facility__name,-last_consultation__current_bed__bed__name": "рокроЯрпБроХрпНроХрпИ роОрогрпН. N-1", + "-review_time": "роЪроорпАрокродрпНродро┐роп роородро┐рокрпНрокро╛ропрпНро╡рпБ родрпЗродро┐ роорпБродро▓ро┐ро▓рпН", + "review_time": "рокро┤рпИроп роородро┐рокрпНрокро╛ропрпНро╡рпБ родрпЗродро┐ роорпБродро▓ро┐ро▓рпН", + "taken_at": "роорпБродро▓ро┐ро▓рпН роОроЯрпБроХрпНроХрокрпНрокроЯрпНроЯ рокро┤рпИроп родрпЗродро┐", + "-taken_at": "роЪроорпАрокродрпНродро┐ро▓рпН роОроЯрпБроХрпНроХрокрпНрокроЯрпНроЯ родрпЗродро┐ роорпБродро▓ро┐ро▓рпН", + "name": "роирпЛропро╛ро│ро┐ропро┐ройрпН рокрпЖропро░рпН AZ", + "-name": "роирпЛропро╛ро│ро┐ропро┐ройрпН рокрпЖропро░рпН ZA", + "bed__name": "рокроЯрпБроХрпНроХрпИ роОрогрпН 1-N", + "-bed__name": "рокроЯрпБроХрпНроХрпИ роОрогрпН. N-1" +} diff --git a/src/Locale/ta/Users.json b/src/Locale/ta/Users.json new file mode 100644 index 00000000000..1c81af5c9fd --- /dev/null +++ b/src/Locale/ta/Users.json @@ -0,0 +1,16 @@ +{ + "user_management": "рокропройро░рпН роорпЗро▓ро╛рогрпНроорпИ", + "facilities": "ро╡роЪродро┐роХро│рпН", + "add_new_user": "рокрпБродро┐роп рокропройро░рпИроЪрпН роЪрпЗро░рпНроХрпНроХро╡рпБроорпН", + "no_users_found": "рокропройро░рпНроХро│рпН роЗро▓рпНро▓рпИ", + "home_facility": "ро╡рпАроЯрпНроЯрпБ ро╡роЪродро┐", + "no_home_facility": "ро╡рпАроЯрпНроЯрпБ ро╡роЪродро┐ роТродрпБроХрпНроХрокрпНрокроЯро╡ро┐ро▓рпНро▓рпИ", + "clear_home_facility": "родрпЖро│ро┐ро╡ро╛рой ро╡рпАроЯрпНроЯрпБ ро╡роЪродро┐", + "linked_facilities": "роЗрогрпИроХрпНроХрокрпНрокроЯрпНроЯ ро╡роЪродро┐роХро│рпН", + "no_linked_facilities": "роЗрогрпИроХрпНроХрокрпНрокроЯрпНроЯ ро╡роЪродро┐роХро│рпН роЗро▓рпНро▓рпИ", + "average_weekly_working_hours": "роЪро░ро╛роЪро░ро┐ ро╡ро╛ро░ро╛роирпНродро┐ро░ ро╡рпЗро▓рпИ роирпЗро░роорпН", + "set_average_weekly_working_hours_for": "роЪро░ро╛роЪро░ро┐ ро╡ро╛ро░ро╛роирпНродро┐ро░ ро╡рпЗро▓рпИ роирпЗро░родрпНродрпИ роЕроорпИроХрпНроХро╡рпБроорпН", + "search_by_username": "рокропройро░рпНрокрпЖропро░рпН роорпВро▓роорпН родрпЗроЯро╡рпБроорпН", + "last_online": "роХроЯрпИроЪро┐ропро╛роХ роЖройрпНро▓рпИройрпН", + "total_users": "роорпКродрпНрод рокропройро░рпНроХро│рпН" +} From 82a6700708b2b8a5c14412f49bffceabc261c5eb Mon Sep 17 00:00:00 2001 From: Khavin Shankar Date: Tue, 17 Sep 2024 07:24:59 +0530 Subject: [PATCH 09/22] Frontend Adjustments for ABDM Plug Conversion (#7817) --- cypress/e2e/users_spec/user_manage.cy.ts | 2 -- cypress/e2e/users_spec/user_profile.cy.ts | 2 -- src/Components/ABDM/ABHAProfileModal.tsx | 4 +-- src/Components/ABDM/FetchRecordsModal.tsx | 20 +++++++------- src/Components/ABDM/LinkABHANumberModal.tsx | 2 +- src/Components/ABDM/LinkCareContextModal.tsx | 26 +++++++------------ src/Components/ABDM/models.ts | 3 ++- src/Components/ABDM/types/abha.ts | 4 +++ .../Facility/ConsultationDetails/index.tsx | 19 +++++++++++++- .../Facility/Consultations/LiveFeed.tsx | 1 - .../Consultations/NeurologicalTables.tsx | 1 - .../Facility/Consultations/VentilatorPlot.tsx | 4 --- src/Components/Facility/FacilityCreate.tsx | 1 - src/Components/Facility/FacilityHome.tsx | 3 --- .../InvestigationSuggestions.tsx | 7 ----- .../Facility/Investigations/Reports/index.tsx | 2 -- src/Components/HCX/CreateClaimCard.tsx | 2 -- src/Components/Patient/PatientInfoCard.tsx | 10 ++++--- src/Components/Patient/PatientRegister.tsx | 12 +++++++-- src/Components/Patient/models.tsx | 23 ---------------- src/Redux/api.tsx | 7 +++++ 21 files changed, 68 insertions(+), 87 deletions(-) diff --git a/cypress/e2e/users_spec/user_manage.cy.ts b/cypress/e2e/users_spec/user_manage.cy.ts index 9c339f4b8e3..c2116954354 100644 --- a/cypress/e2e/users_spec/user_manage.cy.ts +++ b/cypress/e2e/users_spec/user_manage.cy.ts @@ -26,9 +26,7 @@ describe("Manage User", () => { beforeEach(() => { cy.restoreLocalStorage(); - console.log(localStorage); cy.clearLocalStorage(/filters--.+/); - console.log(localStorage); cy.awaitUrl("/users"); }); diff --git a/cypress/e2e/users_spec/user_profile.cy.ts b/cypress/e2e/users_spec/user_profile.cy.ts index 2672cccad7e..40880d95edb 100644 --- a/cypress/e2e/users_spec/user_profile.cy.ts +++ b/cypress/e2e/users_spec/user_profile.cy.ts @@ -25,9 +25,7 @@ describe("Manage User Profile", () => { beforeEach(() => { cy.restoreLocalStorage(); - console.log(localStorage); cy.clearLocalStorage(/filters--.+/); - console.log(localStorage); cy.awaitUrl("/user/profile"); }); diff --git a/src/Components/ABDM/ABHAProfileModal.tsx b/src/Components/ABDM/ABHAProfileModal.tsx index 4853626f1ef..99b888cc1ef 100644 --- a/src/Components/ABDM/ABHAProfileModal.tsx +++ b/src/Components/ABDM/ABHAProfileModal.tsx @@ -1,6 +1,5 @@ import * as Notify from "../../Utils/Notifications"; -import { AbhaObject } from "../Patient/models"; import CareIcon from "../../CAREUI/icons/CareIcon"; import DialogModal from "../Common/Dialog"; import QRCode from "qrcode.react"; @@ -8,10 +7,11 @@ import { formatDateTime } from "../../Utils/utils"; import { useRef } from "react"; import request from "../../Utils/request/request"; import routes from "../../Redux/api"; +import { AbhaNumberModel } from "./types/abha"; interface IProps { patientId?: string; - abha?: AbhaObject; + abha?: AbhaNumberModel; show: boolean; onClose: () => void; } diff --git a/src/Components/ABDM/FetchRecordsModal.tsx b/src/Components/ABDM/FetchRecordsModal.tsx index b457ccc453a..cc7c72474d1 100644 --- a/src/Components/ABDM/FetchRecordsModal.tsx +++ b/src/Components/ABDM/FetchRecordsModal.tsx @@ -2,7 +2,6 @@ import * as Notification from "../../Utils/Notifications.js"; import ButtonV2 from "../Common/components/ButtonV2"; import DialogModal from "../Common/Dialog"; -import { PatientModel } from "../Patient/models"; import TextFormField from "../Form/FormFields/TextFormField"; import { useState } from "react"; import { @@ -20,6 +19,7 @@ import { useMessageListener } from "../../Common/hooks/useMessageListener.js"; import CircularProgress from "../Common/components/CircularProgress.js"; import CareIcon from "../../CAREUI/icons/CareIcon.js"; import { classNames } from "../../Utils/utils.js"; +import { AbhaNumberModel } from "./types/abha.js"; import { ConsentHIType, ConsentPurpose } from "./types/consent.js"; import useNotificationSubscriptionState from "../../Common/hooks/useNotificationSubscriptionState.js"; @@ -27,12 +27,12 @@ const getDate = (value: any) => value && dayjs(value).isValid() && dayjs(value).toDate(); interface IProps { - patient: PatientModel; + abha?: AbhaNumberModel; show: boolean; onClose: () => void; } -export default function FetchRecordsModal({ patient, show, onClose }: IProps) { +export default function FetchRecordsModal({ abha, show, onClose }: IProps) { const [idVerificationStatus, setIdVerificationStatus] = useState< "pending" | "in-progress" | "verified" | "failed" >("pending"); @@ -53,9 +53,7 @@ export default function FetchRecordsModal({ patient, show, onClose }: IProps) { useMessageListener((data) => { if (data.type === "MESSAGE" && data.from === "patients/on_find") { - if ( - data.message?.patient?.id === patient?.abha_number_object?.health_id - ) { + if (data.message?.patient?.id === abha?.health_id) { setIdVerificationStatus("verified"); setErrors({ ...errors, @@ -85,7 +83,7 @@ export default function FetchRecordsModal({ patient, show, onClose }: IProps) {
null} disabled label="Patient Identifier" @@ -98,7 +96,7 @@ export default function FetchRecordsModal({ patient, show, onClose }: IProps) { onClick={async () => { const { res } = await request(routes.abha.findPatient, { body: { - id: patient?.abha_number_object?.health_id, + id: abha?.health_id, }, reattempts: 0, }); @@ -214,7 +212,7 @@ export default function FetchRecordsModal({ patient, show, onClose }: IProps) { setIsMakingConsentRequest(true); const { res } = await request(routes.abha.createConsent, { body: { - patient_abha: patient?.abha_number_object?.health_id as string, + patient_abha: abha?.health_id as string, hi_types: hiTypes, purpose, from_time: fromDate, @@ -229,8 +227,8 @@ export default function FetchRecordsModal({ patient, show, onClose }: IProps) { }); navigate( - `/facility/${patient.facility}/abdm` ?? - `/facility/${patient.facility}/patient/${patient.id}/consultation/${patient.last_consultation?.id}/abdm`, + `/facility/${abha?.patient_object?.facility}/abdm` ?? + `/facility/${abha?.patient_object?.facility}/patient/${abha?.patient_object?.id}/consultation/${abha?.patient_object?.last_consultation?.id}/abdm`, ); } else { Notification.Error({ diff --git a/src/Components/ABDM/LinkABHANumberModal.tsx b/src/Components/ABDM/LinkABHANumberModal.tsx index ea996ddd1da..8d6365387cd 100644 --- a/src/Components/ABDM/LinkABHANumberModal.tsx +++ b/src/Components/ABDM/LinkABHANumberModal.tsx @@ -202,7 +202,7 @@ const ScanABHAQRSection = ({ dob: abha?.dob.replace(/\//g, "-"), address: abha?.address, "dist name": abha?.["dist name"] ?? abha?.district_name, - "state name": abha?.["state name"], + "state name": abha?.["state name"] ?? abha?.state_name, }, }); diff --git a/src/Components/ABDM/LinkCareContextModal.tsx b/src/Components/ABDM/LinkCareContextModal.tsx index b22189c9f2f..9ec9885bbca 100644 --- a/src/Components/ABDM/LinkCareContextModal.tsx +++ b/src/Components/ABDM/LinkCareContextModal.tsx @@ -3,22 +3,22 @@ import * as Notification from "../../Utils/Notifications.js"; import ButtonV2 from "../Common/components/ButtonV2"; import DateFormField from "../Form/FormFields/DateFormField"; import DialogModal from "../Common/Dialog"; -import { PatientModel } from "../Patient/models"; import TextFormField from "../Form/FormFields/TextFormField"; import { useState } from "react"; import routes from "../../Redux/api.js"; import request from "../../Utils/request/request.js"; +import { AbhaNumberModel } from "./types/abha.js"; interface IProps { consultationId: string; - patient: PatientModel; + abha?: AbhaNumberModel; show: boolean; onClose: () => void; } const LinkCareContextModal = ({ consultationId, - patient, + abha, show, onClose, }: IProps) => { @@ -33,7 +33,7 @@ const LinkCareContextModal = ({ >
null} disabled label="Name" @@ -41,7 +41,7 @@ const LinkCareContextModal = ({ error="" /> null} disabled label="Gender" @@ -52,11 +52,7 @@ const LinkCareContextModal = ({ null} disabled required @@ -84,9 +80,9 @@ const LinkCareContextModal = ({ const { res } = await request(routes.abha.linkCareContext, { body: { consultation: consultationId, - name: patient?.abha_number_object?.name, - gender: patient?.abha_number_object?.gender, - dob: patient?.abha_number_object?.date_of_birth, + name: abha?.name, + gender: abha?.gender, + dob: abha?.date_of_birth, }, reattempts: 0, }); @@ -94,10 +90,6 @@ const LinkCareContextModal = ({ Notification.Success({ msg: "Care Context sucessfully linked!", }); - } else { - Notification.Error({ - msg: "Error in linking Care Context!", - }); } setIsLinkingCareContext(false); onClose(); diff --git a/src/Components/ABDM/models.ts b/src/Components/ABDM/models.ts index 9dc362f5cac..899ec948777 100644 --- a/src/Components/ABDM/models.ts +++ b/src/Components/ABDM/models.ts @@ -124,6 +124,7 @@ export interface ABHAQRContent { address: string; distlgd: string; district_name?: string; + state_name?: string; dob: string; gender: "M" | "F" | "O"; hid?: string; @@ -132,6 +133,6 @@ export interface ABHAQRContent { hidn: string; mobile: string; name: string; - "state name": string; + "state name"?: string; statelgd: string; } diff --git a/src/Components/ABDM/types/abha.ts b/src/Components/ABDM/types/abha.ts index d45986e8f8f..fd03b30cdc4 100644 --- a/src/Components/ABDM/types/abha.ts +++ b/src/Components/ABDM/types/abha.ts @@ -1,3 +1,5 @@ +import { PatientModel } from "../../Patient/models"; + export type AbhaNumberModel = { id: number; external_id: string; @@ -18,4 +20,6 @@ export type AbhaNumberModel = { email: string | null; profile_photo: string | null; new: boolean; + patient: string | null; + patient_object: PatientModel | null; }; diff --git a/src/Components/Facility/ConsultationDetails/index.tsx b/src/Components/Facility/ConsultationDetails/index.tsx index adb18e804c9..f2c2644afda 100644 --- a/src/Components/Facility/ConsultationDetails/index.tsx +++ b/src/Components/Facility/ConsultationDetails/index.tsx @@ -39,6 +39,9 @@ import { AssetBedModel } from "../../Assets/AssetTypes"; import PatientInfoCard from "../../Patient/PatientInfoCard"; import RelativeDateUserMention from "../../Common/RelativeDateUserMention"; import DiagnosesListAccordion from "../../Diagnosis/DiagnosesListAccordion"; +import { AbhaNumberModel } from "../../ABDM/types/abha"; +import routes from "../../../Redux/api"; +import request from "../../../Utils/request/request"; import { CameraFeedPermittedUserTypes } from "../../../Utils/permissions"; import Error404 from "../../ErrorPages/404"; @@ -85,6 +88,7 @@ export const ConsultationDetails = (props: any) => { {} as ConsultationModel, ); const [patientData, setPatientData] = useState({}); + const [abhaNumberData, setAbhaNumberData] = useState(); const [activeShiftingData, setActiveShiftingData] = useState>([]); const [isCameraAttached, setIsCameraAttached] = useState(false); @@ -137,6 +141,8 @@ export const ConsultationDetails = (props: any) => { }) : false; setIsCameraAttached(isCameraAttachedRes); + + // Get patient data const id = res.data.patient; const patientRes = await dispatch(getPatient({ id })); if (patientRes?.data) { @@ -159,6 +165,16 @@ export const ConsultationDetails = (props: any) => { setPatientData(data); } + // Get abha number data + const { data: abhaNumberData } = await request( + routes.abha.getAbhaNumber, + { + pathParams: { abhaNumberId: id ?? "" }, + silent: true, + }, + ); + setAbhaNumberData(abhaNumberData); + // Get shifting data const shiftingRes = await dispatch( listShiftRequests({ patient: id }, "shift-list-call"), @@ -290,6 +306,7 @@ export const ConsultationDetails = (props: any) => {
{ return null; // Hide feed tab } - if (p.text === "ABDM" && !patientData.abha_number) { + if (p.text === "ABDM" && !abhaNumberData?.abha_number) { return null; } diff --git a/src/Components/Facility/Consultations/LiveFeed.tsx b/src/Components/Facility/Consultations/LiveFeed.tsx index 55f22a5d3d9..e4f6a49bbfd 100644 --- a/src/Components/Facility/Consultations/LiveFeed.tsx +++ b/src/Components/Facility/Consultations/LiveFeed.tsx @@ -258,7 +258,6 @@ const LiveFeed = (props: any) => { updatePreset: (option) => { getCameraStatus({ onSuccess: async (data) => { - console.log({ currentPreset, data }); if (currentPreset?.asset_object?.id && data?.position) { setLoading(option.loadingLabel); console.log("Updating Preset"); diff --git a/src/Components/Facility/Consultations/NeurologicalTables.tsx b/src/Components/Facility/Consultations/NeurologicalTables.tsx index c5c05f0dd17..5a1abe3e189 100644 --- a/src/Components/Facility/Consultations/NeurologicalTables.tsx +++ b/src/Components/Facility/Consultations/NeurologicalTables.tsx @@ -60,7 +60,6 @@ const DataTable = (props: any) => { const DataDescription = (props: any) => { const { title, data } = props; - console.log("Data Description", title, data); return (
diff --git a/src/Components/Facility/Consultations/VentilatorPlot.tsx b/src/Components/Facility/Consultations/VentilatorPlot.tsx index 5502c4c5bb2..aa07b639f88 100644 --- a/src/Components/Facility/Consultations/VentilatorPlot.tsx +++ b/src/Components/Facility/Consultations/VentilatorPlot.tsx @@ -92,10 +92,6 @@ export const VentilatorPlot = (props: any) => { }) .filter((p) => p.value !== null); - useEffect(() => { - console.log(bilateral); - }, [bilateral]); - return (
diff --git a/src/Components/Facility/FacilityCreate.tsx b/src/Components/Facility/FacilityCreate.tsx index a2ef08b7679..2f14bcc26bf 100644 --- a/src/Components/Facility/FacilityCreate.tsx +++ b/src/Components/Facility/FacilityCreate.tsx @@ -454,7 +454,6 @@ export const FacilityCreate = (props: FacilityProps) => { const handleSubmit = async (e: any) => { e.preventDefault(); const validated = validateForm(); - console.log(state.form); if (validated) { setIsLoading(true); const data: FacilityRequest = { diff --git a/src/Components/Facility/FacilityHome.tsx b/src/Components/Facility/FacilityHome.tsx index a0dcf06026f..f1322e4d20e 100644 --- a/src/Components/Facility/FacilityHome.tsx +++ b/src/Components/Facility/FacilityHome.tsx @@ -18,7 +18,6 @@ import RecordMeta from "../../CAREUI/display/RecordMeta"; import Table from "../Common/components/Table"; import { navigate } from "raviger"; -import { useMessageListener } from "../../Common/hooks/useMessageListener"; import { useTranslation } from "react-i18next"; import useAuthUser from "../../Common/hooks/useAuthUser.js"; import request from "../../Utils/request/request.js"; @@ -61,8 +60,6 @@ export const FacilityHome = ({ facilityId }: Props) => { const [coverImageEdited, setCoverImageEdited] = useState(false); const authUser = useAuthUser(); - useMessageListener((data) => console.log(data)); - const { data: facilityData, loading: isLoading, diff --git a/src/Components/Facility/Investigations/InvestigationSuggestions.tsx b/src/Components/Facility/Investigations/InvestigationSuggestions.tsx index 52416cc1e4a..4a5882678c4 100644 --- a/src/Components/Facility/Investigations/InvestigationSuggestions.tsx +++ b/src/Components/Facility/Investigations/InvestigationSuggestions.tsx @@ -29,8 +29,6 @@ export default function ViewInvestigationSuggestions(props: { return ; } - console.log("Investigations: ", investigations); - return (

{t("investigations_suggested")}

@@ -110,11 +108,6 @@ export default function ViewInvestigationSuggestions(props: { const investigationMissed = nextInvestigationTime && dayjs().isAfter(nextInvestigationTime); - console.log( - type, - nextFurthestInvestigation, - nextInvestigationTime, - ); return (
  • { selectedInvestigations, } = state as InitialState; - console.log("state", state); - const fetchInvestigationsData = useCallback( async ( onSuccess: ( diff --git a/src/Components/HCX/CreateClaimCard.tsx b/src/Components/HCX/CreateClaimCard.tsx index 2ce866d261d..46a02cf7f86 100644 --- a/src/Components/HCX/CreateClaimCard.tsx +++ b/src/Components/HCX/CreateClaimCard.tsx @@ -37,8 +37,6 @@ export default function CreateClaimCard({ const [createdClaim, setCreatedClaim] = useState(); const [use_, setUse_] = useState(use); - console.log(items); - useEffect(() => { async function autoFill() { const latestApprovedPreAuthsRes = await dispatch( diff --git a/src/Components/Patient/PatientInfoCard.tsx b/src/Components/Patient/PatientInfoCard.tsx index f301db6333e..300c2190a60 100644 --- a/src/Components/Patient/PatientInfoCard.tsx +++ b/src/Components/Patient/PatientInfoCard.tsx @@ -40,6 +40,7 @@ import DischargeModal from "../Facility/DischargeModal.js"; import { useTranslation } from "react-i18next"; import useQuery from "../../Utils/request/useQuery.js"; import FetchRecordsModal from "../ABDM/FetchRecordsModal.js"; +import { AbhaNumberModel } from "../ABDM/types/abha.js"; import { SkillModel } from "../Users/models.js"; import { AuthorizedForConsultationRelatedActions } from "../../CAREUI/misc/AuthorizedChild.js"; import careConfig from "@careConfig"; @@ -57,6 +58,7 @@ const formatSkills = (arr: SkillModel[]) => { export default function PatientInfoCard(props: { patient: PatientModel; consultation?: ConsultationModel; + abhaNumber?: AbhaNumberModel; fetchPatientData?: (state: { aborted: boolean }) => void; activeShiftingData: any; consultationId: string; @@ -734,7 +736,7 @@ export default function PatientInfoCard(props: {
    {careConfig.abdm.enabled && - (patient.abha_number ? ( + (props.abhaNumber ? ( <> {({ close }) => ( @@ -964,18 +966,18 @@ export default function PatientInfoCard(props: { /> setShowABHAProfile(false)} /> setShowLinkCareContext(false)} /> setShowFetchABDMRecords(false)} /> diff --git a/src/Components/Patient/PatientRegister.tsx b/src/Components/Patient/PatientRegister.tsx index c25a6365e70..708c2e1b072 100644 --- a/src/Components/Patient/PatientRegister.tsx +++ b/src/Components/Patient/PatientRegister.tsx @@ -371,6 +371,14 @@ export const PatientRegister = (props: PatientRegisterProps) => { const { res, data } = await request(routes.getPatient, { pathParams: { id: id ? id : 0 }, }); + const { data: abhaNumberData } = await request( + routes.abha.getAbhaNumber, + { + pathParams: { abhaNumberId: id ?? "" }, + silent: true, + }, + ); + if (!status.aborted) { if (res?.ok && data) { setPatientName(data.name || ""); @@ -382,8 +390,8 @@ export const PatientRegister = (props: PatientRegisterProps) => { age: data.year_of_birth ? new Date().getFullYear() - data.year_of_birth : "", - health_id_number: data.abha_number_object?.abha_number || "", - health_id: data.abha_number_object?.health_id || "", + health_id_number: abhaNumberData?.abha_number || "", + health_id: abhaNumberData?.health_id || "", nationality: data.nationality ? data.nationality : "India", gender: data.gender ? data.gender : undefined, state: data.state ? data.state : "", diff --git a/src/Components/Patient/models.tsx b/src/Components/Patient/models.tsx index 7676d294b4c..343c80a60bf 100644 --- a/src/Components/Patient/models.tsx +++ b/src/Components/Patient/models.tsx @@ -39,25 +39,6 @@ export interface AssignedToObjectModel { user_type: string; } -export interface AbhaObject { - id: number; - created_date: string; - modified_date: string; - abha_number: string; - email: string | null; - first_name: string; - date_of_birth: string; - gender: "M" | "F" | "O"; - address: string; - district: string; - state: string; - health_id: string | null; - name: string; - last_name: string; - middle_name: string; - profile_photo: string; -} - export interface PatientModel { id?: string; action?: number; @@ -141,10 +122,6 @@ export interface PatientModel { id: number; occupation: Occupation; }; - - // ABDM related - abha_number?: string; - abha_number_object?: AbhaObject; } export interface SampleTestModel { diff --git a/src/Redux/api.tsx b/src/Redux/api.tsx index e72f7766bbe..b7785d74b98 100644 --- a/src/Redux/api.tsx +++ b/src/Redux/api.tsx @@ -110,6 +110,7 @@ import { Investigation } from "../Components/Facility/Investigations/Reports/typ import { HCXPolicyModel } from "../Components/HCX/models"; import { IComment, IResource } from "../Components/Resource/models"; import { IShift } from "../Components/Shifting/models"; +import { AbhaNumberModel } from "../Components/ABDM/types/abha"; import { ScribeModel } from "../Components/Scribe/Scribe"; /** @@ -1342,6 +1343,12 @@ const routes = { }, abha: { + getAbhaNumber: { + path: "/api/v1/abdm/abha_numbers/{abhaNumberId}/", + method: "GET", + TRes: Type(), + }, + // ABDM HealthID endpoints generateAadhaarOtp: { path: "/api/v1/abdm/healthid/generate_aadhaar_otp/", From f0a16273468ebbf93332ea9fe4da07ec66fe63ca Mon Sep 17 00:00:00 2001 From: Khavin Shankar Date: Tue, 17 Sep 2024 10:14:17 +0530 Subject: [PATCH 10/22] fixed abha number linking issue (#8550) --- src/Components/Patient/PatientRegister.tsx | 19 +++++++++++++++++++ src/Locale/en/Facility.json | 4 +++- src/Redux/api.tsx | 7 +++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/Components/Patient/PatientRegister.tsx b/src/Components/Patient/PatientRegister.tsx index 708c2e1b072..ab20ff91e59 100644 --- a/src/Components/Patient/PatientRegister.tsx +++ b/src/Components/Patient/PatientRegister.tsx @@ -785,6 +785,25 @@ export const PatientRegister = (props: PatientRegisterProps) => { controllerRef: submitController, }); if (res?.ok && requestData) { + if (state.form.abha_number) { + const { res, data } = await request(routes.abha.linkPatient, { + body: { + patient: requestData.id, + abha_number: state.form.abha_number, + }, + }); + + if (res?.status === 200 && data) { + Notification.Success({ + msg: t("abha_number_linked_successfully"), + }); + } else { + Notification.Error({ + msg: t("failed_to_link_abha_number"), + }); + } + } + await Promise.all( insuranceDetails.map(async (obj) => { const policy = { diff --git a/src/Locale/en/Facility.json b/src/Locale/en/Facility.json index d19c889a98f..e061dee620e 100644 --- a/src/Locale/en/Facility.json +++ b/src/Locale/en/Facility.json @@ -115,5 +115,7 @@ "add_details_of_patient": "Add Details of Patient", "choose_location": "Choose Location", "live_monitoring": "Live Monitoring", - "open_live_monitoring": "Open Live Monitoring" + "open_live_monitoring": "Open Live Monitoring", + "abha_number_linked_successfully": "ABHA number linked successfully", + "failed_to_link_abha_number": "Failed to link ABHA number" } diff --git a/src/Redux/api.tsx b/src/Redux/api.tsx index b7785d74b98..228b24c7360 100644 --- a/src/Redux/api.tsx +++ b/src/Redux/api.tsx @@ -1400,6 +1400,13 @@ const routes = { TBody: Type(), }, + linkPatient: { + path: "/api/v1/abdm/healthid/link_patient/", + method: "POST", + TBody: Type<{ abha_number: string; patient: string }>(), + TRes: Type(), + }, + searchByHealthId: { path: "/api/v1/abdm/healthid/search_by_health_id/", method: "POST", From 5287f35ebb23e58f2de3afeb2498f7ae9478cd84 Mon Sep 17 00:00:00 2001 From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com> Date: Tue, 17 Sep 2024 07:53:12 +0300 Subject: [PATCH 11/22] change all cypress file to PascalCase (#8548) --- ...set_homepage.cy.ts => AssetHomepage.cy.ts} | 0 ...ts_creation.cy.ts => AssetsCreation.cy.ts} | 0 ...assets_manage.cy.ts => AssetsManage.cy.ts} | 0 ...et_password.cy.ts => ForgotPassword.cy.ts} | 0 ...cy.ts => ExternalResultsAdvanceFilters.ts} | 0 ...lt.cy.ts => ExternalResultsHomepage.cy.ts} | 4 +- ..._creation.cy.ts => FacilityCreation.cy.ts} | 0 ..._homepage.cy.ts => FacilityHomepage.cy.ts} | 0 ...nventory.cy.ts => FacilityInventory.cy.ts} | 0 ...locations.cy.ts => FacilityLocation.cy.ts} | 0 ...lity_manage.cy.ts => FacilityManage.cy.ts} | 2 +- ...y.ts => PatientConsultationCreation.cy.ts} | 0 ....ts => PatientConsultationDischarge.cy.ts} | 0 ..._fileupload.cy.ts => PatientFileUpload.ts} | 0 ...logupdate.cy.ts => PatientLogUpdate.cy.ts} | 0 ...tient_manage.cy.ts => PatientManage.cy.ts} | 0 ...iption.cy.ts => PatientPrescription.cy.ts} | 0 ...ration.cy.ts => PatientRegistration.cy.ts} | 0 ...er.cy.ts => ResourcesAdvanceFilters.cy.ts} | 0 ...esources.cy.ts => ResourcesHomepage.cy.ts} | 0 ...r.cy.ts => SampleTestAdvanceFilters.cy.ts} | 0 ...le_test.cy.ts => SampleTestHomepage.cy.ts} | 0 ...ter.cy.ts => ShiftingAdvanceFilters.cy.ts} | 0 ...{shifting.cy.ts => ShiftingHomepage.cy.ts} | 0 ...ser_creation.cy.ts => UsersCreation.cy.ts} | 0 ...ser_homepage.cy.ts => UsersHomepage.cy.ts} | 0 cypress/e2e/users_spec/UsersManage.cy.ts | 151 ++++++++++++++++++ cypress/e2e/users_spec/UsersProfile.cy.ts | 84 ++++++++++ cypress/fixtures/example.json | 5 - ...tsample.csv => external-result-sample.csv} | 0 ...overimage.jpg => facility-cover-image.jpg} | Bin .../{sampleAsset.xlsx => sample-asset.xlsx} | Bin cypress/pageobject/Asset/AssetCreation.ts | 2 +- .../pageobject/Patient/PatientFileupload.ts | 2 +- 34 files changed, 241 insertions(+), 9 deletions(-) rename cypress/e2e/assets_spec/{asset_homepage.cy.ts => AssetHomepage.cy.ts} (100%) rename cypress/e2e/assets_spec/{assets_creation.cy.ts => AssetsCreation.cy.ts} (100%) rename cypress/e2e/assets_spec/{assets_manage.cy.ts => AssetsManage.cy.ts} (100%) rename cypress/e2e/auth_spec/{forget_password.cy.ts => ForgotPassword.cy.ts} (100%) rename cypress/e2e/external_results_spec/{filter.cy.ts => ExternalResultsAdvanceFilters.ts} (100%) rename cypress/e2e/external_results_spec/{external_result.cy.ts => ExternalResultsHomepage.cy.ts} (95%) rename cypress/e2e/facility_spec/{facility_creation.cy.ts => FacilityCreation.cy.ts} (100%) rename cypress/e2e/facility_spec/{facility_homepage.cy.ts => FacilityHomepage.cy.ts} (100%) rename cypress/e2e/facility_spec/{inventory.cy.ts => FacilityInventory.cy.ts} (100%) rename cypress/e2e/facility_spec/{locations.cy.ts => FacilityLocation.cy.ts} (100%) rename cypress/e2e/facility_spec/{facility_manage.cy.ts => FacilityManage.cy.ts} (99%) rename cypress/e2e/patient_spec/{patient_consultation.cy.ts => PatientConsultationCreation.cy.ts} (100%) rename cypress/e2e/patient_spec/{patient_discharge.cy.ts => PatientConsultationDischarge.cy.ts} (100%) rename cypress/e2e/patient_spec/{patient_fileupload.cy.ts => PatientFileUpload.ts} (100%) rename cypress/e2e/patient_spec/{patient_logupdate.cy.ts => PatientLogUpdate.cy.ts} (100%) rename cypress/e2e/patient_spec/{patient_manage.cy.ts => PatientManage.cy.ts} (100%) rename cypress/e2e/patient_spec/{patient_prescription.cy.ts => PatientPrescription.cy.ts} (100%) rename cypress/e2e/patient_spec/{patient_registration.cy.ts => PatientRegistration.cy.ts} (100%) rename cypress/e2e/resource_spec/{filter.cy.ts => ResourcesAdvanceFilters.cy.ts} (100%) rename cypress/e2e/resource_spec/{resources.cy.ts => ResourcesHomepage.cy.ts} (100%) rename cypress/e2e/sample_test_spec/{filter.cy.ts => SampleTestAdvanceFilters.cy.ts} (100%) rename cypress/e2e/sample_test_spec/{sample_test.cy.ts => SampleTestHomepage.cy.ts} (100%) rename cypress/e2e/shifting_spec/{filter.cy.ts => ShiftingAdvanceFilters.cy.ts} (100%) rename cypress/e2e/shifting_spec/{shifting.cy.ts => ShiftingHomepage.cy.ts} (100%) rename cypress/e2e/users_spec/{user_creation.cy.ts => UsersCreation.cy.ts} (100%) rename cypress/e2e/users_spec/{user_homepage.cy.ts => UsersHomepage.cy.ts} (100%) create mode 100644 cypress/e2e/users_spec/UsersManage.cy.ts create mode 100644 cypress/e2e/users_spec/UsersProfile.cy.ts delete mode 100644 cypress/fixtures/example.json rename cypress/fixtures/{externalresultsample.csv => external-result-sample.csv} (100%) rename cypress/fixtures/{facilitycoverimage.jpg => facility-cover-image.jpg} (100%) rename cypress/fixtures/{sampleAsset.xlsx => sample-asset.xlsx} (100%) diff --git a/cypress/e2e/assets_spec/asset_homepage.cy.ts b/cypress/e2e/assets_spec/AssetHomepage.cy.ts similarity index 100% rename from cypress/e2e/assets_spec/asset_homepage.cy.ts rename to cypress/e2e/assets_spec/AssetHomepage.cy.ts diff --git a/cypress/e2e/assets_spec/assets_creation.cy.ts b/cypress/e2e/assets_spec/AssetsCreation.cy.ts similarity index 100% rename from cypress/e2e/assets_spec/assets_creation.cy.ts rename to cypress/e2e/assets_spec/AssetsCreation.cy.ts diff --git a/cypress/e2e/assets_spec/assets_manage.cy.ts b/cypress/e2e/assets_spec/AssetsManage.cy.ts similarity index 100% rename from cypress/e2e/assets_spec/assets_manage.cy.ts rename to cypress/e2e/assets_spec/AssetsManage.cy.ts diff --git a/cypress/e2e/auth_spec/forget_password.cy.ts b/cypress/e2e/auth_spec/ForgotPassword.cy.ts similarity index 100% rename from cypress/e2e/auth_spec/forget_password.cy.ts rename to cypress/e2e/auth_spec/ForgotPassword.cy.ts diff --git a/cypress/e2e/external_results_spec/filter.cy.ts b/cypress/e2e/external_results_spec/ExternalResultsAdvanceFilters.ts similarity index 100% rename from cypress/e2e/external_results_spec/filter.cy.ts rename to cypress/e2e/external_results_spec/ExternalResultsAdvanceFilters.ts diff --git a/cypress/e2e/external_results_spec/external_result.cy.ts b/cypress/e2e/external_results_spec/ExternalResultsHomepage.cy.ts similarity index 95% rename from cypress/e2e/external_results_spec/external_result.cy.ts rename to cypress/e2e/external_results_spec/ExternalResultsHomepage.cy.ts index d0d78e5f5f6..6a37d8fb2d0 100644 --- a/cypress/e2e/external_results_spec/external_result.cy.ts +++ b/cypress/e2e/external_results_spec/ExternalResultsHomepage.cy.ts @@ -33,7 +33,9 @@ describe("Edit Profile Testing", () => { cy.get("div").contains("Import/Export").click(); cy.get("div").contains("Import Results").click(); cy.get("[data-testid=import-file]") - .selectFile("cypress/fixtures/externalresultsample.csv", { force: true }) + .selectFile("cypress/fixtures/external-result-sample.csv", { + force: true, + }) .wait(100); cy.submitButton("Import"); cy.wait("@import").then((interception) => { diff --git a/cypress/e2e/facility_spec/facility_creation.cy.ts b/cypress/e2e/facility_spec/FacilityCreation.cy.ts similarity index 100% rename from cypress/e2e/facility_spec/facility_creation.cy.ts rename to cypress/e2e/facility_spec/FacilityCreation.cy.ts diff --git a/cypress/e2e/facility_spec/facility_homepage.cy.ts b/cypress/e2e/facility_spec/FacilityHomepage.cy.ts similarity index 100% rename from cypress/e2e/facility_spec/facility_homepage.cy.ts rename to cypress/e2e/facility_spec/FacilityHomepage.cy.ts diff --git a/cypress/e2e/facility_spec/inventory.cy.ts b/cypress/e2e/facility_spec/FacilityInventory.cy.ts similarity index 100% rename from cypress/e2e/facility_spec/inventory.cy.ts rename to cypress/e2e/facility_spec/FacilityInventory.cy.ts diff --git a/cypress/e2e/facility_spec/locations.cy.ts b/cypress/e2e/facility_spec/FacilityLocation.cy.ts similarity index 100% rename from cypress/e2e/facility_spec/locations.cy.ts rename to cypress/e2e/facility_spec/FacilityLocation.cy.ts diff --git a/cypress/e2e/facility_spec/facility_manage.cy.ts b/cypress/e2e/facility_spec/FacilityManage.cy.ts similarity index 99% rename from cypress/e2e/facility_spec/facility_manage.cy.ts rename to cypress/e2e/facility_spec/FacilityManage.cy.ts index 868a26de022..e4f4ba40ff1 100644 --- a/cypress/e2e/facility_spec/facility_manage.cy.ts +++ b/cypress/e2e/facility_spec/FacilityManage.cy.ts @@ -44,7 +44,7 @@ describe("Facility Manage Functions", () => { // It's only button functionality because we can't access S3 bucket in local facilityManage.clickCoverImage(); facilityManage.verifyUploadButtonVisible(); - facilityManage.uploadCoverImage("facilitycoverimage.jpg"); + facilityManage.uploadCoverImage("facility-cover-image.jpg"); facilityManage.clickSaveCoverImage(); }); diff --git a/cypress/e2e/patient_spec/patient_consultation.cy.ts b/cypress/e2e/patient_spec/PatientConsultationCreation.cy.ts similarity index 100% rename from cypress/e2e/patient_spec/patient_consultation.cy.ts rename to cypress/e2e/patient_spec/PatientConsultationCreation.cy.ts diff --git a/cypress/e2e/patient_spec/patient_discharge.cy.ts b/cypress/e2e/patient_spec/PatientConsultationDischarge.cy.ts similarity index 100% rename from cypress/e2e/patient_spec/patient_discharge.cy.ts rename to cypress/e2e/patient_spec/PatientConsultationDischarge.cy.ts diff --git a/cypress/e2e/patient_spec/patient_fileupload.cy.ts b/cypress/e2e/patient_spec/PatientFileUpload.ts similarity index 100% rename from cypress/e2e/patient_spec/patient_fileupload.cy.ts rename to cypress/e2e/patient_spec/PatientFileUpload.ts diff --git a/cypress/e2e/patient_spec/patient_logupdate.cy.ts b/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts similarity index 100% rename from cypress/e2e/patient_spec/patient_logupdate.cy.ts rename to cypress/e2e/patient_spec/PatientLogUpdate.cy.ts diff --git a/cypress/e2e/patient_spec/patient_manage.cy.ts b/cypress/e2e/patient_spec/PatientManage.cy.ts similarity index 100% rename from cypress/e2e/patient_spec/patient_manage.cy.ts rename to cypress/e2e/patient_spec/PatientManage.cy.ts diff --git a/cypress/e2e/patient_spec/patient_prescription.cy.ts b/cypress/e2e/patient_spec/PatientPrescription.cy.ts similarity index 100% rename from cypress/e2e/patient_spec/patient_prescription.cy.ts rename to cypress/e2e/patient_spec/PatientPrescription.cy.ts diff --git a/cypress/e2e/patient_spec/patient_registration.cy.ts b/cypress/e2e/patient_spec/PatientRegistration.cy.ts similarity index 100% rename from cypress/e2e/patient_spec/patient_registration.cy.ts rename to cypress/e2e/patient_spec/PatientRegistration.cy.ts diff --git a/cypress/e2e/resource_spec/filter.cy.ts b/cypress/e2e/resource_spec/ResourcesAdvanceFilters.cy.ts similarity index 100% rename from cypress/e2e/resource_spec/filter.cy.ts rename to cypress/e2e/resource_spec/ResourcesAdvanceFilters.cy.ts diff --git a/cypress/e2e/resource_spec/resources.cy.ts b/cypress/e2e/resource_spec/ResourcesHomepage.cy.ts similarity index 100% rename from cypress/e2e/resource_spec/resources.cy.ts rename to cypress/e2e/resource_spec/ResourcesHomepage.cy.ts diff --git a/cypress/e2e/sample_test_spec/filter.cy.ts b/cypress/e2e/sample_test_spec/SampleTestAdvanceFilters.cy.ts similarity index 100% rename from cypress/e2e/sample_test_spec/filter.cy.ts rename to cypress/e2e/sample_test_spec/SampleTestAdvanceFilters.cy.ts diff --git a/cypress/e2e/sample_test_spec/sample_test.cy.ts b/cypress/e2e/sample_test_spec/SampleTestHomepage.cy.ts similarity index 100% rename from cypress/e2e/sample_test_spec/sample_test.cy.ts rename to cypress/e2e/sample_test_spec/SampleTestHomepage.cy.ts diff --git a/cypress/e2e/shifting_spec/filter.cy.ts b/cypress/e2e/shifting_spec/ShiftingAdvanceFilters.cy.ts similarity index 100% rename from cypress/e2e/shifting_spec/filter.cy.ts rename to cypress/e2e/shifting_spec/ShiftingAdvanceFilters.cy.ts diff --git a/cypress/e2e/shifting_spec/shifting.cy.ts b/cypress/e2e/shifting_spec/ShiftingHomepage.cy.ts similarity index 100% rename from cypress/e2e/shifting_spec/shifting.cy.ts rename to cypress/e2e/shifting_spec/ShiftingHomepage.cy.ts diff --git a/cypress/e2e/users_spec/user_creation.cy.ts b/cypress/e2e/users_spec/UsersCreation.cy.ts similarity index 100% rename from cypress/e2e/users_spec/user_creation.cy.ts rename to cypress/e2e/users_spec/UsersCreation.cy.ts diff --git a/cypress/e2e/users_spec/user_homepage.cy.ts b/cypress/e2e/users_spec/UsersHomepage.cy.ts similarity index 100% rename from cypress/e2e/users_spec/user_homepage.cy.ts rename to cypress/e2e/users_spec/UsersHomepage.cy.ts diff --git a/cypress/e2e/users_spec/UsersManage.cy.ts b/cypress/e2e/users_spec/UsersManage.cy.ts new file mode 100644 index 00000000000..9c339f4b8e3 --- /dev/null +++ b/cypress/e2e/users_spec/UsersManage.cy.ts @@ -0,0 +1,151 @@ +import LoginPage from "../../pageobject/Login/LoginPage"; +import { UserPage } from "../../pageobject/Users/UserSearch"; +import ManageUserPage from "../../pageobject/Users/ManageUserPage"; +import { UserCreationPage } from "../../pageobject/Users/UserCreation"; + +describe("Manage User", () => { + const loginPage = new LoginPage(); + const userPage = new UserPage(); + const manageUserPage = new ManageUserPage(); + const usernametolinkfacilitydoc1 = "dummydoctor4"; + const usernametolinkfacilitydoc2 = "dummydoctor5"; + const usernametolinkfacilitydoc3 = "dummydoctor6"; + const usernametolinkskill = "devdoctor"; + const userCreationPage = new UserCreationPage(); + const usernameforworkinghour = "devdistrictadmin"; + const usernamerealname = "Dummy Doctor"; + const facilitytolinkusername = "Dummy Shifting Center"; + const facilitytolinkskill = "Dummy Facility 40"; + const workinghour = "23"; + const linkedskill = "General Medicine"; + + before(() => { + loginPage.loginAsDisctrictAdmin(); + cy.saveLocalStorage(); + }); + + beforeEach(() => { + cy.restoreLocalStorage(); + console.log(localStorage); + cy.clearLocalStorage(/filters--.+/); + console.log(localStorage); + cy.awaitUrl("/users"); + }); + + it("linking skills for users and verify its reflection in profile", () => { + // select the district user and select one skill link and verify its profile reflection + userPage.typeInSearchInput(usernameforworkinghour); + userPage.checkUsernameText(usernameforworkinghour); + manageUserPage.clicklinkedskillbutton(); + manageUserPage.selectSkillFromDropdown(linkedskill); + manageUserPage.clickAddSkillButton(); + manageUserPage.clickCloseSlideOver(); + cy.wait(5000); + manageUserPage.clicklinkedskillbutton(); + manageUserPage.assertSkillInAddedUserSkills(linkedskill); + manageUserPage.clickCloseSlideOver(); + cy.wait(5000); + manageUserPage.navigateToProfile(); + userCreationPage.verifyElementContainsText( + "username-profile-details", + usernameforworkinghour, + ); + manageUserPage.assertSkillInAlreadyLinkedSkills(linkedskill); + }); + + it("linking skills for a doctor users and verify its reflection in doctor connect", () => { + // select a doctor user and link and unlink same skill twice and verify the badge is only shown once in doctor connect + userPage.typeInSearchInput(usernametolinkskill); + userPage.checkUsernameText(usernametolinkskill); + manageUserPage.clicklinkedskillbutton(); + manageUserPage.selectSkillFromDropdown(linkedskill); + manageUserPage.clickAddSkillButton(); + manageUserPage.clickCloseSlideOver(); + cy.wait(5000); // temporary hack to fix the failure + manageUserPage.clicklinkedskillbutton(); + manageUserPage.assertSkillInAddedUserSkills(linkedskill); + manageUserPage.clickUnlinkSkill(); + manageUserPage.clickSubmit(); + manageUserPage.selectSkillFromDropdown(linkedskill); + manageUserPage.clickAddSkillButton(); + manageUserPage.clickCloseSlideOver(); + // verifying the doctor connect + manageUserPage.navigateToFacility(); + manageUserPage.typeFacilitySearch(facilitytolinkskill); + manageUserPage.assertFacilityInCard(facilitytolinkskill); + manageUserPage.clickFacilityPatients(); + manageUserPage.clickDoctorConnectButton(); + manageUserPage.assertSkillIndoctorconnect(linkedskill); + }); + + it("add working hour for a user and verify its reflection in card and user profile", () => { + // verify mandatory field error and select working hour for a user + userPage.typeInSearchInput(usernameforworkinghour); + userPage.checkUsernameText(usernameforworkinghour); + manageUserPage.clicksetaveragehourbutton(); + manageUserPage.clearweeklyhourfield(); + manageUserPage.clickSubmit(); + manageUserPage.verifyErrorText("Value should be between 0 and 168"); + // verify the data is reflected in user card and profile page + manageUserPage.typeInWeeklyWorkingHours(workinghour); + manageUserPage.clickSubmit(); + manageUserPage.verifyWorkingHours(workinghour); + manageUserPage.navigateToProfile(); + manageUserPage.verifyProfileWorkingHours(workinghour); + }); + + it("linking and unlinking facility for multiple users, and confirm reflection in user cards and doctor connect", () => { + // verify the user doesn't have any home facility + userPage.typeInSearchInput(usernametolinkfacilitydoc1); + userPage.checkUsernameText(usernametolinkfacilitydoc1); + manageUserPage.assertHomeFacility("No Home Facility"); + // Link a new facility and ensure it is under linked facility - doctor username (1) + manageUserPage.clickFacilitiesTab(); + manageUserPage.selectFacilityFromDropdown(facilitytolinkusername); + manageUserPage.clickLinkFacility(); + manageUserPage.assertLinkedFacility(facilitytolinkusername); + // Verify in the already linked facility are not present in droplist + manageUserPage.assertFacilityNotInDropdown(facilitytolinkusername); + manageUserPage.clickCloseSlideOver(); + // Link a new facility and ensure it is under home facility - doctor username (2) + userPage.clearSearchInput(); + userPage.typeInSearchInput(usernametolinkfacilitydoc2); + userPage.checkUsernameText(usernametolinkfacilitydoc2); + manageUserPage.clickFacilitiesTab(); + manageUserPage.selectFacilityFromDropdown(facilitytolinkusername); + manageUserPage.clickLinkFacility(); + manageUserPage.clickHomeFacilityIcon(); + manageUserPage.assertnotLinkedFacility(facilitytolinkusername); + manageUserPage.assertHomeFacilitylink(facilitytolinkusername); + manageUserPage.clickCloseSlideOver(); + // verify the home facility doctor id have reflection in user card + userPage.clearSearchInput(); + userPage.typeInSearchInput(usernametolinkfacilitydoc2); + userPage.checkUsernameText(usernametolinkfacilitydoc2); + manageUserPage.assertHomeFacility(facilitytolinkusername); + // Link a new facility and unlink the facility from the doctor username (3) + userPage.clearSearchInput(); + userPage.typeInSearchInput(usernametolinkfacilitydoc3); + userPage.checkUsernameText(usernametolinkfacilitydoc3); + manageUserPage.clickFacilitiesTab(); + manageUserPage.selectFacilityFromDropdown(facilitytolinkusername); + manageUserPage.clickLinkFacility(); + manageUserPage.clickUnlinkFacilityButton(); + manageUserPage.clickSubmit(); + manageUserPage.assertnotLinkedFacility; + manageUserPage.linkedfacilitylistnotvisible(); + manageUserPage.clickCloseSlideOver(); + // Go to particular facility doctor connect and all user-id are reflected based on there access + // Path will be facility page to patient page then doctor connect button + manageUserPage.navigateToFacility(); + manageUserPage.typeFacilitySearch(facilitytolinkusername); + manageUserPage.assertFacilityInCard(facilitytolinkusername); + manageUserPage.clickFacilityPatients(); + manageUserPage.clickDoctorConnectButton(); + manageUserPage.assertDoctorConnectVisibility(usernamerealname); + }); + + afterEach(() => { + cy.saveLocalStorage(); + }); +}); diff --git a/cypress/e2e/users_spec/UsersProfile.cy.ts b/cypress/e2e/users_spec/UsersProfile.cy.ts new file mode 100644 index 00000000000..2672cccad7e --- /dev/null +++ b/cypress/e2e/users_spec/UsersProfile.cy.ts @@ -0,0 +1,84 @@ +import LoginPage from "../../pageobject/Login/LoginPage"; +import UserProfilePage from "../../pageobject/Users/UserProfilePage"; +import ManageUserPage from "../../pageobject/Users/ManageUserPage"; + +describe("Manage User Profile", () => { + const loginPage = new LoginPage(); + const userProfilePage = new UserProfilePage(); + const manageUserPage = new ManageUserPage(); + + const date_of_birth = "01011999"; + const gender = "Male"; + const email = "test@example.com"; + const phone = "+918899887788"; + const workinghours = "8"; + const doctorQualification = "MBBS"; + const doctorYoE = "10"; + const medicalCouncilRegistration = "1234567890"; + + const facilitySearch = "Dummy Facility 40"; + + before(() => { + loginPage.loginAsDevDoctor(); + cy.saveLocalStorage(); + }); + + beforeEach(() => { + cy.restoreLocalStorage(); + console.log(localStorage); + cy.clearLocalStorage(/filters--.+/); + console.log(localStorage); + cy.awaitUrl("/user/profile"); + }); + + it("Set Dob, Gender, Email, Phone and Working Hours for a user and verify its reflection in user profile", () => { + userProfilePage.clickEditProfileButton(); + + userProfilePage.typedate_of_birth(date_of_birth); + userProfilePage.selectGender(gender); + userProfilePage.typeEmail(email); + userProfilePage.typePhone(phone); + userProfilePage.typeWhatsApp(phone); + userProfilePage.typeWorkingHours(workinghours); + userProfilePage.typeDoctorQualification(doctorQualification); + userProfilePage.typeDoctorYoE(doctorYoE); + userProfilePage.typeMedicalCouncilRegistration(medicalCouncilRegistration); + + userProfilePage.clickUpdateButton(); + + cy.verifyNotification("Details updated successfully"); + + userProfilePage.assertdate_of_birth("01/01/1999"); + userProfilePage.assertGender(gender); + userProfilePage.assertEmail(email); + userProfilePage.assertPhone(phone); + userProfilePage.assertWhatsApp(phone); + userProfilePage.assertWorkingHours(workinghours); + }); + + it("Adding video connect link for a user and verify its reflection in user profile and doctor connect", () => { + // verify the user doesn't have any video connect link + userProfilePage.assertVideoConnectLink("-"); + // Link a new video connect link and ensure it is under video connect link + userProfilePage.clickEditProfileButton(); + userProfilePage.typeVideoConnectLink("https://www.example.com"); + userProfilePage.clickUpdateButton(); + userProfilePage.assertVideoConnectLink("https://www.example.com"); + // Edit the video connect link and ensure it is updated + userProfilePage.clickEditProfileButton(); + userProfilePage.typeVideoConnectLink("https://www.test.com"); + userProfilePage.clickUpdateButton(); + userProfilePage.assertVideoConnectLink("https://www.test.com"); + // Go to particular facility doctor connect and verify the video connect link is present + manageUserPage.navigateToFacility(); + manageUserPage.typeFacilitySearch(facilitySearch); + manageUserPage.assertFacilityInCard(facilitySearch); + manageUserPage.clickFacilityPatients(); + manageUserPage.clickDoctorConnectButton(); + manageUserPage.assertVideoConnectLink("Dev Doctor", "https://www.test.com"); + }); + + afterEach(() => { + cy.saveLocalStorage(); + }); +}); diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json deleted file mode 100644 index 02e4254378e..00000000000 --- a/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/cypress/fixtures/externalresultsample.csv b/cypress/fixtures/external-result-sample.csv similarity index 100% rename from cypress/fixtures/externalresultsample.csv rename to cypress/fixtures/external-result-sample.csv diff --git a/cypress/fixtures/facilitycoverimage.jpg b/cypress/fixtures/facility-cover-image.jpg similarity index 100% rename from cypress/fixtures/facilitycoverimage.jpg rename to cypress/fixtures/facility-cover-image.jpg diff --git a/cypress/fixtures/sampleAsset.xlsx b/cypress/fixtures/sample-asset.xlsx similarity index 100% rename from cypress/fixtures/sampleAsset.xlsx rename to cypress/fixtures/sample-asset.xlsx diff --git a/cypress/pageobject/Asset/AssetCreation.ts b/cypress/pageobject/Asset/AssetCreation.ts index 2de13561a0b..41d3c4ca8d0 100644 --- a/cypress/pageobject/Asset/AssetCreation.ts +++ b/cypress/pageobject/Asset/AssetCreation.ts @@ -246,7 +246,7 @@ export class AssetPage { importAssetFile() { cy.get("[data-testid=import-file]") - .selectFile("cypress/fixtures/sampleAsset.xlsx", { force: true }) + .selectFile("cypress/fixtures/sample-asset.xlsx", { force: true }) .wait(100); } diff --git a/cypress/pageobject/Patient/PatientFileupload.ts b/cypress/pageobject/Patient/PatientFileupload.ts index 3f353cb8807..0616a19729c 100644 --- a/cypress/pageobject/Patient/PatientFileupload.ts +++ b/cypress/pageobject/Patient/PatientFileupload.ts @@ -40,7 +40,7 @@ export class PatientFileUpload { uploadFile() { cy.get("#file_upload_patient").selectFile( - "cypress/fixtures/sampleAsset.xlsx", + "cypress/fixtures/sample-asset.xlsx", { force: true }, ); } From b54bcc5c6f1b73d45b02dd13d0a2cf9515bf7463 Mon Sep 17 00:00:00 2001 From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:49:01 +0300 Subject: [PATCH 12/22] New Cypress test for the patient discussion notes (#8554) * doctor notes cypress test without tab switching * doctor notes cypress test without tab switching * Adds utility fn. to extract keys of obj. in type-safe manner. * i18n for patient notes thread titles and add id for tabs * discussion note tab switching functionality test * made success notification as variables * corrected the test description --------- Co-authored-by: rithviknishad --- .../e2e/patient_spec/PatientDoctorNotes.cy.ts | 61 +++++++++++++++++++ cypress/e2e/patient_spec/PatientManage.cy.ts | 48 --------------- cypress/pageobject/Login/LoginPage.ts | 6 ++ .../pageobject/Patient/PatientConsultation.ts | 26 -------- cypress/pageobject/Patient/PatientCreation.ts | 1 + .../pageobject/Patient/PatientDoctorNotes.ts | 29 +++++++++ .../Facility/ConsultationDetails/index.tsx | 2 +- .../ConsultationDoctorNotes/index.tsx | 16 ++--- .../Facility/PatientNotesSlideover.tsx | 18 +++--- src/Components/Patient/PatientNotes.tsx | 16 ++--- src/Locale/en/Consultation.json | 6 +- src/Utils/utils.ts | 7 +++ 12 files changed, 128 insertions(+), 108 deletions(-) create mode 100644 cypress/e2e/patient_spec/PatientDoctorNotes.cy.ts delete mode 100644 cypress/e2e/patient_spec/PatientManage.cy.ts create mode 100644 cypress/pageobject/Patient/PatientDoctorNotes.ts diff --git a/cypress/e2e/patient_spec/PatientDoctorNotes.cy.ts b/cypress/e2e/patient_spec/PatientDoctorNotes.cy.ts new file mode 100644 index 00000000000..5b0ceac0c8e --- /dev/null +++ b/cypress/e2e/patient_spec/PatientDoctorNotes.cy.ts @@ -0,0 +1,61 @@ +import LoginPage from "../../pageobject/Login/LoginPage"; +import { PatientPage } from "../../pageobject/Patient/PatientCreation"; +import { PatientDoctorNotes } from "../../pageobject/Patient/PatientDoctorNotes"; + +describe("Patient Discussion notes in the consultation page", () => { + const loginPage = new LoginPage(); + const patientPage = new PatientPage(); + const patientDoctorNotes = new PatientDoctorNotes(); + const patientName = "Dummy Patient 4"; + const patientNurseNote = "Test nurse Notes"; + const patientNurseReplyNote = "Test nurse reply Notes"; + const discussionNotesSubscribeWarning = + "Please subscribe to notifications to get live updates on discussion notes."; + const discussionNotesSuccessMessage = "Note added successfully"; + + before(() => { + loginPage.loginAsDisctrictAdmin(); + cy.saveLocalStorage(); + }); + + beforeEach(() => { + cy.restoreLocalStorage(); + cy.clearLocalStorage(/filters--.+/); + cy.awaitUrl("/patients"); + }); + + it("Create a nurse note for a patient and verify both ID received the messages", () => { + // Create a doctor notes a with a district admin + patientPage.visitPatient(patientName); + patientDoctorNotes.visitDiscussionNotesPage(); + cy.verifyNotification(discussionNotesSubscribeWarning); + cy.closeNotification(); + // switch the switch to nurse note, as the bydefault is doctornotes + patientDoctorNotes.selectNurseDiscussion(); + patientDoctorNotes.addDiscussionNotes(patientNurseNote); + patientDoctorNotes.postDiscussionNotes(); + cy.verifyNotification(discussionNotesSuccessMessage); + cy.closeNotification(); + // verify the auto-switching of tab to nurse notes if the user is a nurse + cy.get("p").contains("Sign Out").click(); + loginPage.loginManuallyAsNurse(); + loginPage.ensureLoggedIn(); + cy.visit("/patients"); + patientPage.visitPatient(patientName); + patientDoctorNotes.visitDiscussionNotesPage(); + // verify the message is received from admin + cy.verifyNotification(discussionNotesSubscribeWarning); + cy.closeNotification(); + patientDoctorNotes.verifyDiscussionMessage(patientNurseNote); + // Post a reply comment to the message + patientDoctorNotes.addDiscussionNotes(patientNurseReplyNote); + patientDoctorNotes.postDiscussionNotes(); + cy.verifyNotification(discussionNotesSuccessMessage); + cy.closeNotification(); + patientDoctorNotes.verifyDiscussionMessage(patientNurseReplyNote); + }); + + afterEach(() => { + cy.saveLocalStorage(); + }); +}); diff --git a/cypress/e2e/patient_spec/PatientManage.cy.ts b/cypress/e2e/patient_spec/PatientManage.cy.ts deleted file mode 100644 index 22d77aa2fda..00000000000 --- a/cypress/e2e/patient_spec/PatientManage.cy.ts +++ /dev/null @@ -1,48 +0,0 @@ -import LoginPage from "../../pageobject/Login/LoginPage"; -import { PatientConsultationPage } from "../../pageobject/Patient/PatientConsultation"; -import { PatientPage } from "../../pageobject/Patient/PatientCreation"; - -describe("Patient", () => { - const loginPage = new LoginPage(); - const patientPage = new PatientPage(); - const patientConsultationPage = new PatientConsultationPage(); - - before(() => { - loginPage.loginAsDisctrictAdmin(); - cy.saveLocalStorage(); - }); - - beforeEach(() => { - cy.restoreLocalStorage(); - cy.clearLocalStorage(/filters--.+/); - cy.awaitUrl("/patients"); - }); - - // it("Create Patient shift requests.", () => { - // patientPage.visitPatient(); - // patientConsultationPage.visitShiftRequestPage(); - // patientConsultationPage.enterPatientShiftDetails( - // "Test User", - // phone_number, - // "Dummy Shifting", - // "Reason" - // ); - // patientConsultationPage.createShiftRequest(); - // patientConsultationPage.verifySuccessNotification( - // "Shift request created successfully" - // ); - // }); - // commented out the shifting request, as logic need to be re-visited - - it("Post discussion notes for an already created patient", () => { - patientPage.visitPatient("Dummy Patient 3"); - patientConsultationPage.visitDoctorNotesPage(); - patientConsultationPage.addDoctorsNotes("Test Doctor Notes"); - patientConsultationPage.postDoctorNotes(); - cy.verifyNotification("Note added successfully"); - }); - - afterEach(() => { - cy.saveLocalStorage(); - }); -}); diff --git a/cypress/pageobject/Login/LoginPage.ts b/cypress/pageobject/Login/LoginPage.ts index c75a024ae03..3dfd267fab2 100644 --- a/cypress/pageobject/Login/LoginPage.ts +++ b/cypress/pageobject/Login/LoginPage.ts @@ -19,6 +19,12 @@ class LoginPage { cy.get("button").contains("Login").click(); } + loginManuallyAsNurse(): void { + cy.get("input[id='username']").click().type("dummynurse1"); + cy.get("input[id='password']").click().type("Coronasafe@123"); + cy.get("button").contains("Login").click(); + } + login(username: string, password: string): void { cy.loginByApi(username, password); } diff --git a/cypress/pageobject/Patient/PatientConsultation.ts b/cypress/pageobject/Patient/PatientConsultation.ts index e4a9810141e..cc5b8e19465 100644 --- a/cypress/pageobject/Patient/PatientConsultation.ts +++ b/cypress/pageobject/Patient/PatientConsultation.ts @@ -110,30 +110,4 @@ export class PatientConsultationPage { ); cy.wait(3000); } - - visitShiftRequestPage() { - cy.get("#create_shift_request").click(); - } - - createShiftRequest() { - cy.intercept("POST", "**/api/v1/shift/").as("createShiftRequest"); - cy.get("#submit").click(); - cy.wait("@createShiftRequest").its("response.statusCode").should("eq", 201); - } - - visitDoctorNotesPage() { - cy.get("#patient_doctor_notes").scrollIntoView(); - cy.get("#patient_doctor_notes").click(); - } - - addDoctorsNotes(notes: string) { - cy.get("#doctor_notes_textarea").scrollIntoView(); - cy.get("#doctor_notes_textarea").click().type(notes); - } - - postDoctorNotes() { - cy.intercept("POST", "**/api/v1/patient/*/notes").as("postDoctorNotes"); - cy.get("#add_doctor_note_button").click(); - cy.wait("@postDoctorNotes").its("response.statusCode").should("eq", 201); - } } diff --git a/cypress/pageobject/Patient/PatientCreation.ts b/cypress/pageobject/Patient/PatientCreation.ts index 739601d5b56..db3c10fdcb5 100644 --- a/cypress/pageobject/Patient/PatientCreation.ts +++ b/cypress/pageobject/Patient/PatientCreation.ts @@ -14,6 +14,7 @@ export class PatientPage { cy.get("#name").click().type(patientName); cy.intercept("GET", "**/api/v1/consultation/**").as("getPatient"); cy.get("#patient-name-list").contains(patientName).click(); + cy.wait(2000); cy.wait("@getPatient").its("response.statusCode").should("eq", 200); cy.get("#patient-name-consultation") .should("be.visible") diff --git a/cypress/pageobject/Patient/PatientDoctorNotes.ts b/cypress/pageobject/Patient/PatientDoctorNotes.ts new file mode 100644 index 00000000000..9538b0eed3b --- /dev/null +++ b/cypress/pageobject/Patient/PatientDoctorNotes.ts @@ -0,0 +1,29 @@ +export class PatientDoctorNotes { + visitDiscussionNotesPage() { + cy.get("#patient_discussion_notes").scrollIntoView(); + cy.get("#patient_discussion_notes").click(); + } + + addDiscussionNotes(notes: string) { + cy.wait(2000); + cy.get("#discussion_notes_textarea").scrollIntoView(); + cy.get("#discussion_notes_textarea").click().type(notes); + } + + selectNurseDiscussion() { + cy.get("#patient-note-tab-Nurses").scrollIntoView(); + cy.get("#patient-note-tab-Nurses").click(); + } + + verifyDiscussionMessage(text: string) { + cy.get("#patient-notes-list").contains(text); + } + + postDiscussionNotes() { + cy.intercept("POST", "**/api/v1/patient/*/notes").as("postDiscussionNotes"); + cy.get("#add_doctor_note_button").click(); + cy.wait("@postDiscussionNotes") + .its("response.statusCode") + .should("eq", 201); + } +} diff --git a/src/Components/Facility/ConsultationDetails/index.tsx b/src/Components/Facility/ConsultationDetails/index.tsx index f2c2644afda..78f7022b683 100644 --- a/src/Components/Facility/ConsultationDetails/index.tsx +++ b/src/Components/Facility/ConsultationDetails/index.tsx @@ -288,7 +288,7 @@ export const ConsultationDetails = (props: any) => { Patient Details showPatientNotesPopup ? navigate( diff --git a/src/Components/Facility/ConsultationDoctorNotes/index.tsx b/src/Components/Facility/ConsultationDoctorNotes/index.tsx index ccf71cdb0b6..cf7d9c61ef9 100644 --- a/src/Components/Facility/ConsultationDoctorNotes/index.tsx +++ b/src/Components/Facility/ConsultationDoctorNotes/index.tsx @@ -11,7 +11,7 @@ import routes from "../../../Redux/api.js"; import request from "../../../Utils/request/request.js"; import useQuery from "../../../Utils/request/useQuery.js"; import useKeyboardShortcut from "use-keyboard-shortcut"; -import { classNames, isAppleDevice } from "../../../Utils/utils.js"; +import { classNames, isAppleDevice, keysOf } from "../../../Utils/utils.js"; import AutoExpandingTextInputFormField from "../../Form/FormFields/AutoExpandingTextInputFormField.js"; import { PATIENT_NOTES_THREADS } from "../../../Common/constants.js"; import useAuthUser from "../../../Common/hooks/useAuthUser.js"; @@ -123,23 +123,19 @@ const ConsultationDoctorNotes = (props: ConsultationDoctorNotesProps) => { >
    - {Object.values(PATIENT_NOTES_THREADS).map((current) => ( + {keysOf(PATIENT_NOTES_THREADS).map((current) => ( ))}
    diff --git a/src/Components/Facility/PatientNotesSlideover.tsx b/src/Components/Facility/PatientNotesSlideover.tsx index 9b1f7e2424d..d7847c3add7 100644 --- a/src/Components/Facility/PatientNotesSlideover.tsx +++ b/src/Components/Facility/PatientNotesSlideover.tsx @@ -2,7 +2,7 @@ import { useState, useEffect, Dispatch, SetStateAction } from "react"; import * as Notification from "../../Utils/Notifications.js"; import { NonReadOnlyUsers } from "../../Utils/AuthorizeFor"; import CareIcon from "../../CAREUI/icons/CareIcon"; -import { classNames, isAppleDevice } from "../../Utils/utils"; +import { classNames, isAppleDevice, keysOf } from "../../Utils/utils"; import ButtonV2 from "../Common/components/ButtonV2"; import { useMessageListener } from "../../Common/hooks/useMessageListener"; import PatientConsultationNotesList from "./PatientConsultationNotesList"; @@ -193,23 +193,19 @@ export default function PatientNotesSlideover(props: PatientNotesProps) { {notesActionIcons}
    - {Object.values(PATIENT_NOTES_THREADS).map((current) => ( + {keysOf(PATIENT_NOTES_THREADS).map((current) => ( ))}
    @@ -223,7 +219,7 @@ export default function PatientNotesSlideover(props: PatientNotesProps) { />
    { >
    - {Object.values(PATIENT_NOTES_THREADS).map((current) => ( + {keysOf(PATIENT_NOTES_THREADS).map((current) => ( ))}
    diff --git a/src/Locale/en/Consultation.json b/src/Locale/en/Consultation.json index 65ea63e875c..8282656b560 100644 --- a/src/Locale/en/Consultation.json +++ b/src/Locale/en/Consultation.json @@ -55,5 +55,7 @@ "back_dated_encounter_date_caution": "You are creating an encounter for", "encounter_duration_confirmation": "The duration of this encounter would be", "consultation_notes": "General Instructions (Advice)", - "procedure_suggestions": "Procedure Suggestions" -} + "procedure_suggestions": "Procedure Suggestions", + "patient_notes_thread__Doctors": "Doctor's Discussions", + "patient_notes_thread__Nurses": "Nurse's Discussions" +} \ No newline at end of file diff --git a/src/Utils/utils.ts b/src/Utils/utils.ts index 716f0851464..46832e76228 100644 --- a/src/Utils/utils.ts +++ b/src/Utils/utils.ts @@ -525,3 +525,10 @@ export const celsiusToFahrenheit = (celsius: number) => { export const fahrenheitToCelsius = (fahrenheit: number) => { return ((fahrenheit - 32) * 5) / 9; }; + +/** + * Although same as `Objects.keys(...)`, this provides better type-safety. + */ +export const keysOf = (obj: T) => { + return Object.keys(obj) as (keyof T)[]; +}; From 775a8e5e6009bb8c314314ec6a9e1e501716da47 Mon Sep 17 00:00:00 2001 From: Kunal Dubey <21157775+xakep8@users.noreply.github.com> Date: Wed, 18 Sep 2024 07:22:57 +0530 Subject: [PATCH 13/22] RadioFormField: changed optionDisplay to optionLabel in RadioFormField (#8533) --- package-lock.json | 2 +- src/Components/ExternalResult/ResultUpdate.tsx | 2 +- src/Components/Facility/FacilityCreate.tsx | 2 +- src/Components/Form/FormFields/RadioFormField.tsx | 4 ++-- src/Components/LogUpdate/Sections/BloodSugar.tsx | 2 +- .../LogUpdate/Sections/NeurologicalMonitoring.tsx | 12 ++++++------ .../Sections/RespiratorySupport/OxygenSupport.tsx | 2 +- .../LogUpdate/Sections/RespiratorySupport/index.tsx | 4 ++-- src/Components/LogUpdate/Sections/Vitals.tsx | 2 +- src/Components/Patient/DailyRounds.tsx | 2 +- src/Components/Patient/PatientRegister.tsx | 10 +++++----- src/Components/Resource/ResourceCreate.tsx | 2 +- src/Components/Resource/ResourceDetailsUpdate.tsx | 2 +- src/Components/Shifting/ShiftDetailsUpdate.tsx | 6 +++--- 14 files changed, 27 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index dec462f006f..14fd0262607 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19258,4 +19258,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/Components/ExternalResult/ResultUpdate.tsx b/src/Components/ExternalResult/ResultUpdate.tsx index 482c320457e..3e892940ac8 100644 --- a/src/Components/ExternalResult/ResultUpdate.tsx +++ b/src/Components/ExternalResult/ResultUpdate.tsx @@ -289,7 +289,7 @@ export default function UpdateResult(props: any) { ]} value={state.form.patient_created} onChange={handleChange} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} optionValue={(option) => option.value} error={state.errors.patient_created} /> diff --git a/src/Components/Facility/FacilityCreate.tsx b/src/Components/Facility/FacilityCreate.tsx index 2f14bcc26bf..9c76e6e0ea0 100644 --- a/src/Components/Facility/FacilityCreate.tsx +++ b/src/Components/Facility/FacilityCreate.tsx @@ -928,7 +928,7 @@ export const FacilityCreate = (props: FacilityProps) => { {...field("kasp_empanelled")} label={`Is this facility ${careConfig.kasp.string} empanelled?`} options={[true, false]} - optionDisplay={(o) => (o ? "Yes" : "No")} + optionLabel={(o) => (o ? "Yes" : "No")} optionValue={(o) => String(o)} /> )} diff --git a/src/Components/Form/FormFields/RadioFormField.tsx b/src/Components/Form/FormFields/RadioFormField.tsx index c881bc66f94..ddb9178c6e9 100644 --- a/src/Components/Form/FormFields/RadioFormField.tsx +++ b/src/Components/Form/FormFields/RadioFormField.tsx @@ -5,7 +5,7 @@ import { FormFieldBaseProps, useFormFieldPropsResolver } from "./Utils"; type Props = FormFieldBaseProps & { options: readonly T[]; - optionDisplay: (option: T) => React.ReactNode; + optionLabel: (option: T) => React.ReactNode; optionValue: (option: T) => V; containerClassName?: string; unselectLabel?: string; @@ -47,7 +47,7 @@ const RadioFormField = (props: Props) => { { label="Frequency" name="insulin_intake_frequency" options={INSULIN_INTAKE_FREQUENCY_OPTIONS} - optionDisplay={(c) => t(`INSULIN_INTAKE_FREQUENCY__${c}`)} + optionLabel={(c) => t(`INSULIN_INTAKE_FREQUENCY__${c}`)} optionValue={(c) => c} value={log.insulin_intake_frequency} onChange={(c) => diff --git a/src/Components/LogUpdate/Sections/NeurologicalMonitoring.tsx b/src/Components/LogUpdate/Sections/NeurologicalMonitoring.tsx index 0d237aafd49..7ef98c4010b 100644 --- a/src/Components/LogUpdate/Sections/NeurologicalMonitoring.tsx +++ b/src/Components/LogUpdate/Sections/NeurologicalMonitoring.tsx @@ -31,7 +31,7 @@ const NeurologicalMonitoring = ({ log, onChange }: LogUpdateSectionProps) => { t(`CONSCIOUSNESS_LEVEL__${c.value}`)} + optionLabel={(c) => t(`CONSCIOUSNESS_LEVEL__${c.value}`)} optionValue={(c) => c.value} value={log.consciousness_level} onChange={(c) => @@ -60,7 +60,7 @@ const NeurologicalMonitoring = ({ log, onChange }: LogUpdateSectionProps) => { (o) => o.value !== "UNKNOWN", )} id={`${d}_reaction`} - optionDisplay={(c) => t(`PUPIL_REACTION__${c.value}`)} + optionLabel={(c) => t(`PUPIL_REACTION__${c.value}`)} optionValue={(c) => c.value} name={`${d}_pupil_light_reaction`} value={log[`${d}_pupil_light_reaction`]} @@ -98,7 +98,7 @@ const NeurologicalMonitoring = ({ log, onChange }: LogUpdateSectionProps) => { Eye Opening Response} options={EYE_OPEN_SCALE} - optionDisplay={(c) => c.value + " - " + c.text} + optionLabel={(c) => c.value + " - " + c.text} optionValue={(c) => `${c.value}`} name="eye_opening_response" value={`${log.glasgow_eye_open}`} @@ -110,7 +110,7 @@ const NeurologicalMonitoring = ({ log, onChange }: LogUpdateSectionProps) => { Verbal Response} options={VERBAL_RESPONSE_SCALE} - optionDisplay={(c) => c.value + " - " + c.text} + optionLabel={(c) => c.value + " - " + c.text} optionValue={(c) => `${c.value}`} name="verbal_response" value={`${log.glasgow_verbal_response}`} @@ -124,7 +124,7 @@ const NeurologicalMonitoring = ({ log, onChange }: LogUpdateSectionProps) => { Motor Response} options={MOTOR_RESPONSE_SCALE} - optionDisplay={(c) => c.value + " - " + c.text} + optionLabel={(c) => c.value + " - " + c.text} optionValue={(c) => `${c.value}`} name="motor_response" value={`${log.glasgow_motor_response}`} @@ -164,7 +164,7 @@ const NeurologicalMonitoring = ({ log, onChange }: LogUpdateSectionProps) => { } options={LIMB_RESPONSE_OPTIONS.filter((o) => o.value !== "UNKNOWN")} - optionDisplay={(c) => t(`LIMB_RESPONSE__${c.value}`)} + optionLabel={(c) => t(`LIMB_RESPONSE__${c.value}`)} optionValue={(c) => c.value} name={key} value={log[key]} diff --git a/src/Components/LogUpdate/Sections/RespiratorySupport/OxygenSupport.tsx b/src/Components/LogUpdate/Sections/RespiratorySupport/OxygenSupport.tsx index cefcf2ddb0e..758b49613ce 100644 --- a/src/Components/LogUpdate/Sections/RespiratorySupport/OxygenSupport.tsx +++ b/src/Components/LogUpdate/Sections/RespiratorySupport/OxygenSupport.tsx @@ -13,7 +13,7 @@ const OxygenRespiratorySupport = ({ log, onChange }: LogUpdateSectionProps) => { Oxygen Modality} options={OXYGEN_MODALITY_OPTIONS} - optionDisplay={(c) => t(`OXYGEN_MODALITY__${c.value}`)} + optionLabel={(c) => t(`OXYGEN_MODALITY__${c.value}`)} optionValue={(c) => c.value} name="ventilator_oxygen_modality" value={log.ventilator_oxygen_modality} diff --git a/src/Components/LogUpdate/Sections/RespiratorySupport/index.tsx b/src/Components/LogUpdate/Sections/RespiratorySupport/index.tsx index 8d558820843..6c58d0bfa72 100644 --- a/src/Components/LogUpdate/Sections/RespiratorySupport/index.tsx +++ b/src/Components/LogUpdate/Sections/RespiratorySupport/index.tsx @@ -57,7 +57,7 @@ const RespiratorySupport = ({ log, onChange }: LogUpdateSectionProps) => { label="Bilateral Air Entry" labelClassName="text-lg sm:font-bold" options={[true, false]} - optionDisplay={(c) => (c ? "Yes" : "No")} + optionLabel={(c) => (c ? "Yes" : "No")} optionValue={(c) => JSON.stringify(c)} name="bilateral_air_entry" value={ @@ -90,7 +90,7 @@ const RespiratorySupport = ({ log, onChange }: LogUpdateSectionProps) => { Respiratory Support} options={RESPIRATORY_SUPPORT} - optionDisplay={(c) => t(`RESPIRATORY_SUPPORT__${c.value}`)} + optionLabel={(c) => t(`RESPIRATORY_SUPPORT__${c.value}`)} optionValue={(c) => c.value} name="respiratory_support" value={log.ventilator_interface} diff --git a/src/Components/LogUpdate/Sections/Vitals.tsx b/src/Components/LogUpdate/Sections/Vitals.tsx index 1fa4b3f3aac..8592f004370 100644 --- a/src/Components/LogUpdate/Sections/Vitals.tsx +++ b/src/Components/LogUpdate/Sections/Vitals.tsx @@ -140,7 +140,7 @@ const Vitals = ({ log, onChange }: LogUpdateSectionProps) => { label={t("heartbeat_rhythm")} name="heartbeat-rythm" options={HEARTBEAT_RHYTHM_CHOICES} - optionDisplay={(c) => t(`HEARTBEAT_RHYTHM__${c}`)} + optionLabel={(c) => t(`HEARTBEAT_RHYTHM__${c}`)} optionValue={(c) => c} value={log.rhythm} onChange={(c) => onChange({ rhythm: c.value ?? undefined })} diff --git a/src/Components/Patient/DailyRounds.tsx b/src/Components/Patient/DailyRounds.tsx index 0f0c7396f5e..7335e5c6983 100644 --- a/src/Components/Patient/DailyRounds.tsx +++ b/src/Components/Patient/DailyRounds.tsx @@ -770,7 +770,7 @@ export const DailyRounds = (props: any) => { label: t(`CONSCIOUSNESS_LEVEL__${level.value}`), value: level.value, }))} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} optionValue={(option) => option.value} unselectLabel="Unknown" layout="vertical" diff --git a/src/Components/Patient/PatientRegister.tsx b/src/Components/Patient/PatientRegister.tsx index ab20ff91e59..17eb745496b 100644 --- a/src/Components/Patient/PatientRegister.tsx +++ b/src/Components/Patient/PatientRegister.tsx @@ -1495,7 +1495,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { { label: "Yes", value: "true" }, { label: "No", value: "false" }, ]} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} optionValue={(option) => option.value} />
    @@ -1528,7 +1528,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { { label: "Yes", value: "true" }, { label: "No", value: "false" }, ]} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} optionValue={(option) => option.value} /> @@ -1808,7 +1808,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { { label: "Yes", value: "true" }, { label: "No", value: "false" }, ]} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} optionValue={(option) => option.value} />
    @@ -1842,7 +1842,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { value: "3", }, ]} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} optionValue={(option) => option.value} />
    @@ -1877,7 +1877,7 @@ export const PatientRegister = (props: PatientRegisterProps) => { { label: "Yes", value: "true" }, { label: "No", value: "false" }, ]} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} optionValue={(option) => option.value} /> (o ? t("yes") : t("no"))} + optionLabel={(o) => (o ? t("yes") : t("no"))} optionValue={(o) => String(o)} value={state.form.emergency} onChange={handleChange} diff --git a/src/Components/Resource/ResourceDetailsUpdate.tsx b/src/Components/Resource/ResourceDetailsUpdate.tsx index 178ab596148..6d293f05df5 100644 --- a/src/Components/Resource/ResourceDetailsUpdate.tsx +++ b/src/Components/Resource/ResourceDetailsUpdate.tsx @@ -298,7 +298,7 @@ export const ResourceDetailsUpdate = (props: resourceProps) => { onChange={handleChange} label={"Is this an emergency?"} options={[true, false]} - optionDisplay={(o) => (o ? "Yes" : "No")} + optionLabel={(o) => (o ? "Yes" : "No")} optionValue={(o) => String(o)} value={String(state.form.emergency)} error={state.errors.emergency} diff --git a/src/Components/Shifting/ShiftDetailsUpdate.tsx b/src/Components/Shifting/ShiftDetailsUpdate.tsx index 8e6fb582906..ccf808ecda9 100644 --- a/src/Components/Shifting/ShiftDetailsUpdate.tsx +++ b/src/Components/Shifting/ShiftDetailsUpdate.tsx @@ -420,7 +420,7 @@ export const ShiftDetailsUpdate = (props: patientShiftProps) => { { label: t("yes"), value: "true" }, { label: t("no"), value: "false" }, ]} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} optionValue={(option) => option.value} /> @@ -434,7 +434,7 @@ export const ShiftDetailsUpdate = (props: patientShiftProps) => { { label: t("no"), value: "false" }, ]} optionValue={(option) => option.value} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} onChange={handleFormFieldChange} /> )} @@ -448,7 +448,7 @@ export const ShiftDetailsUpdate = (props: patientShiftProps) => { { label: t("no"), value: "false" }, ]} optionValue={(option) => option.value} - optionDisplay={(option) => option.label} + optionLabel={(option) => option.label} onChange={handleFormFieldChange} /> From c479e4602d10af48bb7c5ffdc988c41d44a4561b Mon Sep 17 00:00:00 2001 From: Hitish Rao P <140695309+HitishRaoP@users.noreply.github.com> Date: Wed, 18 Sep 2024 07:23:44 +0530 Subject: [PATCH 14/22] Fixes Facility cover image edit button malfunctioning (#8531) --- src/Components/Facility/FacilityHome.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Components/Facility/FacilityHome.tsx b/src/Components/Facility/FacilityHome.tsx index f1322e4d20e..22dd2bc830f 100644 --- a/src/Components/Facility/FacilityHome.tsx +++ b/src/Components/Facility/FacilityHome.tsx @@ -113,7 +113,7 @@ export const FacilityHome = ({ facilityId }: Props) => {
    setEditCoverImage(true)} > From f7bda46d59a61acc7f7adf898024796febde5dc7 Mon Sep 17 00:00:00 2001 From: Zeeshan <95434634+Zeshanxviii@users.noreply.github.com> Date: Wed, 18 Sep 2024 07:26:54 +0530 Subject: [PATCH 15/22] Updated TreatmentSummary component by integrating it with PrintPreview Component #8430 (#8441) --- cypress/pageobject/Asset/AssetFilters.ts | 2 +- cypress/pageobject/Asset/AssetSearch.ts | 4 +- .../pageobject/Patient/PatientInsurance.ts | 2 +- .../Patient/PatientMedicalHistory.ts | 4 +- scripts/generate-build-version.js | 2 +- .../Investigations/InvestigationTable.tsx | 36 +++++----- .../Investigations/ShowInvestigation.tsx | 38 +++++----- src/Components/Facility/TreatmentSummary.tsx | 69 ++++++++----------- src/Locale/en/Consultation.json | 3 + src/style/index.css | 3 +- 10 files changed, 76 insertions(+), 87 deletions(-) diff --git a/cypress/pageobject/Asset/AssetFilters.ts b/cypress/pageobject/Asset/AssetFilters.ts index 33363f2d161..ac83ca97c0b 100644 --- a/cypress/pageobject/Asset/AssetFilters.ts +++ b/cypress/pageobject/Asset/AssetFilters.ts @@ -3,7 +3,7 @@ export class AssetFilters { facilityName: string, assetStatus: string, assetClass: string, - assetLocation: string + assetLocation: string, ) { cy.contains("Advanced Filters").click(); cy.get("input[name='Facilities']") diff --git a/cypress/pageobject/Asset/AssetSearch.ts b/cypress/pageobject/Asset/AssetSearch.ts index b1ccb2f71c9..653c7bdd89c 100644 --- a/cypress/pageobject/Asset/AssetSearch.ts +++ b/cypress/pageobject/Asset/AssetSearch.ts @@ -17,7 +17,7 @@ export class AssetSearchPage { verifyBadgeContent(expectedText: string) { cy.get("[data-testid='Name/Serial No./QR ID']").should( "contain", - expectedText + expectedText, ); } @@ -54,7 +54,7 @@ export class AssetSearchPage { verifyAssetListContains(dummyCameraText: string) { cy.get("[data-testid='created-asset-list']").should( "contain", - dummyCameraText + dummyCameraText, ); } } diff --git a/cypress/pageobject/Patient/PatientInsurance.ts b/cypress/pageobject/Patient/PatientInsurance.ts index be4c25c5535..60eaefffa44 100644 --- a/cypress/pageobject/Patient/PatientInsurance.ts +++ b/cypress/pageobject/Patient/PatientInsurance.ts @@ -2,7 +2,7 @@ class PatientInsurance { typePatientInsuranceDetail( containerId: string, fieldId: string, - value: string + value: string, ) { cy.get(`#${containerId}`).within(() => { cy.get(`#${fieldId}`).click().type(value); diff --git a/cypress/pageobject/Patient/PatientMedicalHistory.ts b/cypress/pageobject/Patient/PatientMedicalHistory.ts index 1c9b733f3ba..a0dbdd0131a 100644 --- a/cypress/pageobject/Patient/PatientMedicalHistory.ts +++ b/cypress/pageobject/Patient/PatientMedicalHistory.ts @@ -31,7 +31,7 @@ class PatientMedicalHistory { patientSymptoms4, patientSymptoms5, patientSymptoms6, - patientSymptoms7 + patientSymptoms7, ) { cy.get("[data-testid=patient-details]").then(($dashboard) => { cy.url().should("include", "/facility/"); @@ -51,7 +51,7 @@ class PatientMedicalHistory { verifyNoSymptosPresent(patientSymptoms1: string) { cy.get("[data-testid=patient-details]").should( "not.contain", - patientSymptoms1 + patientSymptoms1, ); } } diff --git a/scripts/generate-build-version.js b/scripts/generate-build-version.js index 36e7ea1162a..84b8e0e5928 100644 --- a/scripts/generate-build-version.js +++ b/scripts/generate-build-version.js @@ -20,5 +20,5 @@ fs.writeFile( return console.log(err); } return null; - } + }, ); diff --git a/src/Components/Facility/Investigations/InvestigationTable.tsx b/src/Components/Facility/Investigations/InvestigationTable.tsx index 6984b0baedb..18c64108b6f 100644 --- a/src/Components/Facility/Investigations/InvestigationTable.tsx +++ b/src/Components/Facility/Investigations/InvestigationTable.tsx @@ -4,6 +4,7 @@ import { SelectFormField } from "../../Form/FormFields/SelectFormField"; import TextFormField from "../../Form/FormFields/TextFormField"; import { classNames } from "../../../Utils/utils"; import { useState } from "react"; +import { useTranslation } from "react-i18next"; const TestRow = ({ data, i, onChange, showForm, value, isChanged }: any) => { return ( @@ -70,6 +71,7 @@ export const InvestigationTable = ({ handleUpdateCancel, handleSave, }: any) => { + const { t } = useTranslation(); const [searchFilter, setSearchFilter] = useState(""); const [showForm, setShowForm] = useState(false); const filterTests = Object.values(data).filter((i: any) => { @@ -84,16 +86,10 @@ export const InvestigationTable = ({ return (
    - {title &&
    {title}
    } -
    - window.print()} - className="my-2 mr-2" - disabled={showForm} - > - Print Report - + {title && ( +
    {title}
    + )} +
    setSearchFilter(e.value)} />
    -
    -
    - - +
    +
    +
    + {["Name", "Value", "Unit", "Min", "Max", "Ideal"].map( (heading) => ( @@ -143,7 +140,7 @@ export const InvestigationTable = ({ )} - + {filterTests.length > 0 ? ( filterTests.map((t: any, i) => { const value = @@ -173,12 +170,13 @@ export const InvestigationTable = ({ }; handleValueChange(value, target); }} + className="print:text-black" /> ); }) ) : ( - - No tests taken + + )} diff --git a/src/Components/Facility/Investigations/ShowInvestigation.tsx b/src/Components/Facility/Investigations/ShowInvestigation.tsx index a7f74b98fde..7477c64f899 100644 --- a/src/Components/Facility/Investigations/ShowInvestigation.tsx +++ b/src/Components/Facility/Investigations/ShowInvestigation.tsx @@ -1,14 +1,13 @@ import _, { set } from "lodash-es"; import { navigate } from "raviger"; import { lazy, useCallback, useReducer } from "react"; -import { useTranslation } from "react-i18next"; import routes from "../../../Redux/api"; import * as Notification from "../../../Utils/Notifications.js"; import request from "../../../Utils/request/request"; import useQuery from "../../../Utils/request/useQuery"; -import PageTitle from "../../Common/PageTitle"; import InvestigationTable from "./InvestigationTable"; - +import PrintPreview from "../../../CAREUI/misc/PrintPreview"; +import { useTranslation } from "react-i18next"; const Loading = lazy(() => import("../../Common/Loading")); const initialState = { @@ -35,10 +34,15 @@ const updateFormReducer = (state = initialState, action: any) => { } }; -export default function ShowInvestigation(props: any) { +interface ShowInvestigationProps { + consultationId: string; + patientId: string; + sessionId: string; + facilityId: string; +} +export default function ShowInvestigation(props: ShowInvestigationProps) { + const { consultationId, patientId, sessionId } = props; const { t } = useTranslation(); - const { consultationId, patientId, facilityId, sessionId } = props; - const [state, dispatch] = useReducer(updateFormReducer, initialState); const { loading: investigationLoading } = useQuery(routes.getInvestigation, { pathParams: { @@ -141,20 +145,16 @@ export default function ShowInvestigation(props: any) { if (patientLoading || investigationLoading) { return ; } - return ( -
    - + -
    + ); } diff --git a/src/Components/Facility/TreatmentSummary.tsx b/src/Components/Facility/TreatmentSummary.tsx index e719e859a4b..610e7dc189d 100644 --- a/src/Components/Facility/TreatmentSummary.tsx +++ b/src/Components/Facility/TreatmentSummary.tsx @@ -4,10 +4,8 @@ import { formatDateTime, formatPatientAge, } from "../../Utils/utils"; -import useAppHistory from "../../Common/hooks/useAppHistory"; import routes from "../../Redux/api"; import useQuery from "../../Utils/request/useQuery"; -import CareIcon from "../../CAREUI/icons/CareIcon"; import { ConsultationModel } from "./models"; import { useMemo } from "react"; import { @@ -18,6 +16,8 @@ import PageHeadTitle from "../Common/PageHeadTitle"; import { useTranslation } from "react-i18next"; import { PatientModel } from "../Patient/models"; import MedicineRoutes from "../Medicine/routes"; +import PrintPreview from "../../CAREUI/misc/PrintPreview"; +import careConfig from "@careConfig"; export interface ITreatmentSummaryProps { consultationId: string; @@ -28,12 +28,9 @@ export interface ITreatmentSummaryProps { export default function TreatmentSummary({ consultationId, patientId, - facilityId, }: ITreatmentSummaryProps) { const { t } = useTranslation(); const date = new Date(); - const { goBack } = useAppHistory(); - const url = `/facility/${facilityId}/patient/${patientId}/consultation/${consultationId}`; const { data: patientData } = useQuery(routes.getPatient, { pathParams: { id: patientId }, @@ -49,50 +46,42 @@ export default function TreatmentSummary({
    -
    - - -
    - -
    -

    - {consultationData?.facility_name ?? ""} -

    + +
    +
    +

    {consultationData?.facility_name}

    + care logo +
    +

    + {t("treatment_summary__heading")} +

    -

    - {t("treatment_summary__heading")} -

    +
    {formatDate(date)}
    -
    {formatDate(date)}
    +
    + -
    - + - + - + - + - + - - - + +
    -
    +
    ); diff --git a/src/Locale/en/Consultation.json b/src/Locale/en/Consultation.json index 8282656b560..3d101bcb2bd 100644 --- a/src/Locale/en/Consultation.json +++ b/src/Locale/en/Consultation.json @@ -22,9 +22,12 @@ "investigations": "Investigations", "search_investigation_placeholder": "Search Investigation & Groups", "save_investigation": "Save Investigation", + "investigation_report_for_{{name}}": "Investigation Report for {{name}}", + "investigation_report_of_{{name}}":"Investigation Report of : {{name}}", "investigation_reports": "Investigation Reports", "no_investigation": "No investigation Reports found", "investigations_suggested": "Investigations Suggested", + "no_tests_taken":"No tests taken", "to_be_conducted": "To be conducted", "log_report": "Log Report", "no_investigation_suggestions": "No Investigation Suggestions", diff --git a/src/style/index.css b/src/style/index.css index 327cc03d047..254bf4e9b6e 100644 --- a/src/style/index.css +++ b/src/style/index.css @@ -435,7 +435,6 @@ button:disabled, background-size: 1000px 100%; } - @media print { body * { visibility: hidden; @@ -450,7 +449,7 @@ button:disabled, left: 0; top: 0; } -} +} .header-section .appBar { z-index: 1201; From 14814085c93a7e1e11abf342c80abafae7913ca8 Mon Sep 17 00:00:00 2001 From: Rithvik Nishad Date: Wed, 18 Sep 2024 17:27:41 +0530 Subject: [PATCH 16/22] Adds Community Nurse's Log; improved Nursing Care section UI (#8522) --- .../e2e/patient_spec/PatientLogUpdate.cy.ts | 20 +- src/Common/constants.tsx | 75 ++++- .../ConsultationNursingTab.tsx | 224 ++++++++++++- .../Facility/ConsultationDetails/index.tsx | 21 +- .../Facility/Consultations/ABGPlots.tsx | 16 +- .../DailyRounds/DefaultLogUpdateCard.tsx | 31 +- .../Consultations/DailyRoundsList.tsx | 13 - .../Facility/Consultations/DialysisPlots.tsx | 6 +- .../Consultations/NeurologicalTables.tsx | 24 +- .../Facility/Consultations/NursingPlot.tsx | 8 +- .../Facility/Consultations/NutritionPlots.tsx | 13 +- .../Facility/Consultations/PainDiagrams.tsx | 5 +- .../Consultations/PressureSoreDiagrams.tsx | 7 +- .../Consultations/PrimaryParametersPlot.tsx | 15 +- .../Facility/Consultations/VentilatorPlot.tsx | 19 +- src/Components/Facility/models.tsx | 178 +++++----- .../Form/FormFields/SelectFormField.tsx | 2 +- src/Components/Form/MultiSelectMenuV2.tsx | 2 +- .../LogUpdate/CriticalCarePreview.tsx | 212 +++++++++--- .../LogUpdate/Sections/NursingCare.tsx | 110 +++---- src/Components/LogUpdate/Sections/Vitals.tsx | 14 +- src/Components/LogUpdate/Sections/index.tsx | 1 + src/Components/Patient/DailyRounds.tsx | 309 +++++++++++++----- src/Components/Patient/models.tsx | 20 ++ src/Locale/en/Common.json | 6 +- src/Locale/en/Consultation.json | 15 + src/Locale/en/LogUpdate.json | 82 ++++- src/Locale/hi/LogUpdate.json | 8 +- src/Locale/kn/LogUpdate.json | 8 +- src/Locale/ml/LogUpdate.json | 8 +- src/Locale/ta/LogUpdate.json | 8 +- 31 files changed, 1022 insertions(+), 458 deletions(-) diff --git a/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts b/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts index 773b0087d80..923d9410657 100644 --- a/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts +++ b/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts @@ -55,7 +55,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.selectPatientCategory(patientCategory); patientLogupdate.selectRoundType("Detailed Update"); cy.submitButton("Save and Continue"); - cy.verifyNotification("Detailed Update log created successfully"); + cy.verifyNotification("Detailed Update created successfully"); cy.closeNotification(); // Select two Section - First One is Respiratory Support patientLogupdate.selectCriticalCareSection("Respiratory Support"); @@ -162,7 +162,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.closeNotification(); // Submit the doctors log update cy.submitButton("Save and Continue"); - cy.verifyNotification("Progress Note log created successfully"); + cy.verifyNotification("Progress Note created successfully"); cy.closeNotification(); // modify the relevant critical care log update patientLogupdate.selectCriticalCareSection("Neurological Monitoring"); @@ -192,7 +192,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.typeSystolic(patientModifiedSystolic); patientLogupdate.typeDiastolic(patientModifiedDiastolic); cy.submitButton("Continue"); - cy.verifyNotification("Progress Note log updated successfully"); + cy.verifyNotification("Progress Note updated successfully"); }); it("Create a new TeleIcu log update for a domicilary care patient", () => { @@ -204,7 +204,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.closeNotification(); patientLogupdate.clickLogupdate(); patientLogupdate.typePhysicalExamination(physicalExamination); - patientLogupdate.selectRoundType("Telemedicine"); + patientLogupdate.selectRoundType("Tele-medicine Log"); patientLogupdate.typeOtherDetails(otherExamination); patientLogupdate.selectSymptomsDate("01012024"); patientLogupdate.typeAndMultiSelectSymptoms("fe", ["Fever"]); @@ -219,7 +219,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.typeRhythm(patientRhythm); cy.get("#consciousness_level-option-RESPONDS_TO_PAIN").click(); cy.submitButton("Save"); - cy.verifyNotification("Telemedicine log created successfully"); + cy.verifyNotification("Tele-medicine Log created successfully"); }); it("Create a new Normal Log update for a domicilary care patient and edit it", () => { @@ -245,7 +245,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.typeRhythm(patientRhythm); cy.get("#consciousness_level-option-RESPONDS_TO_PAIN").click(); cy.submitButton("Save"); - cy.verifyNotification("Brief Update log created successfully"); + cy.verifyNotification("Brief Update created successfully"); cy.closeNotification(); // edit the card and verify the data. cy.contains("button", "Daily Rounds").click(); @@ -271,7 +271,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.clickClearButtonInElement("#diastolic"); patientLogupdate.typeDiastolic(patientModifiedDiastolic); cy.submitButton("Continue"); - cy.verifyNotification("Brief Update log updated successfully"); + cy.verifyNotification("Brief Update updated successfully"); cy.contains("button", "Daily Rounds").click(); patientLogupdate.clickLogUpdateViewDetails( "#dailyround-entry", @@ -307,7 +307,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.get("#consciousness_level-option-RESPONDS_TO_PAIN").click(); cy.submitButton("Save"); cy.wait(2000); - cy.verifyNotification("Brief Update log created successfully"); + cy.verifyNotification("Brief Update created successfully"); // Verify the card content cy.get("#basic-information").scrollIntoView(); cy.verifyContentPresence("#encounter-symptoms", [additionalSymptoms]); @@ -330,7 +330,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.typeRespiratory(patientRespiratory); cy.get("#consciousness_level-option-RESPONDS_TO_PAIN").click(); cy.submitButton("Save"); - cy.verifyNotification("Brief Update log created successfully"); + cy.verifyNotification("Brief Update created successfully"); cy.closeNotification(); cy.verifyContentPresence("#consultation-buttons", ["9"]); // Verify the Incomplete data will give blank info @@ -340,7 +340,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.typeDiastolic(patientDiastolic); patientLogupdate.typePulse(patientPulse); cy.submitButton("Save"); - cy.verifyNotification("Brief Update log created successfully"); + cy.verifyNotification("Brief Update created successfully"); cy.closeNotification(); cy.verifyContentPresence("#consultation-buttons", ["-"]); }); diff --git a/src/Common/constants.tsx b/src/Common/constants.tsx index 681fe874475..74150a53e4f 100644 --- a/src/Common/constants.tsx +++ b/src/Common/constants.tsx @@ -773,28 +773,71 @@ export const MOTOR_RESPONSE_SCALE = [ { value: 5, text: "Moves to localized pain" }, { value: 6, text: "Obeying commands/Normal acrivity" }, ]; -export const CONSULTATION_TABS = [ - { text: "UPDATES", desc: "Overview" }, - { text: "FEED", desc: "Feed" }, - { text: "SUMMARY", desc: "Vitals" }, - { text: "ABG", desc: "ABG" }, - { text: "MEDICINES", desc: "Medicines" }, - { text: "FILES", desc: "Files" }, - { text: "INVESTIGATIONS", desc: "Investigations" }, - { text: "NEUROLOGICAL_MONITORING", desc: "Neuro" }, - { text: "VENTILATOR", desc: "Ventilation" }, - { text: "NUTRITION", desc: "Nutrition" }, - { text: "PRESSURE_SORE", desc: "Pressure Sore" }, - { text: "NURSING", desc: "Nursing" }, - { text: "DIALYSIS", desc: "Dialysis" }, - { text: "ABDM", desc: "ABDM Records" }, -]; export const RHYTHM_CHOICES = [ { id: 5, text: "REGULAR", desc: "Regular" }, { id: 10, text: "IRREGULAR", desc: "Irregular" }, ] as const; +export const BOWEL_ISSUE_CHOICES = [ + "NO_DIFFICULTY", + "CONSTIPATION", + "DIARRHOEA", +] as const; + +export const BLADDER_DRAINAGE_CHOICES = [ + "NORMAL", + "CONDOM_CATHETER", + "DIAPER", + "INTERMITTENT_CATHETER", + "CONTINUOUS_INDWELLING_CATHETER", + "CONTINUOUS_SUPRAPUBIC_CATHETER", + "UROSTOMY", +] as const; + +export const BLADDER_ISSUE_CHOICES = [ + "NO_ISSUES", + "INCONTINENCE", + "RETENTION", + "HESITANCY", +] as const; + +export const URINATION_FREQUENCY_CHOICES = [ + "NORMAL", + "DECREASED", + "INCREASED", +] as const; + +export const SLEEP_CHOICES = [ + "EXCESSIVE", + "SATISFACTORY", + "UNSATISFACTORY", + "NO_SLEEP", +] as const; + +export const NUTRITION_ROUTE_CHOICES = [ + "ORAL", + "RYLES_TUBE", + "GASTROSTOMY_OR_JEJUNOSTOMY", + "PEG", + "PARENTERAL_TUBING_FLUID", + "PARENTERAL_TUBING_TPN", +] as const; + +export const ORAL_ISSUE_CHOICES = [ + "NO_ISSUE", + "DYSPHAGIA", + "ODYNOPHAGIA", +] as const; + +export const APPETITE_CHOICES = [ + "INCREASED", + "SATISFACTORY", + "REDUCED", + "NO_TASTE_FOR_FOOD", + "CANNOT_BE_ASSESSED", +] as const; + export const LOCATION_BED_TYPES = [ { id: "ISOLATION", name: "Isolation" }, { id: "ICU", name: "ICU" }, diff --git a/src/Components/Facility/ConsultationDetails/ConsultationNursingTab.tsx b/src/Components/Facility/ConsultationDetails/ConsultationNursingTab.tsx index f8d38b2adb3..2f689c82d19 100644 --- a/src/Components/Facility/ConsultationDetails/ConsultationNursingTab.tsx +++ b/src/Components/Facility/ConsultationDetails/ConsultationNursingTab.tsx @@ -1,18 +1,228 @@ -import { lazy } from "react"; +import { lazy, useEffect, useState } from "react"; import { ConsultationTabProps } from "./index"; import { NursingPlot } from "../Consultations/NursingPlot"; +import { useTranslation } from "react-i18next"; +import request from "../../../Utils/request/request"; +import routes from "../../../Redux/api"; +import { RoutineAnalysisRes, RoutineFields } from "../models"; +import Loading from "../../Common/Loading"; +import { classNames, formatDate, formatTime } from "../../../Utils/utils"; +import Pagination from "../../Common/Pagination"; +import { PAGINATION_LIMIT } from "../../../Common/constants"; const PageTitle = lazy(() => import("../../Common/PageTitle")); -export const ConsultationNursingTab = (props: ConsultationTabProps) => { +export default function ConsultationNursingTab(props: ConsultationTabProps) { + const { t } = useTranslation(); return (
    - - +
    +

    {t("routine")}

    + +
    +
    +

    {t("nursing_care")}

    + +
    +
    + ); +} + +const REVERSE_CHOICES = { + appetite: { + 1: "INCREASED", + 2: "SATISFACTORY", + 3: "REDUCED", + 4: "NO_TASTE_FOR_FOOD", + 5: "CANNOT_BE_ASSESSED", + }, + bladder_drainage: { + 1: "NORMAL", + 2: "CONDOM_CATHETER", + 3: "DIAPER", + 4: "INTERMITTENT_CATHETER", + 5: "CONTINUOUS_INDWELLING_CATHETER", + 6: "CONTINUOUS_SUPRAPUBIC_CATHETER", + 7: "UROSTOMY", + }, + bladder_issue: { + 0: "NO_ISSUES", + 1: "INCONTINENCE", + 2: "RETENTION", + 3: "HESITANCY", + }, + bowel_issue: { + 0: "NO_DIFFICULTY", + 1: "CONSTIPATION", + 2: "DIARRHOEA", + }, + nutrition_route: { + 1: "ORAL", + 2: "RYLES_TUBE", + 3: "GASTROSTOMY_OR_JEJUNOSTOMY", + 4: "PEG", + 5: "PARENTERAL_TUBING_FLUID", + 6: "PARENTERAL_TUBING_TPN", + }, + oral_issue: { + 0: "NO_ISSUE", + 1: "DYSPHAGIA", + 2: "ODYNOPHAGIA", + }, + is_experiencing_dysuria: { + true: "yes", + false: "no", + }, + urination_frequency: { + 1: "NORMAL", + 2: "DECREASED", + 3: "INCREASED", + }, + sleep: { + 1: "EXCESSIVE", + 2: "SATISFACTORY", + 3: "UNSATISFACTORY", + 4: "NO_SLEEP", + }, +} as const; + +const ROUTINE_ROWS = [ + { field: "sleep" } as const, + { field: "bowel_issue" } as const, + { title: "Bladder" } as const, + { subField: true, field: "bladder_drainage" } as const, + { subField: true, field: "bladder_issue" } as const, + { subField: true, field: "is_experiencing_dysuria" } as const, + { subField: true, field: "urination_frequency" } as const, + { title: "Nutrition" } as const, + { subField: true, field: "nutrition_route" } as const, + { subField: true, field: "oral_issue" } as const, + { subField: true, field: "appetite" } as const, +]; + +const RoutineSection = ({ consultationId }: ConsultationTabProps) => { + const { t } = useTranslation(); + const [page, setPage] = useState(1); + const [totalCount, setTotalCount] = useState(); + const [results, setResults] = useState>(); + + useEffect(() => { + const getData = async () => { + const { data } = await request(routes.dailyRoundsAnalyse, { + body: { fields: RoutineFields, page }, + pathParams: { consultationId }, + }); + if (!data) { + return; + } + setTotalCount(data.count); + setResults( + Object.fromEntries( + Object.entries(data.results).filter(([_, value]) => + Object.entries(value).some(([k, v]) => k !== "id" && v != null), + ), + ) as typeof results, + ); + }; + + getData(); + }, [page, consultationId]); + + if (results == null) { + return ; + } + + if (Object.keys(results).length === 0) { + return ( +
    +
    + {t("no_data_found")} +
    +
    + ); + } + + return ( +
    +
    +
    {heading}
    {t("no_tests_taken")}
    + + + + ))} + + + + {ROUTINE_ROWS.map((row) => ( + + + {row.field && + Object.values(results).map((obj, idx) => ( + + ))} + + ))} + +
    + {Object.keys(results).map((date) => ( + +

    {formatDate(date)}

    +

    {formatTime(date)}

    +
    + {row.title ?? t(`LOG_UPDATE_FIELD_LABEL__${row.field!}`)} + + {(() => { + const value = obj[row.field]; + if (value == null) { + return "-"; + } + if (typeof value === "boolean") { + return t(value ? "yes" : "no"); + } + const choices = REVERSE_CHOICES[row.field]; + const choice = `${row.field.toUpperCase()}__${choices[value as keyof typeof choices]}`; + return t(choice); + })()} +
    +
    + + {totalCount != null && totalCount > PAGINATION_LIMIT && ( +
    + +
    + )}
    ); }; diff --git a/src/Components/Facility/ConsultationDetails/index.tsx b/src/Components/Facility/ConsultationDetails/index.tsx index 78f7022b683..911e62d5627 100644 --- a/src/Components/Facility/ConsultationDetails/index.tsx +++ b/src/Components/Facility/ConsultationDetails/index.tsx @@ -1,4 +1,4 @@ -import { CONSULTATION_TABS, GENDER_TYPES } from "../../../Common/constants"; +import { GENDER_TYPES } from "../../../Common/constants"; import { ConsultationModel } from "../models"; import { getConsultation, @@ -13,6 +13,7 @@ import { PatientModel } from "../../Patient/models"; import { formatDateTime, humanizeStrings, + keysOf, relativeTime, } from "../../../Utils/utils"; @@ -22,7 +23,7 @@ import { triggerGoal } from "../../../Integrations/Plausible"; import useAuthUser from "../../../Common/hooks/useAuthUser"; import { ConsultationUpdatesTab } from "./ConsultationUpdatesTab"; import { ConsultationABGTab } from "./ConsultationABGTab"; -import { ConsultationNursingTab } from "./ConsultationNursingTab"; +import ConsultationNursingTab from "./ConsultationNursingTab"; import { ConsultationFeedTab } from "./ConsultationFeedTab"; import { ConsultationSummaryTab } from "./ConsultationSummaryTab"; import { ConsultationFilesTab } from "./ConsultationFilesTab"; @@ -44,6 +45,7 @@ import routes from "../../../Redux/api"; import request from "../../../Utils/request/request"; import { CameraFeedPermittedUserTypes } from "../../../Utils/permissions"; import Error404 from "../../ErrorPages/404"; +import { useTranslation } from "react-i18next"; const Loading = lazy(() => import("../../Common/Loading")); const PageTitle = lazy(() => import("../../Common/PageTitle")); @@ -75,6 +77,7 @@ const TABS = { export const ConsultationDetails = (props: any) => { const { facilityId, patientId, consultationId } = props; + const { t } = useTranslation(); let tab = undefined; if (Object.keys(TABS).includes(props.tab.toUpperCase())) { tab = props.tab.toUpperCase() as keyof typeof TABS; @@ -388,8 +391,8 @@ export const ConsultationDetails = (props: any) => { className="flex space-x-6 overflow-x-auto pb-2 pl-2" id="consultation_tab_nav" > - {CONSULTATION_TABS.map((p) => { - if (p.text === "FEED") { + {keysOf(TABS).map((p) => { + if (p === "FEED") { if ( isCameraAttached === false || // No camera attached consultationData?.discharge_date || // Discharged @@ -399,17 +402,17 @@ export const ConsultationDetails = (props: any) => { return null; // Hide feed tab } - if (p.text === "ABDM" && !abhaNumberData?.abha_number) { + if (p === "ABDM" && !abhaNumberData?.abha_number) { return null; } return ( - {p.desc} + {t(`CONSULTATION_TAB__${p}`)} ); })} diff --git a/src/Components/Facility/Consultations/ABGPlots.tsx b/src/Components/Facility/Consultations/ABGPlots.tsx index 7b1809730bf..10415920ceb 100644 --- a/src/Components/Facility/Consultations/ABGPlots.tsx +++ b/src/Components/Facility/Consultations/ABGPlots.tsx @@ -5,6 +5,7 @@ import { PAGINATION_LIMIT } from "../../../Common/constants"; import { formatDateTime } from "../../../Utils/utils"; import routes from "../../../Redux/api"; import request from "../../../Utils/request/request"; +import { ABGPlotsFields } from "../models"; export const ABGPlots = (props: any) => { const { consultationId } = props; @@ -15,20 +16,7 @@ export const ABGPlots = (props: any) => { useEffect(() => { const fetchDailyRounds = async (currentPage: number) => { const { res, data } = await request(routes.dailyRoundsAnalyse, { - body: { - page: currentPage, - fields: [ - "ph", - "pco2", - "po2", - "hco3", - "base_excess", - "lactate", - "sodium", - "potassium", - "ventilator_fio2", - ], - }, + body: { page: currentPage, fields: ABGPlotsFields }, pathParams: { consultationId, }, diff --git a/src/Components/Facility/Consultations/DailyRounds/DefaultLogUpdateCard.tsx b/src/Components/Facility/Consultations/DailyRounds/DefaultLogUpdateCard.tsx index 9096e66b69b..fa589c89710 100644 --- a/src/Components/Facility/Consultations/DailyRounds/DefaultLogUpdateCard.tsx +++ b/src/Components/Facility/Consultations/DailyRounds/DefaultLogUpdateCard.tsx @@ -4,16 +4,22 @@ import ButtonV2 from "../../../Common/components/ButtonV2"; import { DailyRoundsModel } from "../../../Patient/models"; import LogUpdateCardAttribute from "./LogUpdateCardAttribute"; import { ConsultationModel } from "../../models"; +import { useSlugs } from "../../../../Common/hooks/useSlug"; interface Props { round: DailyRoundsModel; consultationData: ConsultationModel; - onViewDetails: () => void; - onUpdateLog?: () => void; } const DefaultLogUpdateCard = ({ round, ...props }: Props) => { + const [facilityId, patientId, consultationId] = useSlugs( + "facility", + "patient", + "consultation", + ); const { t } = useTranslation(); + const consultationUrl = `/facility/${facilityId}/patient/${patientId}/consultation/${consultationId}`; + return (
    { > { ghost size="small" className="w-full" - onClick={props.onViewDetails} + href={ + ["NORMAL", "TELEMEDICINE", "DOCTORS_LOG"].includes( + round.rounds_type!, + ) + ? `${consultationUrl}/daily-rounds/${round.id}` + : `${consultationUrl}/daily_rounds/${round.id}` + } > {t("view_details")} @@ -55,7 +67,16 @@ const DefaultLogUpdateCard = ({ round, ...props }: Props) => { ghost size="small" className="w-full" - onClick={props.onUpdateLog} + href={ + [ + "NORMAL", + "TELEMEDICINE", + "DOCTORS_LOG", + "COMMUNITY_NURSES_LOG", + ].includes(round.rounds_type!) + ? `${consultationUrl}/daily-rounds/${round.id}/update` + : `${consultationUrl}/daily_rounds/${round.id}/update` + } > {t("update_log")} diff --git a/src/Components/Facility/Consultations/DailyRoundsList.tsx b/src/Components/Facility/Consultations/DailyRoundsList.tsx index ddf5b28fd8f..561a4f1a958 100644 --- a/src/Components/Facility/Consultations/DailyRoundsList.tsx +++ b/src/Components/Facility/Consultations/DailyRoundsList.tsx @@ -1,4 +1,3 @@ -import { navigate } from "raviger"; import { DailyRoundsModel } from "../../Patient/models"; import VirtualNursingAssistantLogUpdateCard from "./DailyRounds/VirtualNursingAssistantLogUpdateCard"; import DefaultLogUpdateCard from "./DailyRounds/DefaultLogUpdateCard"; @@ -24,8 +23,6 @@ export default function DailyRoundsList({ consultation }: Props) { const { t } = useTranslation(); const [query, setQuery] = useState(); - const consultationUrl = `/facility/${consultation.facility}/patient/${consultation.patient}/consultation/${consultation.id}`; - return ( navigate(itemUrl)} - onUpdateLog={() => navigate(`${itemUrl}/update`)} /> ); diff --git a/src/Components/Facility/Consultations/DialysisPlots.tsx b/src/Components/Facility/Consultations/DialysisPlots.tsx index 50bbf911208..54c2dab60b9 100644 --- a/src/Components/Facility/Consultations/DialysisPlots.tsx +++ b/src/Components/Facility/Consultations/DialysisPlots.tsx @@ -5,6 +5,7 @@ import { LinePlot } from "./components/LinePlot"; import Pagination from "../../Common/Pagination"; import { PAGINATION_LIMIT } from "../../../Common/constants"; import { formatDateTime } from "../../../Utils/utils"; +import { DialysisPlotsFields } from "../models"; export const DialysisPlots = (props: any) => { const { consultationId } = props; @@ -15,10 +16,7 @@ export const DialysisPlots = (props: any) => { useEffect(() => { const fetchDailyRounds = async (currentPage: number) => { const { res, data } = await request(routes.dailyRoundsAnalyse, { - body: { - page: currentPage, - fields: ["dialysis_fluid_balance", "dialysis_net_balance"], - }, + body: { page: currentPage, fields: DialysisPlotsFields }, pathParams: { consultationId, }, diff --git a/src/Components/Facility/Consultations/NeurologicalTables.tsx b/src/Components/Facility/Consultations/NeurologicalTables.tsx index 5a1abe3e189..6ee363e341f 100644 --- a/src/Components/Facility/Consultations/NeurologicalTables.tsx +++ b/src/Components/Facility/Consultations/NeurologicalTables.tsx @@ -15,6 +15,7 @@ import { } from "../../../Common/constants"; import { formatDateTime } from "../../../Utils/utils"; import { useTranslation } from "react-i18next"; +import { NeurologicalTablesFields } from "../models"; const DataTable = (props: any) => { const { title, data } = props; @@ -113,28 +114,7 @@ export const NeurologicalTable = (props: any) => { consultationId: string, ) => { const { res, data } = await request(routes.dailyRoundsAnalyse, { - body: { - page: currentPage, - fields: [ - "consciousness_level", - "left_pupil_size", - "left_pupil_size_detail", - "right_pupil_size", - "right_pupil_size_detail", - "left_pupil_light_reaction", - "left_pupil_light_reaction_detail", - "right_pupil_light_reaction", - "right_pupil_light_reaction_detail", - "limb_response_upper_extremity_right", - "limb_response_upper_extremity_left", - "limb_response_lower_extremity_left", - "limb_response_lower_extremity_right", - "glasgow_eye_open", - "glasgow_verbal_response", - "glasgow_motor_response", - "glasgow_total_calculated", - ], - }, + body: { page: currentPage, fields: NeurologicalTablesFields }, pathParams: { consultationId, }, diff --git a/src/Components/Facility/Consultations/NursingPlot.tsx b/src/Components/Facility/Consultations/NursingPlot.tsx index fcae4bb43db..c747ec60d26 100644 --- a/src/Components/Facility/Consultations/NursingPlot.tsx +++ b/src/Components/Facility/Consultations/NursingPlot.tsx @@ -9,6 +9,7 @@ import { import Pagination from "../../Common/Pagination"; import { formatDateTime } from "../../../Utils/utils"; import { useTranslation } from "react-i18next"; +import { NursingPlotFields } from "../models"; export const NursingPlot = ({ consultationId }: any) => { const { t } = useTranslation(); @@ -22,10 +23,7 @@ export const NursingPlot = ({ consultationId }: any) => { consultationId: string, ) => { const { res, data } = await request(routes.dailyRoundsAnalyse, { - body: { - page: currentPage, - fields: ["nursing"], - }, + body: { page: currentPage, fields: NursingPlotFields }, pathParams: { consultationId, }, @@ -81,7 +79,7 @@ export const NursingPlot = ({ consultationId }: any) => { {areFieldsEmpty() && (
    - No data available + {t("no_data_found")}
    )} diff --git a/src/Components/Facility/Consultations/NutritionPlots.tsx b/src/Components/Facility/Consultations/NutritionPlots.tsx index 835a1c2a28e..b489b257184 100644 --- a/src/Components/Facility/Consultations/NutritionPlots.tsx +++ b/src/Components/Facility/Consultations/NutritionPlots.tsx @@ -8,6 +8,7 @@ import Pagination from "../../Common/Pagination"; import { PAGINATION_LIMIT } from "../../../Common/constants"; import { formatDateTime } from "../../../Utils/utils"; import CareIcon from "../../../CAREUI/icons/CareIcon"; +import { NutritionPlotsFields } from "../models"; export const NutritionPlots = (props: any) => { const { consultationId } = props; @@ -24,17 +25,7 @@ export const NutritionPlots = (props: any) => { consultationId: string, ) => { const { res, data } = await request(routes.dailyRoundsAnalyse, { - body: { - page: currentPage, - fields: [ - "infusions", - "iv_fluids", - "feeds", - "total_intake_calculated", - "total_output_calculated", - "output", - ], - }, + body: { page: currentPage, fields: NutritionPlotsFields }, pathParams: { consultationId, }, diff --git a/src/Components/Facility/Consultations/PainDiagrams.tsx b/src/Components/Facility/Consultations/PainDiagrams.tsx index baf7308d03d..2b73fe978ad 100644 --- a/src/Components/Facility/Consultations/PainDiagrams.tsx +++ b/src/Components/Facility/Consultations/PainDiagrams.tsx @@ -3,6 +3,7 @@ import routes from "../../../Redux/api"; import request from "../../../Utils/request/request"; import { formatDateTime } from "../../../Utils/utils"; import PainChart from "../../LogUpdate/components/PainChart"; +import { PainDiagramsFields } from "../models"; export const PainDiagrams = (props: any) => { const { consultationId } = props; @@ -19,9 +20,7 @@ export const PainDiagrams = (props: any) => { const { res, data: dailyRound } = await request( routes.dailyRoundsAnalyse, { - body: { - fields: ["pain_scale_enhanced"], - }, + body: { fields: PainDiagramsFields }, pathParams: { consultationId, }, diff --git a/src/Components/Facility/Consultations/PressureSoreDiagrams.tsx b/src/Components/Facility/Consultations/PressureSoreDiagrams.tsx index a0d559a0eca..8113a81e99b 100644 --- a/src/Components/Facility/Consultations/PressureSoreDiagrams.tsx +++ b/src/Components/Facility/Consultations/PressureSoreDiagrams.tsx @@ -5,7 +5,7 @@ import Pagination from "../../Common/Pagination"; import { PAGINATION_LIMIT } from "../../../Common/constants"; import { formatDateTime } from "../../../Utils/utils"; -import { PressureSoreDiagramsRes } from "../models"; +import { PressureSoreDiagramsFields, PressureSoreDiagramsRes } from "../models"; import PressureSore from "../../LogUpdate/Sections/PressureSore/PressureSore"; export const PressureSoreDiagrams = (props: any) => { @@ -28,10 +28,7 @@ export const PressureSoreDiagrams = (props: any) => { const { res, data: dailyRounds } = await request( routes.dailyRoundsAnalyse, { - body: { - page: currentPage, - fields: ["pressure_sore"], - }, + body: { page: currentPage, fields: PressureSoreDiagramsFields }, pathParams: { consultationId, }, diff --git a/src/Components/Facility/Consultations/PrimaryParametersPlot.tsx b/src/Components/Facility/Consultations/PrimaryParametersPlot.tsx index ca01ac1b113..0fb0844c576 100644 --- a/src/Components/Facility/Consultations/PrimaryParametersPlot.tsx +++ b/src/Components/Facility/Consultations/PrimaryParametersPlot.tsx @@ -10,6 +10,7 @@ import CareIcon from "../../../CAREUI/icons/CareIcon"; import { PainDiagrams } from "./PainDiagrams"; import PageTitle from "../../Common/PageTitle"; import dayjs from "../../../Utils/dayjs"; +import { PrimaryParametersPlotFields } from "../models"; interface PrimaryParametersPlotProps { facilityId: string; @@ -43,19 +44,7 @@ export const PrimaryParametersPlot = ({ const { res, data } = await request(routes.dailyRoundsAnalyse, { body: { page: currentPage, - fields: [ - "bp", - "pulse", - "temperature", - "resp", - "blood_sugar_level", - "insulin_intake_frequency", - "insulin_intake_dose", - "ventilator_spo2", - "ventilator_fio2", - "rhythm", - "rhythm_detail", - ], + fields: PrimaryParametersPlotFields, }, pathParams: { consultationId, diff --git a/src/Components/Facility/Consultations/VentilatorPlot.tsx b/src/Components/Facility/Consultations/VentilatorPlot.tsx index aa07b639f88..778f274918c 100644 --- a/src/Components/Facility/Consultations/VentilatorPlot.tsx +++ b/src/Components/Facility/Consultations/VentilatorPlot.tsx @@ -6,6 +6,7 @@ import Pagination from "../../Common/Pagination"; import { PAGINATION_LIMIT } from "../../../Common/constants"; import { formatDateTime } from "../../../Utils/utils"; import BinaryChronologicalChart from "./components/BinaryChronologicalChart"; +import { VentilatorPlotFields } from "../models"; /* interface ModalityType { @@ -39,23 +40,7 @@ export const VentilatorPlot = (props: any) => { consultationId: string, ) => { const { res, data } = await request(routes.dailyRoundsAnalyse, { - body: { - page: currentPage, - fields: [ - "ventilator_pip", - "ventilator_mean_airway_pressure", - "ventilator_resp_rate", - "ventilator_pressure_support", - "ventilator_tidal_volume", - "ventilator_peep", - "ventilator_fio2", - "ventilator_spo2", - "etco2", - "bilateral_air_entry", - "ventilator_oxygen_modality_oxygen_rate", - "ventilator_oxygen_modality_flow_rate", - ], - }, + body: { page: currentPage, fields: VentilatorPlotFields }, pathParams: { consultationId, }, diff --git a/src/Components/Facility/models.tsx b/src/Components/Facility/models.tsx index 3f060240ee7..92a55ae6ae7 100644 --- a/src/Components/Facility/models.tsx +++ b/src/Components/Facility/models.tsx @@ -282,16 +282,17 @@ export type ICD11DiagnosisModel = { label: string; }; -export type ABGPlotsFields = - | "ph" - | "pco2" - | "po2" - | "hco3" - | "base_excess" - | "lactate" - | "sodium" - | "potassium" - | "ventilator_fio2"; +export const ABGPlotsFields = [ + "ph", + "pco2", + "po2", + "hco3", + "base_excess", + "lactate", + "sodium", + "potassium", + "ventilator_fio2", +] as const satisfies (keyof DailyRoundsModel)[]; export type ABGPlotsRes = { ph: string; @@ -305,33 +306,35 @@ export type ABGPlotsRes = { ventilator_fio2: number; }; -export type DialysisPlotsFields = - | "dialysis_fluid_balance" - | "dialysis_net_balance"; +export const DialysisPlotsFields = [ + "dialysis_fluid_balance", + "dialysis_net_balance", +] as const satisfies (keyof DailyRoundsModel)[]; export type DialysisPlotsRes = { dialysis_fluid_balance: number; dialysis_net_balance: number; }; -export type NeurologicalTablesFields = - | "consciousness_level" - | "left_pupil_size" - | "left_pupil_size_detail" - | "right_pupil_size" - | "right_pupil_size_detail" - | "left_pupil_light_reaction" - | "left_pupil_light_reaction_detail" - | "right_pupil_light_reaction" - | "right_pupil_light_reaction_detail" - | "limb_response_upper_extremity_right" - | "limb_response_upper_extremity_left" - | "limb_response_lower_extremity_left" - | "limb_response_lower_extremity_right" - | "glasgow_eye_open" - | "glasgow_verbal_response" - | "glasgow_motor_response" - | "glasgow_total_calculated"; +export const NeurologicalTablesFields = [ + "consciousness_level", + "left_pupil_size", + "left_pupil_size_detail", + "right_pupil_size", + "right_pupil_size_detail", + "left_pupil_light_reaction", + "left_pupil_light_reaction_detail", + "right_pupil_light_reaction", + "right_pupil_light_reaction_detail", + "limb_response_upper_extremity_right", + "limb_response_upper_extremity_left", + "limb_response_lower_extremity_left", + "limb_response_lower_extremity_right", + "glasgow_eye_open", + "glasgow_verbal_response", + "glasgow_motor_response", + "glasgow_total_calculated", +] as const satisfies (keyof DailyRoundsModel)[]; export type NeurologicalTablesRes = { consciousness_level: number; @@ -353,19 +356,36 @@ export type NeurologicalTablesRes = { glasgow_total_calculated: number; }; -export type NursingPlotFields = "nursing"; +export const NursingPlotFields = [ + "nursing", +] as const satisfies (keyof DailyRoundsModel)[]; export type NursingPlotRes = { nursing: any[]; }; -export type NutritionPlotsFields = - | "infusions" - | "iv_fluids" - | "feeds" - | "total_intake_calculated" - | "total_output_calculated" - | "output"; +export const RoutineFields = [ + "sleep", + "bowel_issue", + "bladder_drainage", + "bladder_issue", + "is_experiencing_dysuria", + "urination_frequency", + "nutrition_route", + "oral_issue", + "appetite", +] as const satisfies (keyof DailyRoundsModel)[]; + +export type RoutineAnalysisRes = Record<(typeof RoutineFields)[number], any>; + +export const NutritionPlotsFields = [ + "infusions", + "iv_fluids", + "feeds", + "total_intake_calculated", + "total_output_calculated", + "output", +] as const satisfies (keyof DailyRoundsModel)[]; export type NutritionPlotsRes = { infusions: any[]; @@ -376,30 +396,35 @@ export type NutritionPlotsRes = { output: any[]; }; -export type PainDiagramsFields = "pain_scale_enhanced"; +export const PainDiagramsFields = [ + "pain_scale_enhanced", +] as const satisfies (keyof DailyRoundsModel)[]; export type PainDiagramsRes = { pain_scale_enhanced: any[]; }; -export type PressureSoreDiagramsFields = "pressure_sore"; +export const PressureSoreDiagramsFields = [ + "pressure_sore", +] as const satisfies (keyof DailyRoundsModel)[]; export type PressureSoreDiagramsRes = { pressure_sore: any[]; }; -export type PrimaryParametersPlotFields = - | "bp" - | "pulse" - | "temperature" - | "resp" - | "blood_sugar_level" - | "insulin_intake_frequency" - | "insulin_intake_dose" - | "ventilator_spo2" - | "ventilator_fio2" - | "rhythm" - | "rhythm_detail"; +export const PrimaryParametersPlotFields = [ + "bp", + "pulse", + "temperature", + "resp", + "blood_sugar_level", + "insulin_intake_frequency", + "insulin_intake_dose", + "ventilator_spo2", + "ventilator_fio2", + "rhythm", + "rhythm_detail", +] as const satisfies (keyof DailyRoundsModel)[]; export type PrimaryParametersPlotRes = { bp: { @@ -419,19 +444,20 @@ export type PrimaryParametersPlotRes = { rhythm_detail: string; }; -export type VentilatorPlotFields = - | "ventilator_pip" - | "ventilator_mean_airway_pressure" - | "ventilator_resp_rate" - | "ventilator_pressure_support" - | "ventilator_tidal_volume" - | "ventilator_peep" - | "ventilator_fio2" - | "ventilator_spo2" - | "etco2" - | "bilateral_air_entry" - | "ventilator_oxygen_modality_oxygen_rate" - | "ventilator_oxygen_modality_flow_rate"; +export const VentilatorPlotFields = [ + "ventilator_pip", + "ventilator_mean_airway_pressure", + "ventilator_resp_rate", + "ventilator_pressure_support", + "ventilator_tidal_volume", + "ventilator_peep", + "ventilator_fio2", + "ventilator_spo2", + "etco2", + "bilateral_air_entry", + "ventilator_oxygen_modality_oxygen_rate", + "ventilator_oxygen_modality_flow_rate", +] as const satisfies (keyof DailyRoundsModel)[]; export type VentilatorPlotRes = { ventilator_pip: number; @@ -451,15 +477,16 @@ export type VentilatorPlotRes = { export interface DailyRoundsBody { page?: number; fields: - | ABGPlotsFields[] - | DialysisPlotsFields[] - | NeurologicalTablesFields[] - | NursingPlotFields[] - | NutritionPlotsFields[] - | PainDiagramsFields[] - | PressureSoreDiagramsFields[] - | PrimaryParametersPlotFields[] - | VentilatorPlotFields[]; + | typeof ABGPlotsFields + | typeof DialysisPlotsFields + | typeof NeurologicalTablesFields + | typeof NursingPlotFields + | typeof RoutineFields + | typeof NutritionPlotsFields + | typeof PainDiagramsFields + | typeof PressureSoreDiagramsFields + | typeof PrimaryParametersPlotFields + | typeof VentilatorPlotFields; } export interface DailyRoundsRes { @@ -472,6 +499,7 @@ export interface DailyRoundsRes { | DialysisPlotsRes | NeurologicalTablesRes | NursingPlotRes + | RoutineAnalysisRes | NutritionPlotsRes | PainDiagramsRes | PrimaryParametersPlotRes diff --git a/src/Components/Form/FormFields/SelectFormField.tsx b/src/Components/Form/FormFields/SelectFormField.tsx index 75c9c5741f9..9607e26bbdf 100644 --- a/src/Components/Form/FormFields/SelectFormField.tsx +++ b/src/Components/Form/FormFields/SelectFormField.tsx @@ -46,7 +46,7 @@ export const SelectFormField = (props: SelectFormFieldProps) => { type MultiSelectFormFieldProps = FormFieldBaseProps & { placeholder?: React.ReactNode; - options: T[]; + options: readonly T[]; optionLabel: OptionCallback; optionSelectedLabel?: OptionCallback; optionDescription?: OptionCallback; diff --git a/src/Components/Form/MultiSelectMenuV2.tsx b/src/Components/Form/MultiSelectMenuV2.tsx index d3a46cdb1f9..2cf47584dda 100644 --- a/src/Components/Form/MultiSelectMenuV2.tsx +++ b/src/Components/Form/MultiSelectMenuV2.tsx @@ -14,7 +14,7 @@ type OptionCallback = (option: T) => R; type Props = { id?: string; - options: T[]; + options: readonly T[]; value: V[] | undefined; placeholder?: ReactNode; optionLabel: OptionCallback; diff --git a/src/Components/LogUpdate/CriticalCarePreview.tsx b/src/Components/LogUpdate/CriticalCarePreview.tsx index 61f4f2a3567..838887decf9 100644 --- a/src/Components/LogUpdate/CriticalCarePreview.tsx +++ b/src/Components/LogUpdate/CriticalCarePreview.tsx @@ -4,7 +4,7 @@ import useQuery from "../../Utils/request/useQuery"; import ButtonV2 from "../Common/components/ButtonV2"; import Loading from "../Common/Loading"; import Card from "../../CAREUI/display/Card"; -import React from "react"; +import React, { useEffect } from "react"; import { ABGAnalysisFields } from "./Sections/ABGAnalysis"; import { classNames, @@ -16,6 +16,7 @@ import { VentilatorFields } from "./Sections/RespiratorySupport/Ventilator"; import PressureSore from "./Sections/PressureSore/PressureSore"; import { IOBalanceSections } from "./Sections/IOBalance"; import PainChart from "./components/PainChart"; +import { DailyRoundsModel } from "../Patient/models"; type Props = { facilityId: string; @@ -55,10 +56,15 @@ export default function CriticalCarePreview(props: Props) {
    -

    Consultation Updates

    +

    + Consultation Updates +
    + {t(`ROUNDS_TYPE__${data.rounds_type}`)} +
    +

    - {/* */} +
    +
    + + +
    + + + + +
    +
    + + + +
    +
    +
    -
    - {(["left", "right"] as const).map((dir) => ( -
    -
    {dir} Pupil
    - - {data[`${dir}_pupil_size`] === 0 && ( + {(data.left_pupil_light_reaction || + data.left_pupil_light_reaction_detail || + data.left_pupil_size || + data.left_pupil_size_detail || + data.right_pupil_light_reaction || + data.right_pupil_light_reaction_detail || + data.right_pupil_size || + data.right_pupil_size_detail) && ( +
    + {(["left", "right"] as const).map((dir) => ( +
    +
    {dir} Pupil
    - )} - )} - /> - -
    - ))} -
    + + +
    + ))} +
    + )}
    -
    +
    {data.bp && (
    Blood Pressure
    @@ -270,21 +307,30 @@ export default function CriticalCarePreview(props: Props) { ]} /> -

    Pain Scale

    - + {!!data.pain_scale_enhanced?.length && ( + <> +

    Pain Scale

    + + + )}
    {!!IOBalanceSections.flatMap((s) => s.fields.flatMap((f) => data[f.key] ?? []), ).length && ( -
    +
    + s.fields.map((f) => f.key), + ).some((field) => data[field]?.length)} + >
    {IOBalanceSections.map(({ name, fields }) => (
    @@ -351,7 +397,7 @@ export default function CriticalCarePreview(props: Props) {
  • ))} @@ -359,7 +405,10 @@ export default function CriticalCarePreview(props: Props) {
    )} -
    +
    { +type SectionContextType = { + hasValue: () => void; +}; + +const sectionContext = React.createContext(null); + +const Section = (props: { + title: string; + children: React.ReactNode; + subSection?: boolean; + show?: boolean; +}) => { + const parentContext = React.useContext(sectionContext); + const [hasValue, setHasValue] = React.useState(props.show ?? false); + + useEffect(() => { + if (parentContext && hasValue) { + parentContext.hasValue(); + } + }, [parentContext, hasValue]); + return ( -
    setHasValue(true), + }} > -

    {props.title}

    - {props.children} -
    +
    + {props.subSection ? ( +
    {props.title}
    + ) : ( +

    {props.title}

    + )} + {props.children} +
    + ); }; const Detail = (props: { label: React.ReactNode; - value?: string | number | boolean; + value?: string | number | boolean | null; suffix?: React.ReactNode; }) => { + const context = React.useContext(sectionContext); + let value = props.value; - value = value === "" ? undefined : value; + value = value === "" ? null : value; value = value === true ? "Yes" : value; value = value === false ? "No" : value; + React.useEffect(() => { + if (context && value != null) { + context.hasValue(); + } + }, [context, value]); + + if (value == null) { + // Skip showing detail if attribute not filled. + return null; + } + value = typeof value === "string" ? parseFloat(value) || value : value; value = typeof value === "number" ? properRoundOf(value) : value; @@ -516,6 +611,25 @@ const Detail = (props: { ); }; +const ChoiceDetail = (props: { + name: keyof DailyRoundsModel; + data: DailyRoundsModel; +}) => { + const { t } = useTranslation(); + const value = props.data[props.name]; + + if (value == null) { + return; + } + + return ( + + ); +}; + const RangeDetail = (props: { label: React.ReactNode; value?: number; diff --git a/src/Components/LogUpdate/Sections/NursingCare.tsx b/src/Components/LogUpdate/Sections/NursingCare.tsx index ffb4a445125..48037d6c842 100644 --- a/src/Components/LogUpdate/Sections/NursingCare.tsx +++ b/src/Components/LogUpdate/Sections/NursingCare.tsx @@ -1,9 +1,8 @@ import { useTranslation } from "react-i18next"; import { NURSING_CARE_PROCEDURES } from "../../../Common/constants"; -import { classNames } from "../../../Utils/utils"; -import CheckBoxFormField from "../../Form/FormFields/CheckBoxFormField"; -import TextAreaFormField from "../../Form/FormFields/TextAreaFormField"; import { LogUpdateSectionMeta, LogUpdateSectionProps } from "../utils"; +import { MultiSelectFormField } from "../../Form/FormFields/SelectFormField"; +import AutoExpandingTextInputFormField from "../../Form/FormFields/AutoExpandingTextInputFormField"; const NursingCare = ({ log, onChange }: LogUpdateSectionProps) => { const { t } = useTranslation(); @@ -11,59 +10,58 @@ const NursingCare = ({ log, onChange }: LogUpdateSectionProps) => { return (
    - {NURSING_CARE_PROCEDURES.map((procedure, i) => { - const obj = nursing.find((n) => n.procedure === procedure); - - return ( -
    -
    - { - if (e.value) { - onChange({ - nursing: [...nursing, { procedure, description: "" }], - }); - } else { - onChange({ - nursing: nursing.filter((n) => n.procedure !== procedure), - }); - } - }} - errorClassName="hidden" - /> -
    - {obj && ( -
    - - onChange({ - nursing: nursing.map((n) => - n.procedure === procedure - ? { ...n, description: val.value } - : n, - ), - }) - } - placeholder="Description" - errorClassName="hidden" - /> -
    - )} -
    - ); - })} + p.procedure)} + onChange={({ value }) => { + onChange({ + nursing: value.map((procedure) => ({ + procedure, + description: + nursing.find((p) => p.procedure === procedure)?.description ?? + "", + })), + }); + }} + options={NURSING_CARE_PROCEDURES} + optionLabel={(procedure) => t(`NURSING_CARE_PROCEDURE__${procedure}`)} + optionValue={(o) => o} + errorClassName="hidden" + /> + {!!nursing.length && ( + + + {nursing.map((obj) => ( + + + + + ))} + +
    + {t(`NURSING_CARE_PROCEDURE__${obj.procedure}`)} + + + onChange({ + nursing: nursing.map((n) => + n.procedure === obj.procedure + ? { ...n, description: val.value } + : n, + ), + }) + } + rows={1} + maxHeight={160} + placeholder={t("add_remarks")} + errorClassName="hidden" + /> +
    + )}
    ); }; diff --git a/src/Components/LogUpdate/Sections/Vitals.tsx b/src/Components/LogUpdate/Sections/Vitals.tsx index 8592f004370..0561debc88c 100644 --- a/src/Components/LogUpdate/Sections/Vitals.tsx +++ b/src/Components/LogUpdate/Sections/Vitals.tsx @@ -59,8 +59,8 @@ const Vitals = ({ log, onChange }: LogUpdateSectionProps) => { />
    onChange({ ventilator_spo2: c.value })} value={log.ventilator_spo2} min={0} @@ -70,7 +70,7 @@ const Vitals = ({ log, onChange }: LogUpdateSectionProps) => { valueDescriptions={rangeValueDescription({ low: 89 })} /> onChange({ temperature: c.value })} value={log.temperature} @@ -88,7 +88,7 @@ const Vitals = ({ log, onChange }: LogUpdateSectionProps) => { ]} /> onChange({ resp: c.value })} value={log.resp} @@ -111,7 +111,7 @@ const Vitals = ({ log, onChange }: LogUpdateSectionProps) => { />
    onChange({ pulse: c.value })} value={log.pulse} @@ -137,7 +137,7 @@ const Vitals = ({ log, onChange }: LogUpdateSectionProps) => { ]} /> t(`HEARTBEAT_RHYTHM__${c}`)} @@ -146,7 +146,7 @@ const Vitals = ({ log, onChange }: LogUpdateSectionProps) => { onChange={(c) => onChange({ rhythm: c.value ?? undefined })} /> onChange({ rhythm_detail: c.value })} diff --git a/src/Components/LogUpdate/Sections/index.tsx b/src/Components/LogUpdate/Sections/index.tsx index bccc0578095..97328f74c92 100644 --- a/src/Components/LogUpdate/Sections/index.tsx +++ b/src/Components/LogUpdate/Sections/index.tsx @@ -44,6 +44,7 @@ export const RoundTypeSections = { "NursingCare", ], DOCTORS_LOG: ["NeurologicalMonitoring", "RespiratorySupport"], + COMMUNITY_NURSES_LOG: [], } as const satisfies Record< (typeof DailyRoundTypes)[number], (keyof typeof LogUpdateSections)[] diff --git a/src/Components/Patient/DailyRounds.tsx b/src/Components/Patient/DailyRounds.tsx index 7335e5c6983..f949bd9e404 100644 --- a/src/Components/Patient/DailyRounds.tsx +++ b/src/Components/Patient/DailyRounds.tsx @@ -3,11 +3,19 @@ import { navigate } from "raviger"; import dayjs from "dayjs"; import { lazy, useCallback, useEffect, useState } from "react"; import { + APPETITE_CHOICES, + BLADDER_DRAINAGE_CHOICES, + BLADDER_ISSUE_CHOICES, + BOWEL_ISSUE_CHOICES, CONSCIOUSNESS_LEVEL, + NUTRITION_ROUTE_CHOICES, + ORAL_ISSUE_CHOICES, PATIENT_CATEGORIES, REVIEW_AT_CHOICES, RHYTHM_CHOICES, + SLEEP_CHOICES, TELEMEDICINE_ACTIONS, + URINATION_FREQUENCY_CHOICES, } from "../../Common/constants"; import useAppHistory from "../../Common/hooks/useAppHistory"; import { DraftSection, useAutoSaveReducer } from "../../Utils/AutoSave"; @@ -30,7 +38,7 @@ import request from "../../Utils/request/request"; import routes from "../../Redux/api"; import { Scribe } from "../Scribe/Scribe"; import { SCRIBE_FORMS } from "../Scribe/formDetails"; -import { DailyRoundsModel } from "./models"; +import { DailyRoundsModel, DailyRoundTypes } from "./models"; import InvestigationBuilder from "../Common/prescription-builder/InvestigationBuilder"; import { FieldErrorText } from "../Form/FormFields/FormField"; import { error } from "@pnotify/core"; @@ -48,6 +56,7 @@ import CheckBoxFormField from "../Form/FormFields/CheckBoxFormField"; import SymptomsApi from "../Symptoms/api"; import { scrollTo } from "../../Utils/utils"; import { ICD11DiagnosisModel } from "../Facility/models"; +import NursingCare from "../LogUpdate/Sections/NursingCare"; const Loading = lazy(() => import("../Common/Loading")); @@ -281,6 +290,16 @@ export const DailyRounds = (props: any) => { } return; } + + case "oral_issue": { + if (state.form.nutrition_route !== "ORAL" && state.form[field]) { + errors[field] = t("oral_issue_for_non_oral_nutrition_route_error"); + invalidForm = true; + break; + } + return; + } + default: return; } @@ -329,7 +348,7 @@ export const DailyRounds = (props: any) => { review_interval: Number(prevReviewInterval), }; - if (!["VENTILATOR"].includes(state.form.rounds_type)) { + if (state.form.rounds_type !== "VENTILATOR") { data = { ...data, bp: state.form.bp ?? {}, @@ -340,6 +359,17 @@ export const DailyRounds = (props: any) => { rhythm_detail: state.form.rhythm_detail, ventilator_spo2: state.form.ventilator_spo2 ?? null, consciousness_level: state.form.consciousness_level || undefined, + bowel_issue: state.form.bowel_issue ?? undefined, + bladder_drainage: state.form.bladder_drainage ?? undefined, + bladder_issue: state.form.bladder_issue ?? undefined, + is_experiencing_dysuria: state.form.is_experiencing_dysuria, + urination_frequency: state.form.urination_frequency ?? undefined, + sleep: state.form.sleep ?? undefined, + nutrition_route: state.form.nutrition_route ?? undefined, + oral_issue: state.form.oral_issue ?? undefined, + appetite: state.form.appetite ?? undefined, + blood_sugar_level: state.form.blood_sugar_level, + nursing: state.form.nursing, }; } @@ -354,9 +384,15 @@ export const DailyRounds = (props: any) => { if (obj) { dispatch({ type: "set_form", form: initForm }); Notification.Success({ - msg: `${t(obj.rounds_type as string)} log updated successfully`, + msg: t("LOG_UPDATE_UPDATED_NOTIFICATION", { + roundType: t(`ROUNDS_TYPE__${state.form.rounds_type}`), + }), }); - if (["NORMAL", "TELEMEDICINE"].includes(state.form.rounds_type)) { + if ( + ["NORMAL", "TELEMEDICINE", "COMMUNITY_NURSES_LOG"].includes( + state.form.rounds_type, + ) + ) { navigate( `/facility/${facilityId}/patient/${patientId}/consultation/${consultationId}`, ); @@ -375,10 +411,16 @@ export const DailyRounds = (props: any) => { if (obj) { dispatch({ type: "set_form", form: initForm }); Notification.Success({ - msg: `${t(state.form.rounds_type)} log created successfully`, + msg: t("LOG_UPDATE_CREATED_NOTIFICATION", { + roundType: t(`ROUNDS_TYPE__${state.form.rounds_type}`), + }), }); - if (["NORMAL", "TELEMEDICINE"].includes(state.form.rounds_type)) { + if ( + ["NORMAL", "TELEMEDICINE", "COMMUNITY_NURSES_LOG"].includes( + state.form.rounds_type, + ) + ) { navigate( `/facility/${facilityId}/patient/${patientId}/consultation/${consultationId}`, ); @@ -408,6 +450,7 @@ export const DailyRounds = (props: any) => { const field = (name: string) => { return { id: name, + label: t(`LOG_UPDATE_FIELD_LABEL__${name}`), name, value: state.form[name], error: state.errors[name], @@ -415,6 +458,18 @@ export const DailyRounds = (props: any) => { }; }; + const selectField = ( + name: keyof DailyRoundsModel, + options: readonly T[], + ) => { + return { + ...field(name), + options, + optionLabel: (option: T) => t(`${name.toUpperCase()}__${option}`), + optionValue: (option: T) => option, + }; + }; + const getExpectedReviewTime = () => { const nextReviewTime = Number( state.form.review_interval || prevReviewInterval, @@ -428,30 +483,30 @@ export const DailyRounds = (props: any) => { return ; } - const roundTypes: { id: string; text: string }[] = []; + const roundTypes: (typeof DailyRoundTypes)[number][] = []; if ( ["Doctor", "Staff", "DistrictAdmin", "StateAdmin"].includes( authUser.user_type, ) ) { - roundTypes.push({ id: "DOCTORS_LOG", text: t("DOCTORS_LOG") }); + roundTypes.push("DOCTORS_LOG"); } - - roundTypes.push( - { id: "NORMAL", text: t("NORMAL") }, - { id: "VENTILATOR", text: t("VENTILATOR") }, - ); - + roundTypes.push("NORMAL", "COMMUNITY_NURSES_LOG", "VENTILATOR"); if (consultationSuggestion === "DC") { - roundTypes.push({ id: "TELEMEDICINE", text: t("TELEMEDICINE") }); + roundTypes.push("TELEMEDICINE"); } + const submitButtonDisabled = (() => { if (buttonText !== "Save") { return false; } - if (["VENTILATOR", "DOCTORS_LOG"].includes(state.form.rounds_type)) { + if ( + ["VENTILATOR", "DOCTORS_LOG", "COMMUNITY_NURSES_LOG"].includes( + state.form.rounds_type, + ) + ) { return false; } @@ -539,7 +594,7 @@ export const DailyRounds = (props: any) => { "additional_symptoms", ].includes(f), ) && - roundTypes.some((t) => t.id === "DOCTORS_LOG") + roundTypes.some((t) => t === "DOCTORS_LOG") ) { rounds_type = "DOCTORS_LOG"; } @@ -577,20 +632,15 @@ export const DailyRounds = (props: any) => {
    option.text} - optionValue={(option) => option.id} />
    @@ -610,63 +660,67 @@ export const DailyRounds = (props: any) => { />
    - - + + - {state.form.rounds_type !== "DOCTORS_LOG" && ( + {state.form.rounds_type === "COMMUNITY_NURSES_LOG" && ( <> +
    +

    {t("routine")}

    + option.desc} - optionValue={(option) => option.text} - value={prevAction} - onChange={(event) => { - handleFormFieldChange(event); - setPreviousAction(event.value); - }} - /> - - option.text} - optionValue={(option) => option.id} - value={prevReviewInterval} - onChange={(event) => { - handleFormFieldChange(event); - setPreviousReviewInterval(Number(event.value)); - }} + {...selectField("bowel_issue", BOWEL_ISSUE_CHOICES)} /> +
    +
    {t("bladder")}
    + + + t(c ? "yes" : "no")} + /> + +
    +
    +
    {t("nutrition")}
    + + + +
    )} - {["NORMAL", "TELEMEDICINE", "DOCTORS_LOG"].includes( - state.form.rounds_type, - ) && ( + {[ + "NORMAL", + "TELEMEDICINE", + "DOCTORS_LOG", + "COMMUNITY_NURSES_LOG", + ].includes(state.form.rounds_type) && ( <> -

    Vitals

    +
    +

    {t("vitals")}

    - + { }, ]} /> + + )} - + + + )} + + {["NORMAL", "TELEMEDICINE", "DOCTORS_LOG"].includes( + state.form.rounds_type, + ) && ( + <> + { { option.desc} optionValue={(option) => option.id} @@ -759,13 +842,14 @@ export const DailyRounds = (props: any) => { a.value), + )} options={CONSCIOUSNESS_LEVEL.map((level) => ({ label: t(`CONSCIOUSNESS_LEVEL__${level.value}`), value: level.value, @@ -778,6 +862,45 @@ export const DailyRounds = (props: any) => { )} + {state.form.rounds_type === "COMMUNITY_NURSES_LOG" && ( +
    +
    +
    +

    + {t("prescription_medications")} +

    + + setShowDiscontinuedPrescriptions(value) + } + errorClassName="hidden" + /> +
    + +
    + )} + + {state.form.rounds_type === "COMMUNITY_NURSES_LOG" && ( +
    +
    +
    +

    {t("nursing_care")}

    +
    + + handleFormFieldChange({ name: "nursing", value: log.nursing }) + } + /> +
    + )} + {state.form.rounds_type === "DOCTORS_LOG" && ( <>
    @@ -860,6 +983,36 @@ export const DailyRounds = (props: any) => {
    )} + + {state.form.rounds_type !== "DOCTORS_LOG" && ( + <> +
    + option.desc} + optionValue={(option) => option.text} + value={prevAction} + onChange={(event) => { + handleFormFieldChange(event); + setPreviousAction(event.value); + }} + /> + + option.text} + optionValue={(option) => option.id} + value={prevReviewInterval} + onChange={(event) => { + handleFormFieldChange(event); + setPreviousReviewInterval(Number(event.value)); + }} + /> + + )}
    diff --git a/src/Components/Patient/models.tsx b/src/Components/Patient/models.tsx index 343c80a60bf..8002a86442f 100644 --- a/src/Components/Patient/models.tsx +++ b/src/Components/Patient/models.tsx @@ -1,18 +1,26 @@ import { ConsultationModel, PatientCategory } from "../Facility/models"; import { PerformedByModel } from "../HCX/misc"; import { + APPETITE_CHOICES, + BLADDER_DRAINAGE_CHOICES, + BLADDER_ISSUE_CHOICES, + BOWEL_ISSUE_CHOICES, CONSCIOUSNESS_LEVEL, HEARTBEAT_RHYTHM_CHOICES, HumanBodyRegion, INSULIN_INTAKE_FREQUENCY_OPTIONS, LIMB_RESPONSE_OPTIONS, NURSING_CARE_PROCEDURES, + NUTRITION_ROUTE_CHOICES, OCCUPATION_TYPES, + ORAL_ISSUE_CHOICES, OXYGEN_MODALITY_OPTIONS, PressureSoreExudateAmountOptions, PressureSoreTissueTypeOptions, RATION_CARD_CATEGORY, RESPIRATORY_SUPPORT, + SLEEP_CHOICES, + URINATION_FREQUENCY_CHOICES, VENTILATOR_MODE_OPTIONS, } from "../../Common/constants"; @@ -257,6 +265,7 @@ export interface SampleListModel { export const DailyRoundTypes = [ "NORMAL", + "COMMUNITY_NURSES_LOG", "DOCTORS_LOG", "VENTILATOR", "AUTOMATED", @@ -355,6 +364,8 @@ export interface DailyRoundsModel { infusions?: NameQuantity[]; iv_fluids?: NameQuantity[]; output?: NameQuantity[]; + total_intake_calculated?: number; + total_output_calculated?: number; ventilator_spo2?: number; ventilator_interface?: (typeof RESPIRATORY_SUPPORT)[number]["value"]; ventilator_oxygen_modality?: (typeof OXYGEN_MODALITY_OPTIONS)[number]["value"]; @@ -370,6 +381,15 @@ export interface DailyRoundsModel { ventilator_tidal_volume?: number; pressure_sore?: IPressureSore[]; + bowel_issue?: (typeof BOWEL_ISSUE_CHOICES)[number]; + bladder_drainage?: (typeof BLADDER_DRAINAGE_CHOICES)[number]; + bladder_issue?: (typeof BLADDER_ISSUE_CHOICES)[number]; + is_experiencing_dysuria?: boolean; + urination_frequency?: (typeof URINATION_FREQUENCY_CHOICES)[number]; + sleep?: (typeof SLEEP_CHOICES)[number]; + nutrition_route?: (typeof NUTRITION_ROUTE_CHOICES)[number]; + oral_issue?: (typeof ORAL_ISSUE_CHOICES)[number]; + appetite?: (typeof APPETITE_CHOICES)[number]; } export interface FacilityNameModel { diff --git a/src/Locale/en/Common.json b/src/Locale/en/Common.json index 432d5979bed..b0316e4d98c 100644 --- a/src/Locale/en/Common.json +++ b/src/Locale/en/Common.json @@ -166,6 +166,8 @@ "not_specified": "Not Specified", "all_changes_have_been_saved": "All changes have been saved", "no_data_found": "No data found", + "other_details": "Other details", + "no_remarks": "No remarks", "edit": "Edit", "clear_selection": "Clear selection", "select_date": "Select date", @@ -203,6 +205,6 @@ "deleted_successfully": "{{name}} deleted successfully", "delete_item": "Delete {{name}}", "unsupported_browser": "Unsupported Browser", - "unsupported_browser_description": "Your browser ({{name}} version {{version}}) is not supported. Please update your browser to the latest version or switch to a supported browser for the best experience." - + "unsupported_browser_description": "Your browser ({{name}} version {{version}}) is not supported. Please update your browser to the latest version or switch to a supported browser for the best experience.", + "add_remarks": "Add remarks" } \ No newline at end of file diff --git a/src/Locale/en/Consultation.json b/src/Locale/en/Consultation.json index 3d101bcb2bd..d12a6cb16ac 100644 --- a/src/Locale/en/Consultation.json +++ b/src/Locale/en/Consultation.json @@ -1,4 +1,19 @@ { + "CONSULTATION_TAB__UPDATES": "Overview", + "CONSULTATION_TAB__FEED": "Feed", + "CONSULTATION_TAB__SUMMARY": "Vitals", + "CONSULTATION_TAB__ABG": "ABG", + "CONSULTATION_TAB__MEDICINES": "Medicines", + "CONSULTATION_TAB__FILES": "Files", + "CONSULTATION_TAB__INVESTIGATIONS": "Investigations", + "CONSULTATION_TAB__NEUROLOGICAL_MONITORING": "Neuro", + "CONSULTATION_TAB__VENTILATOR": "Ventilation", + "CONSULTATION_TAB__NUTRITION": "Nutrition", + "CONSULTATION_TAB__PRESSURE_SORE": "Pressure Sore", + "CONSULTATION_TAB__NURSING": "Nursing", + "CONSULTATION_TAB__DIALYSIS": "Dialysis", + "CONSULTATION_TAB__ABDM": "ABDM Records", + "nursing_information": "Nursing Information", "no_consultation_updates": "No consultation updates", "consultation_updates": "Consultation updates", "update_log": "Update Log", diff --git a/src/Locale/en/LogUpdate.json b/src/Locale/en/LogUpdate.json index 080e2fc979a..f057c8c4235 100644 --- a/src/Locale/en/LogUpdate.json +++ b/src/Locale/en/LogUpdate.json @@ -1,4 +1,36 @@ { + "LOG_UPDATE_CREATED_NOTIFICATION": "{{ roundType }} created successfully", + "LOG_UPDATE_UPDATED_NOTIFICATION": "{{ roundType }} updated successfully", + "LOG_UPDATE_FIELD_LABEL__rounds_type": "Rounds Type", + "LOG_UPDATE_FIELD_LABEL__patient_category": "Category", + "LOG_UPDATE_FIELD_LABEL__consciousness_level": "Level of Consciousness", + "LOG_UPDATE_FIELD_LABEL__sleep": "Sleep", + "LOG_UPDATE_FIELD_LABEL__bowel_issue": "Bowel", + "LOG_UPDATE_FIELD_LABEL__bladder_drainage": "Drainage", + "LOG_UPDATE_FIELD_LABEL__bladder_issue": "Issues", + "LOG_UPDATE_FIELD_LABEL__is_experiencing_dysuria": "Experiences Dysuria?", + "LOG_UPDATE_FIELD_LABEL__urination_frequency": "Frequency of Urination", + "LOG_UPDATE_FIELD_LABEL__nutrition_route": "Nutrition Route", + "LOG_UPDATE_FIELD_LABEL__oral_issue": "Oral issues", + "LOG_UPDATE_FIELD_LABEL__appetite": "Appetite", + "LOG_UPDATE_FIELD_LABEL__physical_examination_info": "Physical Examination Info", + "LOG_UPDATE_FIELD_LABEL__bp": "Blood Pressure", + "LOG_UPDATE_FIELD_LABEL__blood_sugar_level": "Blood Sugar Level", + "LOG_UPDATE_FIELD_LABEL__action": "Action", + "LOG_UPDATE_FIELD_LABEL__review_interval": "Review after", + "LOG_UPDATE_FIELD_LABEL__rhythm": "Heartbeat Rhythm", + "LOG_UPDATE_FIELD_LABEL__rhythm_detail": "Rhythm Description", + "LOG_UPDATE_FIELD_LABEL__ventilator_spo2": "SpOтВВ", + "LOG_UPDATE_FIELD_LABEL__resp": "Respiratory Rate", + "LOG_UPDATE_FIELD_LABEL__temperature": "Temperature", + "LOG_UPDATE_FIELD_LABEL__other_details": "Other details", + "LOG_UPDATE_FIELD_LABEL__pulse": "Pulse", + "ROUNDS_TYPE__NORMAL": "Brief Update", + "ROUNDS_TYPE__COMMUNITY_NURSES_LOG": "Community Nurse's Log", + "ROUNDS_TYPE__VENTILATOR": "Detailed Update", + "ROUNDS_TYPE__DOCTORS_LOG": "Progress Note", + "ROUNDS_TYPE__AUTOMATED": "Virtual Nursing Assistant", + "ROUNDS_TYPE__TELEMEDICINE": "Tele-medicine Log", "RESPIRATORY_SUPPORT_SHORT__UNKNOWN": "None", "RESPIRATORY_SUPPORT_SHORT__OXYGEN_SUPPORT": "O2 Support", "RESPIRATORY_SUPPORT_SHORT__NON_INVASIVE": "NIV", @@ -20,11 +52,46 @@ "CONSCIOUSNESS_LEVEL__ALERT": "Alert", "CONSCIOUSNESS_LEVEL__AGITATED_OR_CONFUSED": "Agitated or Confused", "CONSCIOUSNESS_LEVEL__ONSET_OF_AGITATION_AND_CONFUSION": "Onset of Agitation and Confusion", + "BOWEL_ISSUE__NO_DIFFICULTY": "No difficulty", + "BOWEL_ISSUE__CONSTIPATION": "Constipation", + "BOWEL_ISSUE__DIARRHOEA": "Diarrhoea", + "BLADDER_DRAINAGE__NORMAL": "Normal", + "BLADDER_DRAINAGE__CONDOM_CATHETER": "Condom Catheter", + "BLADDER_DRAINAGE__DIAPER": "Diaper", + "BLADDER_DRAINAGE__INTERMITTENT_CATHETER": "Intermittent Catheter", + "BLADDER_DRAINAGE__CONTINUOUS_INDWELLING_CATHETER": "Continuous Indwelling Catheter", + "BLADDER_DRAINAGE__CONTINUOUS_SUPRAPUBIC_CATHETER": "Continuous Suprapubic Catheter", + "BLADDER_DRAINAGE__UROSTOMY": "Urostomy", + "BLADDER_ISSUE__NO_ISSUES": "No issues", + "BLADDER_ISSUE__INCONTINENCE": "Incontinence", + "BLADDER_ISSUE__RETENTION": "Retention", + "BLADDER_ISSUE__HESITANCY": "Hesitancy", + "URINATION_FREQUENCY__NORMAL": "Normal", + "URINATION_FREQUENCY__DECREASED": "Decreased", + "URINATION_FREQUENCY__INCREASED": "Increased", + "SLEEP__EXCESSIVE": "Excessive", + "SLEEP__SATISFACTORY": "Satisfactory", + "SLEEP__UNSATISFACTORY": "Unsatisfactory", + "SLEEP__NO_SLEEP": "No sleep", + "NUTRITION_ROUTE__ORAL": "Oral", + "NUTRITION_ROUTE__RYLES_TUBE": "Ryle's Tube", + "NUTRITION_ROUTE__GASTROSTOMY_OR_JEJUNOSTOMY": "Gastrostomy / Jejunostomy", + "NUTRITION_ROUTE__PEG": "PEG", + "NUTRITION_ROUTE__PARENTERAL_TUBING_FLUID": "Parenteral Tubing (Fluid)", + "NUTRITION_ROUTE__PARENTERAL_TUBING_TPN": "Parenteral Tubing (TPN)", + "ORAL_ISSUE__NO_ISSUE": "No issues", + "ORAL_ISSUE__DYSPHAGIA": "Dysphagia", + "ORAL_ISSUE__ODYNOPHAGIA": "Odynophagia", + "APPETITE__INCREASED": "Increased", + "APPETITE__SATISFACTORY": "Satisfactory", + "APPETITE__REDUCED": "Reduced", + "APPETITE__NO_TASTE_FOR_FOOD": "No taste for food", + "APPETITE__CANNOT_BE_ASSESSED": "Cannot be assessed", "PUPIL_REACTION__UNKNOWN": "Unknown", "PUPIL_REACTION__BRISK": "Brisk", "PUPIL_REACTION__SLUGGISH": "Sluggish", "PUPIL_REACTION__FIXED": "Fixed", - "PUPIL_REACTION__CANNOT_BE_ASSESSED": "Cannot Be Assessed", + "PUPIL_REACTION__CANNOT_BE_ASSESSED": "Cannot be assessed", "LIMB_RESPONSE__UNKNOWN": "Unknown", "LIMB_RESPONSE__STRONG": "Strong", "LIMB_RESPONSE__MODERATE": "Moderate", @@ -56,18 +123,19 @@ "HEARTBEAT_RHYTHM__REGULAR": "Regular", "HEARTBEAT_RHYTHM__IRREGULAR": "Irregular", "HEARTBEAT_RHYTHM__UNKNOWN": "Unknown", - "heartbeat_rhythm": "Heartbeat Rhythm", - "heartbeat_description": "Heartbeat Description", "blood_pressure": "Blood Pressure", "map_acronym": "M.A.P.", "systolic": "Systolic", "diastolic": "Diastolic", - "temperature": "Temperature", - "resipiratory_rate": "Respiratory Rate", "pain": "Pain", "pain_chart_description": "Mark region and intensity of pain", - "pulse": "Pulse", "bradycardia": "Bradycardia", "tachycardia": "Tachycardia", - "spo2": "SpOтВВ" + "procedures_select_placeholder": "Select procedures to add details", + "oral_issue_for_non_oral_nutrition_route_error": "Can be specified only if nutrition route is set to Oral", + "routine": "Routine", + "bladder": "Bladder", + "nutrition": "Nutrition", + "vitals": "Vitals", + "nursing_care": "Nursing Care" } \ No newline at end of file diff --git a/src/Locale/hi/LogUpdate.json b/src/Locale/hi/LogUpdate.json index 3026eccce57..176886c855b 100644 --- a/src/Locale/hi/LogUpdate.json +++ b/src/Locale/hi/LogUpdate.json @@ -56,18 +56,12 @@ "HEARTBEAT_RHYTHM__REGULAR": "рдирд┐рдпрдорд┐рдд", "HEARTBEAT_RHYTHM__IRREGULAR": "рдЕрдирд┐рдпрдорд┐рдд", "HEARTBEAT_RHYTHM__UNKNOWN": "рдЕрдЬреНрдЮрд╛рдд", - "heartbeat_rhythm": "рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреА рд▓рдп", - "heartbeat_description": "рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХрд╛ рд╡рд┐рд╡рд░рдг", "blood_pressure": "рд░рдХреНрддрдЪрд╛рдк", "map_acronym": "рдорд╛рдирдЪрд┐рддреНрд░", "systolic": "рд╕рд┐рд╕реНрдЯреЛрд▓рд┐рдХ", "diastolic": "рдбрд╛рдпрд╕реНрдЯреЛрд▓рд┐рдХ", - "temperature": "рддрд╛рдкрдорд╛рди", - "resipiratory_rate": "рд╢реНрд╡рд╕рди рджрд░", "pain": "рджрд░реНрдж", "pain_chart_description": "рджрд░реНрдж рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдФрд░ рддреАрд╡реНрд░рддрд╛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ", - "pulse": "рдирд╛рдбрд╝реА", "bradycardia": "рдордВрджрдирд╛рдбрд╝реА", - "tachycardia": "tachycardia", - "spo2": "SpOтВВ" + "tachycardia": "tachycardia" } \ No newline at end of file diff --git a/src/Locale/kn/LogUpdate.json b/src/Locale/kn/LogUpdate.json index e1d8104ad95..25e4ee4623e 100644 --- a/src/Locale/kn/LogUpdate.json +++ b/src/Locale/kn/LogUpdate.json @@ -56,18 +56,12 @@ "HEARTBEAT_RHYTHM__REGULAR": "р▓ир▓┐р▓пр▓ор▓┐р▓д", "HEARTBEAT_RHYTHM__IRREGULAR": "р▓Ер▓ир▓┐р▓пр▓ор▓┐р▓д", "HEARTBEAT_RHYTHM__UNKNOWN": "р▓Ер▓Ьр│Нр▓Юр▓╛р▓д", - "heartbeat_rhythm": "р▓╣р│Гр▓жр▓п р▓мр▓бр▓┐р▓др▓ж р▓▓р▓п", - "heartbeat_description": "р▓╣р│Гр▓жр▓п р▓мр▓бр▓┐р▓др▓ж р▓╡р▓┐р▓╡р▓░р▓гр│Ж", "blood_pressure": "р▓░р▓Хр│Нр▓др▓жр│Кр▓др│Нр▓др▓б", "map_acronym": "р▓ир▓Хр│Нр▓╖р│Ж", "systolic": "р▓╕р▓┐р▓╕р│Нр▓Яр│Кр▓▓р▓┐р▓Хр│Н", "diastolic": "р▓бр▓пр▓╛р▓╕р│Нр▓Яр│Кр▓▓р▓┐р▓Хр│Н", - "temperature": "р▓др▓╛р▓кр▓ор▓╛р▓и", - "resipiratory_rate": "р▓Йр▓╕р▓┐р▓░р▓╛р▓Яр▓ж р▓жр▓░", "pain": "р▓ир│Лр▓╡р│Б", "pain_chart_description": "р▓ир│Лр▓╡р▓┐р▓и р▓кр│Нр▓░р▓жр│Зр▓╢ р▓ор▓др│Нр▓др│Б р▓др│Ар▓╡р│Нр▓░р▓др│Жр▓пр▓ир│Нр▓ир│Б р▓Чр│Бр▓░р│Бр▓др▓┐р▓╕р▓┐", - "pulse": "р▓ир▓╛р▓бр▓┐", "bradycardia": "р▓мр│Нр▓░р▓╛р▓бр▓┐р▓Хр▓╛р▓░р│Нр▓бр▓┐р▓пр▓╛", - "tachycardia": "р▓Яр▓╛р▓Хр▓┐р▓Хр▓╛р▓░р│Нр▓бр▓┐р▓пр▓╛", - "spo2": "SpOтВВ" + "tachycardia": "р▓Яр▓╛р▓Хр▓┐р▓Хр▓╛р▓░р│Нр▓бр▓┐р▓пр▓╛" } \ No newline at end of file diff --git a/src/Locale/ml/LogUpdate.json b/src/Locale/ml/LogUpdate.json index 1a3304b88ca..d2503cd8d34 100644 --- a/src/Locale/ml/LogUpdate.json +++ b/src/Locale/ml/LogUpdate.json @@ -56,18 +56,12 @@ "HEARTBEAT_RHYTHM__REGULAR": "р┤кр┤др┤┐р┤╡р╡Н", "HEARTBEAT_RHYTHM__IRREGULAR": "р┤Хр╡Нр┤░р┤ор┤░р┤╣р┤┐р┤др┤В", "HEARTBEAT_RHYTHM__UNKNOWN": "р┤Ер┤Ьр╡Нр┤Юр┤╛р┤др┤В", - "heartbeat_rhythm": "р┤╣р╡Гр┤жр┤пр┤ор┤┐р┤Яр┤┐р┤кр╡Нр┤кр╡Н р┤др┤╛р┤│р┤В", - "heartbeat_description": "р┤╣р╡Гр┤жр┤пр┤ор┤┐р┤Яр┤┐р┤кр╡Нр┤кр╡Н р┤╡р┤┐р┤╡р┤░р┤гр┤В", "blood_pressure": "р┤░р┤Хр╡Нр┤др┤╕р┤ор╡Нр┤ор╡╝р┤жр╡Нр┤жр┤В", "map_acronym": "р┤ор┤╛р┤кр╡Нр┤кр╡Н", "systolic": "р┤╕р┤┐р┤╕р╡Нр┤▒р╡Нр┤▒р╡Лр┤│р┤┐р┤Хр╡Н", "diastolic": "р┤бр┤пр┤╕р╡Нр┤▒р╡Нр┤▒р╡Лр┤│р┤┐р┤Хр╡Н", - "temperature": "р┤др┤╛р┤кр┤ир┤┐р┤▓", - "resipiratory_rate": "р┤╢р╡Нр┤╡р┤╕р┤и р┤ир┤┐р┤░р┤Хр╡Нр┤Хр╡Н", "pain": "р┤╡р╡Зр┤жр┤и", "pain_chart_description": "р┤╡р╡Зр┤жр┤ир┤пр╡Бр┤Яр╡Ж р┤кр╡Нр┤░р┤жр╡Зр┤╢р┤╡р╡Бр┤В р┤др╡Ар┤╡р╡Нр┤░р┤др┤пр╡Бр┤В р┤Ер┤Яр┤пр┤╛р┤│р┤кр╡Нр┤кр╡Жр┤Яр╡Бр┤др╡Нр┤др╡Бр┤Х", - "pulse": "р┤кр╡╛р┤╕р╡Н", "bradycardia": "р┤мр╡Нр┤░р┤╛р┤бр┤┐р┤Хр┤╛р╡╝р┤бр┤┐р┤п", - "tachycardia": "р┤Яр┤╛р┤Хр╡Нр┤Хр┤┐р┤Хр╡Нр┤Хр┤╛р╡╝р┤бр┤┐р┤п", - "spo2": "SpOтВВ" + "tachycardia": "р┤Яр┤╛р┤Хр╡Нр┤Хр┤┐р┤Хр╡Нр┤Хр┤╛р╡╝р┤бр┤┐р┤п" } \ No newline at end of file diff --git a/src/Locale/ta/LogUpdate.json b/src/Locale/ta/LogUpdate.json index fa5308cde39..61a52f69d48 100644 --- a/src/Locale/ta/LogUpdate.json +++ b/src/Locale/ta/LogUpdate.json @@ -56,18 +56,12 @@ "HEARTBEAT_RHYTHM__REGULAR": "ро╡ро┤роХрпНроХрооро╛рой", "HEARTBEAT_RHYTHM__IRREGULAR": "роТро┤рпБроЩрпНроХро▒рпНро▒", "HEARTBEAT_RHYTHM__UNKNOWN": "родрпЖро░ро┐ропро╡ро┐ро▓рпНро▓рпИ", - "heartbeat_rhythm": "роЗродропродрпН родрпБроЯро┐рокрпНрокрпБ родро╛ро│роорпН", - "heartbeat_description": "роЗродроп родрпБроЯро┐рокрпНрокрпБ ро╡ро┐ро│роХрпНроХроорпН", "blood_pressure": "роЗро░родрпНрод роЕро┤рпБродрпНродроорпН", "map_acronym": "ро╡ро░рпИрокроЯроорпН", "systolic": "роЪро┐ро╕рпНроЯро╛ро▓ро┐роХрпН", "diastolic": "роЯропро╕рпНроЯро╛ро▓ро┐роХрпН", - "temperature": "ро╡рпЖрокрпНрокроиро┐ро▓рпИ", - "resipiratory_rate": "роЪрпБро╡ро╛роЪ ро╡ро┐роХро┐родроорпН", "pain": "ро╡ро▓ро┐", "pain_chart_description": "ро╡ро▓ро┐ропро┐ройрпН рокроХрпБродро┐ рооро▒рпНро▒рпБроорпН родрпАро╡ро┐ро░родрпНродрпИ роХрпБро▒ро┐роХрпНроХро╡рпБроорпН", - "pulse": "родрпБроЯро┐рокрпНрокрпБ", "bradycardia": "рокро┐ро░ро╛роЯро┐ роХро╛ро░рпНроЯро┐ропро╛", - "tachycardia": "роЯро╛роХрпНро░ро┐роХрпНроХро╛ро░рпНроЯро┐ропро╛", - "spo2": "SpOтВВ" + "tachycardia": "роЯро╛роХрпНро░ро┐роХрпНроХро╛ро░рпНроЯро┐ропро╛" } \ No newline at end of file From 383dfbc899220a22e30e7530c40ce010b31314e4 Mon Sep 17 00:00:00 2001 From: Aakash Singh Date: Wed, 18 Sep 2024 18:01:40 +0530 Subject: [PATCH 17/22] Revamp media player (#8437) --- package-lock.json | 52 +- package.json | 1 - src/Common/hooks/useHLSPlayer.ts | 17 - src/Common/hooks/useMSEplayer.ts | 236 ------ .../Assets/AssetType/ONVIFCamera.tsx | 12 +- .../Assets/configure/CameraConfigure.tsx | 4 +- src/Components/CameraFeed/CameraFeed.tsx | 176 ++--- .../CameraFeedOld.tsx} | 210 +++--- src/Components/CameraFeed/FeedAlert.tsx | 6 +- .../CameraFeed/FeedNetworkSignal.tsx | 6 +- src/Components/CameraFeed/routes.ts | 10 +- .../CameraFeed}/useFeedPTZ.ts | 41 +- src/Components/CameraFeed/useOperateCamera.ts | 5 + src/Components/CameraFeed/usePlayer.tsx | 58 -- src/Components/CameraFeed/utils.ts | 7 +- src/Components/CameraFeed/videoPlayer.tsx | 198 +++++ .../Facility/Consultations/Feed.tsx | 704 ------------------ .../Facility/Consultations/FeedButton.tsx | 63 -- 18 files changed, 459 insertions(+), 1347 deletions(-) delete mode 100644 src/Common/hooks/useHLSPlayer.ts delete mode 100644 src/Common/hooks/useMSEplayer.ts rename src/Components/{Facility/Consultations/LiveFeed.tsx => CameraFeed/CameraFeedOld.tsx} (83%) rename src/{Common/hooks => Components/CameraFeed}/useFeedPTZ.ts (89%) delete mode 100644 src/Components/CameraFeed/usePlayer.tsx create mode 100644 src/Components/CameraFeed/videoPlayer.tsx delete mode 100644 src/Components/Facility/Consultations/Feed.tsx delete mode 100644 src/Components/Facility/Consultations/FeedButton.tsx diff --git a/package-lock.json b/package-lock.json index 14fd0262607..553224ffc27 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,6 @@ "react-infinite-scroll-component": "^6.1.0", "react-markdown": "^8.0.7", "react-pdf": "^9.1.0", - "react-player": "^2.16.0", "react-redux": "^8.1.1", "react-webcam": "^7.2.0", "redux": "^4.2.1", @@ -5937,12 +5936,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -6947,6 +6946,7 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8377,9 +8377,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -10942,11 +10942,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/load-script": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", - "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" - }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -12076,11 +12071,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" - }, "node_modules/merge-refs": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.3.0.tgz", @@ -14330,11 +14320,6 @@ "react": "^18.3.1" } }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" - }, "node_modules/react-google-recaptcha": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/react-google-recaptcha/-/react-google-recaptcha-3.1.0.tgz", @@ -14992,21 +14977,6 @@ } } }, - "node_modules/react-player": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/react-player/-/react-player-2.16.0.tgz", - "integrity": "sha512-mAIPHfioD7yxO0GNYVFD1303QFtI3lyyQZLY229UEAp/a10cSW+hPcakg0Keq8uWJxT2OiT/4Gt+Lc9bD6bJmQ==", - "dependencies": { - "deepmerge": "^4.0.0", - "load-script": "^1.0.0", - "memoize-one": "^5.1.1", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.0.1" - }, - "peerDependencies": { - "react": ">=16.6.0" - } - }, "node_modules/react-redux": { "version": "8.1.3", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", @@ -15652,9 +15622,9 @@ } }, "node_modules/requirejs": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz", - "integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.7.tgz", + "integrity": "sha512-DouTG8T1WanGok6Qjg2SXuCMzszOo0eHeH9hDZ5Y4x8Je+9JB38HdTLT4/VA8OaUhBa0JPVHJ0pyBkM1z+pDsw==", "dev": true, "bin": { "r_js": "bin/r.js", diff --git a/package.json b/package.json index 8dcd4e13954..cfc0b3389a2 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,6 @@ "react-infinite-scroll-component": "^6.1.0", "react-markdown": "^8.0.7", "react-pdf": "^9.1.0", - "react-player": "^2.16.0", "react-redux": "^8.1.1", "react-webcam": "^7.2.0", "redux": "^4.2.1", diff --git a/src/Common/hooks/useHLSPlayer.ts b/src/Common/hooks/useHLSPlayer.ts deleted file mode 100644 index 32a52043fe7..00000000000 --- a/src/Common/hooks/useHLSPlayer.ts +++ /dev/null @@ -1,17 +0,0 @@ -import ReactPlayer from "react-player"; -import { IOptions } from "./useMSEplayer"; - -export const useHLSPLayer = (ref: ReactPlayer | null) => { - const startStream = ({ onSuccess, onError }: IOptions = {}) => { - try { - ref?.setState({ url: ref?.props.url + "&t=" + Date.now() }); - onSuccess && onSuccess(undefined); - } catch (err) { - onError && onError(err); - } - }; - return { - startStream, - stopStream: undefined, - }; -}; diff --git a/src/Common/hooks/useMSEplayer.ts b/src/Common/hooks/useMSEplayer.ts deleted file mode 100644 index 5271c08fd56..00000000000 --- a/src/Common/hooks/useMSEplayer.ts +++ /dev/null @@ -1,236 +0,0 @@ -import { useEffect, useRef } from "react"; - -export interface IAsset { - middlewareHostname: string; -} - -interface UseMSEMediaPlayerOption { - config: IAsset; - url?: string; - videoEl: HTMLVideoElement | null; -} - -export interface ICameraAssetState { - id: string; - accessKey: string; - middleware_address: string; - location_middleware: string; -} - -export enum StreamStatus { - Playing, - Stop, - Loading, - Offline, -} - -interface UseMSEMediaPlayerReturnType { - stopStream: (config: { id: string }, options: IOptions) => void; - startStream: (options?: IOptions) => void; -} - -export interface IOptions { - onSuccess?: (resp: any) => void; - onError?: (err: any) => void; -} -const stopStream = - ({ - middlewareHostname, - ws, - }: { - middlewareHostname: string; - ws?: WebSocket; - }) => - (payload: { id: string }, options: IOptions) => { - const { id } = payload; - ws?.close(); - fetch(`https://${middlewareHostname}/stop`, { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ id }), - }) - .then((res) => { - if (!res.ok) { - throw new Error("network response was not ok"); - } - return res.json(); - }) - .then((res) => options?.onSuccess && options.onSuccess(res)) - .catch((err) => options.onError && options.onError(err)); - }; - -/** - * MSE player utility - */ -const Utf8ArrayToStr = (array: string | any[] | Uint8Array) => { - let out, i, c; - let char2, char3; - out = ""; - const len = array.length; - i = 0; - while (i < len) { - c = array[i++]; - switch (c >> 4) { - case 7: - out += String.fromCharCode(c); - break; - case 13: - char2 = array[i++]; - out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f)); - break; - case 14: - char2 = array[i++]; - char3 = array[i++]; - out += String.fromCharCode( - ((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | ((char3 & 0x3f) << 0), - ); - break; - } - } - return out; -}; - -export const useMSEMediaPlayer = ({ - config, - url, - videoEl, -}: UseMSEMediaPlayerOption): UseMSEMediaPlayerReturnType => { - const mseQueue: any[] = []; - let mseStreamingStarted = false; - const wsRef = useRef(); - let mseSourceBuffer: any; - - const pushPacket = () => { - if (!mseSourceBuffer.updating) { - if (mseQueue.length > 0) { - const packet = mseQueue.shift(); - // Check if SourceBuffer has been removed before appending buffer - if (mseSourceBuffer.removed) { - console.error("Attempted to append to a removed SourceBuffer."); - return; - } - mseSourceBuffer.appendBuffer(packet); - } else { - mseStreamingStarted = false; - } - } - if (videoEl && videoEl.buffered.length > 0) { - if (typeof document.hidden !== "undefined" && document.hidden) { - //no sound, browser paused video without sound in background - videoEl.currentTime = - videoEl.buffered.end(videoEl.buffered.length - 1) - 0.5; - } - } - }; - - const readPacket = (packet: any) => { - if (!mseStreamingStarted) { - // Check if SourceBuffer has been removed before appending buffer - if (mseSourceBuffer.removed) { - console.error("Attempted to append to a removed SourceBuffer."); - return; - } - mseSourceBuffer.appendBuffer(packet); - mseStreamingStarted = true; - return; - } - mseQueue.push(packet); - if (!mseSourceBuffer.updating) { - pushPacket(); - } - }; - - const startStream = ({ onError, onSuccess }: IOptions = {}) => { - // location.protocol == 'https:' ? protocol = 'wss' : protocol = 'ws'; - try { - wsRef.current?.close(); - const mse = new MediaSource(); - if (videoEl) { - videoEl.src = window.URL.createObjectURL(mse); - } - - if (url) { - mse.addEventListener( - "sourceopen", - function () { - wsRef.current = new WebSocket(url); - const ws = wsRef.current; - ws.binaryType = "arraybuffer"; - ws.onopen = function (_event) { - onSuccess && onSuccess(undefined); - }; - ws.onmessage = function (event) { - const data = new Uint8Array(event.data); - if (+data[0] === 9) { - const decoded_arr = data.slice(1); - let mimeCodec; - if (window.TextDecoder) { - mimeCodec = new TextDecoder("utf-8").decode(decoded_arr); - } else { - mimeCodec = Utf8ArrayToStr(decoded_arr); - } - try { - mseSourceBuffer = mse.addSourceBuffer( - `video/mp4; codecs="${mimeCodec}"`, - ); - } catch (error) { - onError?.(error); - return; - } - mseSourceBuffer.mode = "segments"; - if (mseQueue.length > 0 && !mseSourceBuffer.updating) { - mseSourceBuffer.addEventListener("updateend", pushPacket); - } - } else { - readPacket(event.data); - } - }; - ws.onerror = function (event) { - onError && onError(event); - }; - }, - false, - ); - } - } catch (e) { - onError && onError(e); - } - }; - - document.addEventListener("DOMContentLoaded", function () { - if (videoEl) { - videoEl.addEventListener("loadeddata", () => { - videoEl.play(); - }); - - //fix stalled video in safari - videoEl.addEventListener("pause", () => { - if ( - videoEl.currentTime > - videoEl.buffered.end(videoEl.buffered.length - 1) - ) { - videoEl.currentTime = - videoEl.buffered.end(videoEl.buffered.length - 1) - 0.1; - videoEl.play(); - } - }); - - videoEl.addEventListener("error", (e) => { - console.log("video_error", e); - }); - } - }); - - useEffect(() => { - return () => { - wsRef.current?.close(); - }; - }, []); - - return { - startStream: startStream, - stopStream: stopStream({ ...config, ws: wsRef.current }), - }; -}; diff --git a/src/Components/Assets/AssetType/ONVIFCamera.tsx b/src/Components/Assets/AssetType/ONVIFCamera.tsx index 21beb5f7bf8..e49fcad549d 100644 --- a/src/Components/Assets/AssetType/ONVIFCamera.tsx +++ b/src/Components/Assets/AssetType/ONVIFCamera.tsx @@ -16,6 +16,7 @@ import routes from "../../../Redux/api"; import useQuery from "../../../Utils/request/useQuery"; import CareIcon from "../../../CAREUI/icons/CareIcon"; +import useOperateCamera from "../../CameraFeed/useOperateCamera"; interface Props { assetId: string; @@ -47,6 +48,8 @@ const ONVIFCamera = ({ assetId, facilityId, asset, onUpdated }: Props) => { }); const authUser = useAuthUser(); + const { operate } = useOperateCamera(assetId ?? "", true); + useEffect(() => { if (asset) { setAssetType(asset?.asset_class); @@ -92,7 +95,6 @@ const ONVIFCamera = ({ assetId, facilityId, asset, onUpdated }: Props) => { const addPreset = async (e: SyntheticEvent) => { e.preventDefault(); - const config = getCameraConfig(asset as AssetData); const data = { bed_id: bed.id, preset_name: newPreset, @@ -100,13 +102,7 @@ const ONVIFCamera = ({ assetId, facilityId, asset, onUpdated }: Props) => { try { setLoadingAddPreset(true); - const response = await fetch( - `https://${resolvedMiddleware?.hostname}/status?hostname=${config.hostname}&port=${config.port}&username=${config.username}&password=${config.password}`, - ); - if (!response.ok) { - throw new Error("Network error"); - } - const presetData = await response.json(); + const { data: presetData } = await operate({ type: "get_status" }); const { res } = await request(routes.createAssetBed, { body: { diff --git a/src/Components/Assets/configure/CameraConfigure.tsx b/src/Components/Assets/configure/CameraConfigure.tsx index 5a8ccd5c184..e5e017db8dc 100644 --- a/src/Components/Assets/configure/CameraConfigure.tsx +++ b/src/Components/Assets/configure/CameraConfigure.tsx @@ -1,6 +1,6 @@ import { SyntheticEvent } from "react"; import { AssetData } from "../AssetTypes"; -import LiveFeed from "../../Facility/Consultations/LiveFeed"; +import CameraFeedOld from "../../CameraFeed/CameraFeedOld"; import { BedSelect } from "../../Common/BedSelect"; import { BedModel } from "../../Facility/models"; import { getCameraConfig } from "../../../Utils/transformUtils"; @@ -76,7 +76,7 @@ export default function CameraConfigure(props: CameraConfigureProps) { - (null); + const playerRef = useRef(null); const playerWrapperRef = useRef(null); - const streamUrl = getStreamUrl(props.asset); + const [streamUrl, setStreamUrl] = useState(""); const inlineControls = useBreakpoints({ default: false, sm: true }); - const player = usePlayer(streamUrl, playerRef); - const [isFullscreen, setFullscreen] = useFullscreen(); const [state, setState] = useState(); - useEffect(() => setState(player.status), [player.status, setState]); - + const [playedOn, setPlayedOn] = useState(); + const [playerStatus, setPlayerStatus] = useState("stop"); // Move camera when selected preset has changed useEffect(() => { async function move(preset: PTZPayload) { @@ -73,21 +70,29 @@ export default function CameraFeed(props: Props) { getPresets(props.onCameraPresetsObtained); }, [props.operate, props.onCameraPresetsObtained]); - const initializeStream = useCallback(() => { - player.initializeStream({ - onSuccess: async () => { - props.onStreamSuccess?.(); - const { res } = await props.operate({ type: "get_status" }); - if (res?.status === 500) { - setState("host_unreachable"); + const initializeStream = useCallback(async () => { + if (!playerRef.current) return; + setPlayerStatus("loading"); + await props + .operate({ type: "get_stream_token" }) + .then(({ res, data }) => { + if (res?.status != 200) { + setState("authentication_error"); + return props.onStreamError?.(); } - }, - onError: props.onStreamError, - }); - }, [player.initializeStream]); + const result = data?.result as { token: string }; + return setStreamUrl(getStreamUrl(props.asset, result.token)); + }) + .catch(() => { + setState("host_unreachable"); + return props.onStreamError?.(); + }); + }, []); // Start stream on mount - useEffect(() => initializeStream(), [initializeStream]); + useEffect(() => { + initializeStream(); + }, []); const resetStream = () => { setState("loading"); @@ -154,7 +159,7 @@ export default function CameraFeed(props: Props) { isFullscreen ? "hidden lg:flex" : "flex", "items-center justify-between px-4 py-0.5 transition-all duration-500 ease-in-out lg:py-1", (() => { - if (player.status !== "playing") { + if (playerStatus !== "playing") { return "bg-black text-zinc-400"; } @@ -168,7 +173,7 @@ export default function CameraFeed(props: Props) { >
    @@ -200,75 +205,74 @@ export default function CameraFeed(props: Props) {
    {/* Notifications */} - {player.status === "playing" && } + {playerStatus === "playing" && } {/* No Feed informations */} - {state === "host_unreachable" && ( - - )} - {player.status === "offline" && ( - - )} + {(() => { + switch (state) { + case "host_unreachable": + return ( + + ); + case "authentication_error": + return ( + + ); + case "offline": + return ( + + ); + } + })()} {/* Video Player */} - {isIOS ? ( -
    - } - controls={false} - pip={false} - playsinline - playing - muted - width="100%" - height="100%" - onPlay={player.onPlayCB} - onEnded={() => player.setStatus("stop")} - onError={(e, _, hlsInstance) => { - if (e === "hlsError") { - const recovered = hlsInstance.recoverMediaError(); - console.info(recovered); - } - }} - /> -
    - ) : ( -
    {!inlineControls && (
    { +import { BedSelect } from "../Common/BedSelect.js"; +import { BedModel } from "../Facility/models.js"; +import useWindowDimensions from "../../Common/hooks/useWindowDimensions.js"; +import CareIcon, { IconName } from "../../CAREUI/icons/CareIcon.js"; +import Page from "../Common/components/Page.js"; +import ConfirmDialog from "../Common/ConfirmDialog.js"; +import { FieldLabel } from "../Form/FormFields/FormField.js"; +import useFullscreen from "../../Common/hooks/useFullscreen.js"; +import TextFormField from "../Form/FormFields/TextFormField.js"; +import VideoPlayer from "./videoPlayer.js"; + +export enum StreamStatus { + Playing, + Stop, + Loading, + Offline, +} + +export const FeedCameraPTZHelpButton = (props: { cameraPTZ: CameraPTZ[] }) => { + const { cameraPTZ } = props; + return ( + + ); +}; + +const CameraFeedOld = (props: any) => { const middlewareHostname = props.middlewareHostname; const [presetsPage, setPresetsPage] = useState(0); const cameraAsset = props.asset; @@ -57,21 +110,7 @@ const LiveFeed = (props: any) => { const isExtremeSmallScreen = width <= extremeSmallScreenBreakpoint ? true : false; const liveFeedPlayerRef = useRef(null); - - const videoEl = liveFeedPlayerRef.current as HTMLVideoElement; - - const streamUrl = isIOS - ? `https://${middlewareHostname}/stream/${cameraAsset?.accessKey}/channel/0/hls/live/index.m3u8?uuid=${cameraAsset?.accessKey}&channel=0` - : `wss://${middlewareHostname}/stream/${cameraAsset?.accessKey}/channel/0/mse?uuid=${cameraAsset?.accessKey}&channel=0`; - - const { startStream } = useMSEMediaPlayer({ - config: { - middlewareHostname, - ...cameraAsset, - }, - url: streamUrl, - videoEl, - }); + const [streamUrl, setStreamUrl] = useState(""); const refreshPresetsHash = props.refreshPresetsHash; @@ -80,6 +119,7 @@ const LiveFeed = (props: any) => { const { absoluteMove, getCameraStatus, + getStreamToken, getPTZPayload, getPresets, gotoPreset, @@ -199,12 +239,20 @@ const LiveFeed = (props: any) => { } }, [page.offset, cameraAsset.id, refreshPresetsHash]); - const startStreamFeed = () => { - startStream({ - onSuccess: () => setStreamStatus(StreamStatus.Playing), - onError: () => setStreamStatus(StreamStatus.Offline), + const startStreamFeed = useCallback(async () => { + if (!liveFeedPlayerRef.current) return; + + await getStreamToken({ + onSuccess: (data) => { + setStreamUrl( + `wss://${middlewareHostname}/stream/${cameraAsset?.accessKey}/channel/0/mse?uuid=${cameraAsset?.accessKey}&channel=0&token=${data.token}`, + ); + }, + onError: () => { + setStreamStatus(StreamStatus.Offline); + }, }); - }; + }, [liveFeedPlayerRef.current]); const viewOptions = (page: number) => { return presets @@ -228,7 +276,7 @@ const LiveFeed = (props: any) => { return () => { clearTimeout(tId); }; - }, [startStream, streamStatus]); + }, [startStreamFeed, streamStatus]); const handlePagination = (cOffset: number) => { setPage({ @@ -243,13 +291,10 @@ const LiveFeed = (props: any) => { precision === 16 ? 1 : precision * 2, ); }, - reset: () => { + reset: async () => { setStreamStatus(StreamStatus.Loading); setVideoStartTime(null); - startStream({ - onSuccess: () => setStreamStatus(StreamStatus.Playing), - onError: () => setStreamStatus(StreamStatus.Offline), - }); + await startStreamFeed(); }, fullScreen: () => { if (!liveFeedPlayerRef.current) return; @@ -364,56 +409,23 @@ const LiveFeed = (props: any) => {
    - {/* ADD VIDEO PLAYER HERE */}
    - {isIOS ? ( -
    - } - controls={false} - playsinline - playing - muted - width="100%" - height="100%" - onPlay={() => { - setVideoStartTime(() => new Date()); - setStreamStatus(StreamStatus.Playing); - }} - onWaiting={() => { - const delay = calculateVideoLiveDelay(); - if (delay > 5) { - setStreamStatus(StreamStatus.Loading); - } - }} - onError={(e, _, hlsInstance) => { - if (e === "hlsError") { - const recovered = hlsInstance.recoverMediaError(); - console.info(recovered); - } - }} - /> -
    - ) : ( - - )} + { + setVideoStartTime(() => new Date()); + }} + onWaiting={() => { + const delay = calculateVideoLiveDelay(); + if (delay > 5) { + setStreamStatus(StreamStatus.Loading); + } + }} + onSuccess={() => setStreamStatus(StreamStatus.Playing)} + onError={() => setStreamStatus(StreamStatus.Offline)} + /> {streamStatus === StreamStatus.Playing && calculateVideoLiveDelay() > 3 && ( @@ -670,4 +682,4 @@ const LiveFeed = (props: any) => { ); }; -export default LiveFeed; +export default CameraFeedOld; diff --git a/src/Components/CameraFeed/FeedAlert.tsx b/src/Components/CameraFeed/FeedAlert.tsx index b907ce72ad2..09f3b21ae42 100644 --- a/src/Components/CameraFeed/FeedAlert.tsx +++ b/src/Components/CameraFeed/FeedAlert.tsx @@ -2,14 +2,15 @@ import { Transition } from "@headlessui/react"; import { useEffect, useState } from "react"; import CareIcon, { IconName } from "../../CAREUI/icons/CareIcon"; import { classNames } from "../../Utils/utils"; -import { StreamStatus } from "./usePlayer"; +export type StreamStatus = "playing" | "stop" | "loading" | "offline"; export type FeedAlertState = | StreamStatus | "moving" | "zooming" | "saving_preset" - | "host_unreachable"; + | "host_unreachable" + | "authentication_error"; interface Props { state?: FeedAlertState; @@ -24,6 +25,7 @@ const ALERT_ICON_MAP: Partial> = { zooming: "l-search", saving_preset: "l-save", host_unreachable: "l-exclamation-triangle", + authentication_error: "l-exclamation-triangle", }; export default function FeedAlert({ state }: Props) { diff --git a/src/Components/CameraFeed/FeedNetworkSignal.tsx b/src/Components/CameraFeed/FeedNetworkSignal.tsx index 68df86bb4d5..4b1e6c7fbe3 100644 --- a/src/Components/CameraFeed/FeedNetworkSignal.tsx +++ b/src/Components/CameraFeed/FeedNetworkSignal.tsx @@ -1,7 +1,7 @@ import { useEffect, useState } from "react"; import { calculateVideoDelay } from "./utils"; import NetworkSignal from "../../CAREUI/display/NetworkSignal"; -import { StreamStatus } from "./usePlayer"; +import { StreamStatus } from "./FeedAlert"; interface Props { playerRef: React.RefObject; @@ -23,7 +23,9 @@ export default function FeedNetworkSignal(props: Props) { // 2. This value may become negative when the web-socket stream // disconnects while the tab was not in focus. if (-5 > delay || delay > 5) { - props.onReset(); + if (document.hasFocus() && props.status !== "loading") { + props.onReset(); + } } }, 1000); diff --git a/src/Components/CameraFeed/routes.ts b/src/Components/CameraFeed/routes.ts index 482dc515eb3..aecbdc655fa 100644 --- a/src/Components/CameraFeed/routes.ts +++ b/src/Components/CameraFeed/routes.ts @@ -13,6 +13,12 @@ export type GetStatusResponse = { }; }; +export type GetStreamTokenResponse = { + result: { + token: string; + }; +}; + export type GetPresetsResponse = { result: Record; }; @@ -21,7 +27,9 @@ export const FeedRoutes = { operateAsset: { path: "/api/v1/asset/{id}/operate_assets/", method: "POST", - TRes: Type(), + TRes: Type< + GetStreamTokenResponse | GetStatusResponse | GetPresetsResponse + >(), TBody: Type<{ action: OperationAction }>(), }, } as const; diff --git a/src/Common/hooks/useFeedPTZ.ts b/src/Components/CameraFeed/useFeedPTZ.ts similarity index 89% rename from src/Common/hooks/useFeedPTZ.ts rename to src/Components/CameraFeed/useFeedPTZ.ts index a393edc5922..fb704baf972 100644 --- a/src/Common/hooks/useFeedPTZ.ts +++ b/src/Components/CameraFeed/useFeedPTZ.ts @@ -17,33 +17,11 @@ interface PTZPayload { zoom: number; } -export interface PTZState { - x: number; - y: number; - zoom: number; - precision: number; -} - interface UseMSEMediaPlayerOption { config: IAsset; dispatch: any; } -export interface ICameraAssetState { - id: string; - username: string; - password: string; - hostname: string; - port: number; -} - -export enum StreamStatus { - Playing, - Stop, - Loading, - Offline, -} - interface UseMSEMediaPlayerReturnType { absoluteMove: (payload: PTZPayload, options: IOptions) => void; relativeMove: (payload: PTZPayload, options: IOptions) => void; @@ -53,6 +31,7 @@ interface UseMSEMediaPlayerReturnType { value?: number, ) => PTZPayload; getCameraStatus: (options: IOptions) => void; + getStreamToken: (options: IOptions) => void; getPresets: (options: IOptions) => void; gotoPreset: (payload: IGotoPresetPayload, options: IOptions) => void; } @@ -88,6 +67,23 @@ const getCameraStatus = : options?.onError && options.onError(resp)); }; +const getStreamToken = + (config: IAsset, dispatch: any) => + async (options: IOptions = {}) => { + if (!config.id) return; + const resp = await dispatch( + operateAsset(config.id, { + action: { + type: "get_stream_token", + }, + }), + ); + resp && + (resp.status === 200 + ? options?.onSuccess && options.onSuccess(resp.data.result) + : options?.onError && options.onError(resp)); + }; + const getPresets = (config: IAsset, dispatch: any) => async (options: IOptions = {}) => { @@ -205,6 +201,7 @@ export const useFeedPTZ = ({ relativeMove: relativeMove(config, dispatch), getPTZPayload, getCameraStatus: getCameraStatus(config, dispatch), + getStreamToken: getStreamToken(config, dispatch), getPresets: getPresets(config, dispatch), gotoPreset: gotoPreset(config, dispatch), }; diff --git a/src/Components/CameraFeed/useOperateCamera.ts b/src/Components/CameraFeed/useOperateCamera.ts index c0e35f90bf2..bfddbf5b887 100644 --- a/src/Components/CameraFeed/useOperateCamera.ts +++ b/src/Components/CameraFeed/useOperateCamera.ts @@ -33,6 +33,10 @@ interface RelativeMoveOperation { data: PTZPayload; } +interface GetStreamToken { + type: "get_stream_token"; +} + interface ResetFeedOperation { type: "reset"; } @@ -43,6 +47,7 @@ export type OperationAction = | GoToPresetOperation | AbsoluteMoveOperation | RelativeMoveOperation + | GetStreamToken | ResetFeedOperation; /** diff --git a/src/Components/CameraFeed/usePlayer.tsx b/src/Components/CameraFeed/usePlayer.tsx deleted file mode 100644 index 7f2dc088739..00000000000 --- a/src/Components/CameraFeed/usePlayer.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { MutableRefObject, useCallback, useState } from "react"; -import ReactPlayer from "react-player"; -import { isIOS } from "../../Utils/utils"; -import { useHLSPLayer } from "../../Common/hooks/useHLSPlayer"; -import { IOptions, useMSEMediaPlayer } from "../../Common/hooks/useMSEplayer"; - -export type StreamStatus = "playing" | "stop" | "loading" | "offline"; - -export default function usePlayer( - streamUrl: string, - ref: MutableRefObject, -) { - const [playedOn, setPlayedOn] = useState(); - const [status, setStatus] = useState("stop"); - - // Voluntarily disabling react-hooks/rules-of-hooks for this line as order of - // hooks is maintained (since platform won't change in runtime) - const _start = isIOS - ? // eslint-disable-next-line react-hooks/rules-of-hooks - useHLSPLayer(ref.current as ReactPlayer).startStream - : // eslint-disable-next-line react-hooks/rules-of-hooks - useMSEMediaPlayer({ - // Voluntarily set to "" as it's used by `stopStream` only (which is not - // used by this hook) - config: { middlewareHostname: "" }, - url: streamUrl, - videoEl: ref.current as HTMLVideoElement, - }).startStream; - - const initializeStream = useCallback( - ({ onSuccess, onError }: IOptions) => { - setPlayedOn(undefined); - setStatus("loading"); - _start({ - onSuccess, - onError: (args) => { - setStatus("offline"); - onError?.(args); - }, - }); - }, - [ref.current, streamUrl], - ); - - const onPlayCB = () => { - // Voluntarily updating only if previously undefined (as this method may be invoked by the HTML video element on tab re-focus) - setPlayedOn((prev) => (prev === undefined ? new Date() : prev)); - setStatus("playing"); - }; - - return { - status, - setStatus, - initializeStream, - playedOn, - onPlayCB, - }; -} diff --git a/src/Components/CameraFeed/utils.ts b/src/Components/CameraFeed/utils.ts index f4c55f315ad..5556237d579 100644 --- a/src/Components/CameraFeed/utils.ts +++ b/src/Components/CameraFeed/utils.ts @@ -1,7 +1,6 @@ import { MutableRefObject } from "react"; import { AssetClass, AssetData } from "../Assets/AssetTypes"; import { getCameraConfig } from "../../Utils/transformUtils"; -import { isIOS } from "../../Utils/utils"; export const calculateVideoDelay = ( ref: MutableRefObject, @@ -17,7 +16,7 @@ export const calculateVideoDelay = ( return playedDuration - video.currentTime; }; -export const getStreamUrl = (asset: AssetData) => { +export const getStreamUrl = (asset: AssetData, token?: string) => { if (asset.asset_class !== AssetClass.ONVIF) { throw "getStreamUrl can be invoked only for ONVIF Assets"; } @@ -26,7 +25,5 @@ export const getStreamUrl = (asset: AssetData) => { const host = asset.resolved_middleware?.hostname; const uuid = config.accessKey; - return isIOS - ? `https://${host}/stream/${uuid}/channel/0/hls/live/index.m3u8?uuid=${uuid}&channel=0` - : `wss://${host}/stream/${uuid}/channel/0/mse?uuid=${uuid}&channel=0`; + return `wss://${host}/stream/${uuid}/channel/0/mse?uuid=${uuid}&channel=0${token ? `&token=${token}` : ""}`; }; diff --git a/src/Components/CameraFeed/videoPlayer.tsx b/src/Components/CameraFeed/videoPlayer.tsx new file mode 100644 index 00000000000..9b6ad378d9f --- /dev/null +++ b/src/Components/CameraFeed/videoPlayer.tsx @@ -0,0 +1,198 @@ +import { useEffect, useRef } from "react"; + +declare const ManagedMediaSource: typeof MediaSource; + +function isIOSVersionLessThan18() { + const ua = navigator.userAgent; + if (/iPad|iPhone|iPod/.test(ua)) { + const iOSVersionMatch = ua.match(/OS (\d+)_?(\d+)?/); + if (iOSVersionMatch && parseInt(iOSVersionMatch[1], 10) < 18) { + return true; + } + } + return false; +} + +function isSafariVersionLessThan17() { + const ua = navigator.userAgent; + if (/^((?!chrome|android).)*safari/i.test(ua)) { + const safariVersionMatch = ua.match(/Version\/(\d+)\.(\d+)/); + if (safariVersionMatch && parseInt(safariVersionMatch[1], 10) < 17) { + return true; + } + } + return false; +} + +interface VideoPlayerProps { + playerRef: React.RefObject; + streamUrl: string; + className?: string; + onPlay?: () => void; + onEnded?: () => void; + onWaiting?: () => void; + onSuccess?: (resp: any) => void; + onError?: (err: any) => void; +} + +export default function VideoPlayer(props: VideoPlayerProps) { + const wsRef = useRef(); + const playerRef = props.playerRef; + let mediaSource: MediaSource; + let mseSourceBuffer: SourceBuffer; + let buf: Uint8Array; + let bufLen = 0; + + const pushPacket = () => { + if (mseSourceBuffer.updating) return; + + try { + if (bufLen > 0) { + // If there's data in the buffer to append + const data = buf.slice(0, bufLen); + bufLen = 0; // Reset buffer length + mseSourceBuffer.appendBuffer(data); // Append data to SourceBuffer + } else if (mseSourceBuffer.buffered && mseSourceBuffer.buffered.length) { + // If no new data to append, check if there's buffered data in SourceBuffer + const end = + mseSourceBuffer.buffered.end(mseSourceBuffer.buffered.length - 1) - + 15; + const start = mseSourceBuffer.buffered.start(0); + if (end > start) { + // Remove older data from the SourceBuffer to free up space + mseSourceBuffer.remove(start, end); + mediaSource.setLiveSeekableRange(end, end + 15); + } + } + } catch (e) { + console.debug(e); + props.onError?.(e); + } + }; + + const readPacket = (event: MessageEvent) => { + if (mseSourceBuffer.updating || bufLen > 0) { + // Buffer data if SourceBuffer is updating or buffer has data + const b = new Uint8Array(event.data); + buf.set(b, bufLen); + bufLen += b.byteLength; + } else { + try { + // Append data directly if SourceBuffer is ready + mseSourceBuffer.appendBuffer(event.data); + } catch (e) { + console.debug(e); + props.onError?.(e); + } + } + }; + + const cleanup = () => { + console.debug("Cleaning up video player"); + if (wsRef.current) { + wsRef.current.close(); + } + if (mseSourceBuffer) { + mseSourceBuffer.abort(); + } + if (playerRef.current) { + playerRef.current.pause(); + playerRef.current.src = ""; + playerRef.current.srcObject = null; + } + }; + + const startHLS = () => { + console.debug("Broken os/browser, falling back to hls"); + try { + if (!playerRef.current || !props.streamUrl) return; + const url = new URL(props.streamUrl); + if (url.protocol === "wss:") { + url.protocol = "https:"; + } + url.pathname = url.pathname.replace("mse", "hls/live/index.m3u8"); + playerRef.current.src = url.toString(); + playerRef.current.onplaying = () => { + props.onSuccess?.(undefined); + }; + } catch (err) { + console.debug(err); + props.onError?.(err); + } + }; + + const startMSE = () => { + try { + if (!playerRef.current || !props.streamUrl) return; + if (typeof ManagedMediaSource !== "undefined") { + mediaSource = new ManagedMediaSource(); + playerRef.current.disableRemotePlayback = true; + playerRef.current.srcObject = mediaSource; + } else { + mediaSource = new MediaSource(); + playerRef.current.src = URL.createObjectURL(mediaSource); + } + mediaSource.onsourceopen = function () { + const ws = new WebSocket(props.streamUrl); + wsRef.current = ws; + ws.binaryType = "arraybuffer"; + ws.onopen = (_) => props.onSuccess?.(undefined); + ws.onerror = (event) => props.onError?.(event); + ws.onmessage = function (event) { + const data = new Uint8Array(event.data); + // First packet is the codec type + if (+data[0] === 9) { + const mimeCodec = new TextDecoder("utf-8").decode(data.slice(1)); + try { + mseSourceBuffer = mediaSource.addSourceBuffer( + `video/mp4; codecs="${mimeCodec}"`, + ); + } catch (error) { + props.onError?.(error); + return; + } + buf = new Uint8Array(2 * 1024 * 1024); + mseSourceBuffer.mode = "segments"; + mseSourceBuffer.onupdateend = pushPacket; + // switch to readPacket after creating SourceBuffer + ws.onmessage = readPacket; + } else { + readPacket(event); + } + }; + }; + } catch (err) { + console.debug(err); + } + }; + + useEffect(() => { + // if the device is ios < 18 or safari < 17 then fallback to hls + if (isIOSVersionLessThan18() || isSafariVersionLessThan17()) { + startHLS(); + } else { + startMSE(); + } + return () => { + cleanup(); + }; + }, [props.streamUrl]); + + return ( + <> +