From 7769eb91ff07691682332236d403626150ee85c2 Mon Sep 17 00:00:00 2001
From: Sulochan Khadka <122200551+Sulochan-khadka@users.noreply.github.com>
Date: Tue, 10 Sep 2024 13:34:09 +0530
Subject: [PATCH 01/19] Remove clear all filters when no filters are applied.
 (#8466)

---
 .../Facility/DischargedPatientsList.tsx           | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/Components/Facility/DischargedPatientsList.tsx b/src/Components/Facility/DischargedPatientsList.tsx
index 5a7d706ee87..6603f3964af 100644
--- a/src/Components/Facility/DischargedPatientsList.tsx
+++ b/src/Components/Facility/DischargedPatientsList.tsx
@@ -417,12 +417,15 @@ const DischargedPatientsList = ({
             ),
           ]}
           children={
-            <>
-              {qParams.last_consultation_admitted_bed_type_list &&
-                LastAdmittedToTypeBadges()}
-              {qParams.last_consultation__consent_types &&
-                HasConsentTypesBadges()}
-            </>
+            (qParams.last_consultation_admitted_bed_type_list ||
+              qParams.last_consultation__consent_types) && (
+              <>
+                {qParams.last_consultation_admitted_bed_type_list &&
+                  LastAdmittedToTypeBadges()}
+                {qParams.last_consultation__consent_types &&
+                  HasConsentTypesBadges()}
+              </>
+            )
           }
         />
       </div>

From 80a8a4761d3629bfb30a501e66e1d54d58c80ba2 Mon Sep 17 00:00:00 2001
From: JOSHIK ROSHAN <96165631+JOSHIK27@users.noreply.github.com>
Date: Tue, 10 Sep 2024 09:04:38 +0100
Subject: [PATCH 02/19] enhanced AutocompleteFormField (#8414)

---
 src/Components/Form/FormFields/Autocomplete.tsx | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Components/Form/FormFields/Autocomplete.tsx b/src/Components/Form/FormFields/Autocomplete.tsx
index 2addbfa9b33..c5bec6f99d6 100644
--- a/src/Components/Form/FormFields/Autocomplete.tsx
+++ b/src/Components/Form/FormFields/Autocomplete.tsx
@@ -163,6 +163,7 @@ export const Autocomplete = <T, V>(props: AutocompleteProps<T, V>) => {
       id={props.id}
     >
       <Combobox
+        immediate
         disabled={props.disabled}
         value={(value ?? props.placeholder ?? "Select") as T}
         onChange={(selection: any) => props.onChange(selection.value)}

From ca468236105c8fe5077278eb20f9efbd0e425653 Mon Sep 17 00:00:00 2001
From: Rithvik Nishad <mail@rithviknishad.dev>
Date: Tue, 10 Sep 2024 13:35:46 +0530
Subject: [PATCH 03/19] Fixes Autocomplete input erroring when combobox input
 is cleared (#8501)

---
 src/Components/Form/FormFields/Autocomplete.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Components/Form/FormFields/Autocomplete.tsx b/src/Components/Form/FormFields/Autocomplete.tsx
index c5bec6f99d6..f1c52853e37 100644
--- a/src/Components/Form/FormFields/Autocomplete.tsx
+++ b/src/Components/Form/FormFields/Autocomplete.tsx
@@ -166,7 +166,7 @@ export const Autocomplete = <T, V>(props: AutocompleteProps<T, V>) => {
         immediate
         disabled={props.disabled}
         value={(value ?? props.placeholder ?? "Select") as T}
-        onChange={(selection: any) => props.onChange(selection.value)}
+        onChange={(selection: any) => props.onChange(selection?.value)}
       >
         <div className="relative">
           <div className="flex">

From b2a72c39cc5e01ec48c7de1425d387f43345205e Mon Sep 17 00:00:00 2001
From: Rithvik Nishad <mail@rithviknishad.dev>
Date: Tue, 10 Sep 2024 13:36:31 +0530
Subject: [PATCH 04/19] Fixes PDF Viewer clipping out in different display zoom
 settings (#8496)

---
 src/Components/Common/PDFViewer.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Components/Common/PDFViewer.tsx b/src/Components/Common/PDFViewer.tsx
index 28cacc09b48..a9566a01fc7 100644
--- a/src/Components/Common/PDFViewer.tsx
+++ b/src/Components/Common/PDFViewer.tsx
@@ -13,7 +13,7 @@ export default function PDFViewer(
   pdfjs.GlobalWorkerOptions.workerSrc = "/pdf.worker.min.mjs";
 
   return (
-    <div className="flex flex-col items-center justify-center">
+    <div className="flex h-full flex-col items-center justify-center">
       <div className="w-full overflow-auto">
         <Document
           file={props.url}

From dcb09cfb7b08e742510f2cf8c21516b11c1e2524 Mon Sep 17 00:00:00 2001
From: Sulochan Khadka <122200551+Sulochan-khadka@users.noreply.github.com>
Date: Tue, 10 Sep 2024 13:37:10 +0530
Subject: [PATCH 05/19] Procedures: consultation #8366 (#8477)

Co-authored-by: Rithvik Nishad <rithvikn2001@gmail.com>
---
 src/Components/Facility/ConsultationForm.tsx | 2 +-
 src/Locale/en/Consultation.json              | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/Components/Facility/ConsultationForm.tsx b/src/Components/Facility/ConsultationForm.tsx
index f9faffaba0f..2cfe9c8f4df 100644
--- a/src/Components/Facility/ConsultationForm.tsx
+++ b/src/Components/Facility/ConsultationForm.tsx
@@ -1361,7 +1361,7 @@ export const ConsultationForm = ({ facilityId, patientId, id }: Props) => {
                         className="col-span-6"
                         ref={fieldRef["procedure"]}
                       >
-                        <FieldLabel>Procedures</FieldLabel>
+                        <FieldLabel>{t("procedure_suggestions")}</FieldLabel>
                         <ProcedureBuilder
                           procedures={
                             Array.isArray(state.form.procedure)
diff --git a/src/Locale/en/Consultation.json b/src/Locale/en/Consultation.json
index d3b24781f50..65ea63e875c 100644
--- a/src/Locale/en/Consultation.json
+++ b/src/Locale/en/Consultation.json
@@ -54,5 +54,6 @@
   "encounter_date_field_label__R": "Date & Time of Consultation",
   "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)"
+  "consultation_notes": "General Instructions (Advice)",
+  "procedure_suggestions": "Procedure Suggestions"
 }

From 8b6260b5e2ec29c4f1c684c7104b8a427a6d1936 Mon Sep 17 00:00:00 2001
From: Rithvik Nishad <mail@rithviknishad.dev>
Date: Tue, 10 Sep 2024 13:51:14 +0530
Subject: [PATCH 06/19] =?UTF-8?q?Adds=20support=20for=20=F0=9F=94=8D=20Zoo?=
 =?UTF-8?q?m=20In=20&=20Out=20for=20=F0=9F=96=A8=EF=B8=8F=20Print=20Previe?=
 =?UTF-8?q?w=20component=20(#8487)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/CAREUI/interactive/Zoom.tsx  | 97 ++++++++++++++++++++++++++++++++
 src/CAREUI/misc/PrintPreview.tsx | 32 +++++++----
 src/Locale/en/Common.json        |  3 +-
 3 files changed, 120 insertions(+), 12 deletions(-)
 create mode 100644 src/CAREUI/interactive/Zoom.tsx

diff --git a/src/CAREUI/interactive/Zoom.tsx b/src/CAREUI/interactive/Zoom.tsx
new file mode 100644
index 00000000000..bf5747f9b91
--- /dev/null
+++ b/src/CAREUI/interactive/Zoom.tsx
@@ -0,0 +1,97 @@
+import { createContext, ReactNode, useContext, useState } from "react";
+import ButtonV2 from "../../Components/Common/components/ButtonV2";
+import CareIcon from "../icons/CareIcon";
+
+type ProviderValue = {
+  scale: number;
+  zoomIn: () => void;
+  zoomOut: () => void;
+};
+
+const ZoomContext = createContext<ProviderValue | null>(null);
+
+type Props = {
+  initialScale?: number;
+  scaleRatio?: number;
+  children: ReactNode;
+};
+
+export const ZoomProvider = ({
+  initialScale = 1,
+  scaleRatio = 1.25,
+  children,
+}: Props) => {
+  const [scale, setScale] = useState(initialScale);
+
+  return (
+    <ZoomContext.Provider
+      value={{
+        scale,
+        zoomIn: () => setScale((scale) => scale * scaleRatio),
+        zoomOut: () => setScale((scale) => scale / scaleRatio),
+      }}
+    >
+      {children}
+    </ZoomContext.Provider>
+  );
+};
+
+export const ZoomTransform = (props: {
+  children: ReactNode;
+  className?: string;
+}) => {
+  const ctx = useContext(ZoomContext);
+
+  if (ctx == null) {
+    throw new Error("Component must be used with ZoomProvider");
+  }
+
+  return (
+    <div
+      className={props.className}
+      style={{
+        transform: `scale(${ctx.scale})`,
+      }}
+    >
+      {props.children}
+    </div>
+  );
+};
+
+export const ZoomControls = (props: { disabled?: boolean }) => {
+  const ctx = useContext(ZoomContext);
+
+  if (ctx == null) {
+    throw new Error("Component must be used with ZoomProvider");
+  }
+
+  return (
+    <div className="absolute bottom-8 right-8 flex flex-col items-center justify-center gap-1 rounded-full border border-secondary-400 bg-white p-0.5 shadow-lg md:flex-row-reverse md:gap-2">
+      <ButtonV2
+        disabled={props.disabled}
+        circle
+        variant="secondary"
+        size="small"
+        shadow={false}
+        className="p-2.5"
+        onClick={ctx.zoomIn}
+      >
+        <CareIcon icon="l-search-plus" className="text-lg" />
+      </ButtonV2>
+      <span className="text-sm font-semibold text-secondary-800">
+        {Math.round(ctx.scale * 100)}%
+      </span>
+      <ButtonV2
+        disabled={props.disabled}
+        circle
+        variant="secondary"
+        size="small"
+        shadow={false}
+        className="p-2.5"
+        onClick={ctx.zoomOut}
+      >
+        <CareIcon icon="l-search-minus" className="text-lg" />
+      </ButtonV2>
+    </div>
+  );
+};
diff --git a/src/CAREUI/misc/PrintPreview.tsx b/src/CAREUI/misc/PrintPreview.tsx
index 243826c7337..fe8b09b173c 100644
--- a/src/CAREUI/misc/PrintPreview.tsx
+++ b/src/CAREUI/misc/PrintPreview.tsx
@@ -3,6 +3,9 @@ import ButtonV2 from "../../Components/Common/components/ButtonV2";
 import CareIcon from "../icons/CareIcon";
 import { classNames } from "../../Utils/utils";
 import Page from "../../Components/Common/components/Page";
+import useBreakpoints from "../../Common/hooks/useBreakpoints";
+import { useTranslation } from "react-i18next";
+import { ZoomControls, ZoomProvider, ZoomTransform } from "../interactive/Zoom";
 
 type Props = {
   children: ReactNode;
@@ -12,24 +15,31 @@ type Props = {
 };
 
 export default function PrintPreview(props: Props) {
+  const normalScale = useBreakpoints({ default: 0.44, md: 1 });
+  const { t } = useTranslation();
+
   return (
     <Page title={props.title}>
       <div className="mx-auto my-8 w-[50rem]">
-        <div className="top-0 z-20 flex justify-end gap-2 bg-secondary-100 px-2 py-4 xl:absolute xl:right-6 xl:top-8">
-          <ButtonV2 disabled={props.disabled} onClick={() => window.print()}>
+        <div className="top-0 z-20 flex gap-2 bg-secondary-100 px-2 py-4 xl:absolute xl:right-6 xl:top-8 xl:justify-end">
+          <ButtonV2 disabled={props.disabled} onClick={print}>
             <CareIcon icon="l-print" className="text-lg" />
-            Print
+            {t("print")}
           </ButtonV2>
         </div>
 
-        <div className="bg-white p-10 text-sm shadow-2xl transition-all duration-200 ease-in-out">
-          <div
-            id="section-to-print"
-            className={classNames("w-full", props.className)}
-          >
-            {props.children}
-          </div>
-        </div>
+        <ZoomProvider initialScale={normalScale}>
+          <ZoomTransform className="origin-top-left bg-white p-10 text-sm shadow-2xl transition-all duration-200 ease-in-out lg:origin-top print:transform-none">
+            <div
+              id="section-to-print"
+              className={classNames("w-full", props.className)}
+            >
+              {props.children}
+            </div>
+          </ZoomTransform>
+
+          <ZoomControls disabled={props.disabled} />
+        </ZoomProvider>
       </div>
     </Page>
   );
diff --git a/src/Locale/en/Common.json b/src/Locale/en/Common.json
index 24855e05d70..0d021ba2f9e 100644
--- a/src/Locale/en/Common.json
+++ b/src/Locale/en/Common.json
@@ -66,6 +66,7 @@
   "contact_person_number": "Contact person number",
   "referral_letter": "Referral Letter",
   "close": "Close",
+  "print": "Print",
   "print_referral_letter": "Print Referral Letter",
   "date_of_positive_covid_19_swab": "Date of Positive Covid 19 Swab",
   "patient_no": "OP/IP No",
@@ -201,4 +202,4 @@
   "oxygen_information": "Oxygen Information",
   "deleted_successfully": "{{name}} deleted successfully",
   "delete_item": "Delete {{name}}"
-}
+}
\ No newline at end of file

From d3ca662ff61d856fffc034e45ef251f9005e1755 Mon Sep 17 00:00:00 2001
From: Shivank Kacker <kacker.shivank@gmail.com>
Date: Tue, 10 Sep 2024 17:16:25 +0530
Subject: [PATCH 07/19] Reorder classnames only on pre-commit (#8497)

---
 .prettierrc.json | 3 ---
 package.json     | 2 +-
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/.prettierrc.json b/.prettierrc.json
index 96ff50bd324..e3a9c2acae9 100644
--- a/.prettierrc.json
+++ b/.prettierrc.json
@@ -7,8 +7,5 @@
   "arrowParens": "always",
   "tailwindFunctions": [
     "classNames"
-  ],
-  "plugins": [
-    "prettier-plugin-tailwindcss"
   ]
 }
\ No newline at end of file
diff --git a/package.json b/package.json
index 0b3d1547ee0..07996f9aa5c 100644
--- a/package.json
+++ b/package.json
@@ -143,7 +143,7 @@
   },
   "lint-staged": {
     "*.{ts,tsx,js,jsx}": [
-      "prettier --write --ignore-unknown",
+      "prettier --write --ignore-unknown --plugin prettier-plugin-tailwindcss",
       "eslint --fix",
       "git update-index --again"
     ]

From 07d75b1e60e853bb1b8c3bdc1e60bc84c680c31f Mon Sep 17 00:00:00 2001
From: Aditya Jindal <adityajindal2305@gmail.com>
Date: Tue, 10 Sep 2024 17:19:24 +0530
Subject: [PATCH 08/19] Added: Warning for unsupported browsers (#8417)

Co-authored-by: Rithvik Nishad <rithvikn2001@gmail.com>
Co-authored-by: RaCl <rajclerk.2004@gmail.com>
Co-authored-by: rithviknishad <mail@rithviknishad.dev>
Co-authored-by: Aakash Singh <mail@singhaakash.dev>
---
 .gitignore                                   |   2 +-
 package-lock.json                            | 258 +++++++++----------
 package.json                                 |   7 +-
 src/Components/Auth/Login.tsx                |   2 +
 src/Components/ErrorPages/BrowserWarning.tsx |  35 +++
 src/Locale/en/Common.json                    |   5 +-
 6 files changed, 169 insertions(+), 140 deletions(-)
 create mode 100644 src/Components/ErrorPages/BrowserWarning.tsx

diff --git a/.gitignore b/.gitignore
index 2bf54f0c767..d02d753ca3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,7 +30,7 @@ stats.json
 public/build-meta.json
 .vscode/*
 !.vscode/launch.json
-
+src/supportedBrowsers.ts
 
 # Reason React
 /lib/bs/**
diff --git a/package-lock.json b/package-lock.json
index b9b0c4d0583..4615e263405 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,7 +18,9 @@
         "@sentry/browser": "^8.12.0",
         "@yudiel/react-qr-scanner": "^2.0.0-beta.3",
         "axios": "^1.6.8",
+        "bowser": "^2.11.0",
         "browser-image-compression": "^2.0.2",
+        "browserslist-useragent-regexp": "^4.1.3",
         "cross-env": "^7.0.3",
         "dayjs": "^1.11.11",
         "echarts": "^5.5.0",
@@ -2475,19 +2477,6 @@
       "dev": true,
       "peer": true
     },
-    "node_modules/@eslint/eslintrc/node_modules/type-fest": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
     "node_modules/@eslint/js": {
       "version": "8.57.0",
       "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
@@ -4449,26 +4438,19 @@
       "version": "8.56.10",
       "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
       "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
+      "dev": true,
+      "optional": true,
       "peer": true,
       "dependencies": {
         "@types/estree": "*",
         "@types/json-schema": "*"
       }
     },
-    "node_modules/@types/eslint-scope": {
-      "version": "3.7.7",
-      "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
-      "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
-      "peer": true,
-      "dependencies": {
-        "@types/eslint": "*",
-        "@types/estree": "*"
-      }
-    },
     "node_modules/@types/estree": {
       "version": "0.0.51",
       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
-      "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
+      "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+      "dev": true
     },
     "node_modules/@types/estree-jsx": {
       "version": "1.0.5",
@@ -5333,11 +5315,9 @@
       "optional": true
     },
     "node_modules/acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
-      "dev": true,
-      "peer": true,
+      "version": "8.12.1",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+      "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -5345,6 +5325,15 @@
         "node": ">=0.4.0"
       }
     },
+    "node_modules/acorn-import-attributes": {
+      "version": "1.9.5",
+      "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
+      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
+      "peer": true,
+      "peerDependencies": {
+        "acorn": "^8"
+      }
+    },
     "node_modules/acorn-jsx": {
       "version": "5.3.2",
       "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
@@ -5443,7 +5432,6 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
       "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-      "devOptional": true,
       "engines": {
         "node": ">=8"
       }
@@ -5539,6 +5527,14 @@
       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
       "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
     },
+    "node_modules/argue-cli": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/argue-cli/-/argue-cli-2.1.0.tgz",
+      "integrity": "sha512-dgojXfc4SiqmNwe38PnbT3zJasrz7g62dLAPD+VFT5RJb8W7LGRqw2IFd2ES+plnhsp4HYNJmFqMU1tCThdCww==",
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
     "node_modules/array-buffer-byte-length": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
@@ -5924,6 +5920,12 @@
       "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
       "dev": true
     },
+    "node_modules/bowser": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+      "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
+      "license": "MIT"
+    },
     "node_modules/brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -5985,6 +5987,45 @@
         "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
       }
     },
+    "node_modules/browserslist-useragent-regexp": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/browserslist-useragent-regexp/-/browserslist-useragent-regexp-4.1.3.tgz",
+      "integrity": "sha512-+KteEIVlrE2eJOmtteWhcs3wYKjbFd9fVPzPlj4VGggKMyf9orf+zjmlNt91ekInZ2zqox5ArEZD/tKXDj0v9Q==",
+      "funding": [
+        "https://opencollective.com/browserslist-useragent-regexp",
+        "https://ko-fi.com/dangreen"
+      ],
+      "license": "MIT",
+      "dependencies": {
+        "argue-cli": "^2.1.0",
+        "easy-table": "^1.2.0",
+        "picocolors": "^1.0.0",
+        "regexp-tree": "^0.1.24",
+        "ua-regexes-lite": "^1.2.1"
+      },
+      "bin": {
+        "bluare": "dist/cli.js",
+        "browserslist-useragent-regexp": "dist/cli.js"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "browserslist": ">=4.0.0"
+      }
+    },
+    "node_modules/browserslist-useragent-regexp/node_modules/easy-table": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.2.0.tgz",
+      "integrity": "sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==",
+      "license": "MIT",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "optionalDependencies": {
+        "wcwidth": "^1.0.1"
+      }
+    },
     "node_modules/buffer": {
       "version": "5.7.1",
       "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
@@ -6253,9 +6294,9 @@
       }
     },
     "node_modules/chrome-trace-event": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
-      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+      "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
       "peer": true,
       "engines": {
         "node": ">=6.0"
@@ -6332,7 +6373,6 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
       "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
-      "dev": true,
       "optional": true,
       "engines": {
         "node": ">=0.8"
@@ -6915,7 +6955,6 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
       "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
-      "dev": true,
       "optional": true,
       "dependencies": {
         "clone": "^1.0.2"
@@ -7285,9 +7324,9 @@
       }
     },
     "node_modules/enhanced-resolve": {
-      "version": "5.16.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz",
-      "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==",
+      "version": "5.17.1",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+      "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
       "dependencies": {
         "graceful-fs": "^4.2.4",
         "tapable": "^2.2.0"
@@ -7708,18 +7747,6 @@
         "eslint": ">=8.0.0"
       }
     },
-    "node_modules/eslint-mdx/node_modules/acorn": {
-      "version": "8.12.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
-      "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
     "node_modules/eslint-plugin-i18next": {
       "version": "6.0.9",
       "resolved": "https://registry.npmjs.org/eslint-plugin-i18next/-/eslint-plugin-i18next-6.0.9.tgz",
@@ -7934,15 +7961,11 @@
       "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
       "dev": true,
       "peer": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^5.2.0"
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
+        "node": ">=10"
       }
     },
     "node_modules/eslint/node_modules/globals": {
@@ -7968,19 +7991,6 @@
       "dev": true,
       "peer": true
     },
-    "node_modules/eslint/node_modules/type-fest": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
     "node_modules/espree": {
       "version": "9.6.1",
       "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
@@ -7998,18 +8008,6 @@
         "url": "https://opencollective.com/eslint"
       }
     },
-    "node_modules/espree/node_modules/acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
     "node_modules/esprima": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
@@ -8024,9 +8022,9 @@
       }
     },
     "node_modules/esquery": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
-      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+      "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
       "dev": true,
       "peer": true,
       "dependencies": {
@@ -12287,18 +12285,6 @@
       "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
       "dev": true
     },
-    "node_modules/micromark-extension-mdxjs/node_modules/acorn": {
-      "version": "8.12.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
-      "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
     "node_modules/micromark-factory-destination": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz",
@@ -15221,6 +15207,15 @@
         "@babel/runtime": "^7.8.4"
       }
     },
+    "node_modules/regexp-tree": {
+      "version": "0.1.27",
+      "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz",
+      "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==",
+      "license": "MIT",
+      "bin": {
+        "regexp-tree": "bin/regexp-tree"
+      }
+    },
     "node_modules/regexp.prototype.flags": {
       "version": "1.5.2",
       "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
@@ -17011,17 +17006,6 @@
         }
       }
     },
-    "node_modules/terser/node_modules/acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
     "node_modules/terser/node_modules/commander": {
       "version": "2.20.3",
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -17277,6 +17261,19 @@
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/type-fest": {
+      "version": "0.20.2",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+      "dev": true,
+      "peer": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/typed-array-buffer": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
@@ -17369,6 +17366,18 @@
         "node": ">=14.17"
       }
     },
+    "node_modules/ua-regexes-lite": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ua-regexes-lite/-/ua-regexes-lite-1.2.1.tgz",
+      "integrity": "sha512-ling4WX4ZtxXjmSMHzuI8PGos2brw/6gG3YuVWn5RunHoQjeCokpFeMe/ti+R8E7kOTLE2FqBG4bMdFQLFwcJQ==",
+      "funding": [
+        "https://opencollective.com/browserslist-useragent-regexp",
+        "https://ko-fi.com/dangreen"
+      ],
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/unbox-primitive": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -18568,7 +18577,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
       "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
-      "dev": true,
       "optional": true,
       "dependencies": {
         "defaults": "^1.0.3"
@@ -18590,21 +18598,20 @@
       "optional": true
     },
     "node_modules/webpack": {
-      "version": "5.91.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz",
-      "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==",
+      "version": "5.94.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
+      "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
       "peer": true,
       "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
         "@types/estree": "^1.0.5",
         "@webassemblyjs/ast": "^1.12.1",
         "@webassemblyjs/wasm-edit": "^1.12.1",
         "@webassemblyjs/wasm-parser": "^1.12.1",
         "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
+        "acorn-import-attributes": "^1.9.5",
         "browserslist": "^4.21.10",
         "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.16.0",
+        "enhanced-resolve": "^5.17.1",
         "es-module-lexer": "^1.2.1",
         "eslint-scope": "5.1.1",
         "events": "^3.2.0",
@@ -18651,27 +18658,6 @@
       "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
       "peer": true
     },
-    "node_modules/webpack/node_modules/acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
-      "peer": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/webpack/node_modules/acorn-import-assertions": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
-      "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
-      "peer": true,
-      "peerDependencies": {
-        "acorn": "^8"
-      }
-    },
     "node_modules/whatwg-url": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
diff --git a/package.json b/package.json
index 07996f9aa5c..95cea780b72 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
   "license": "MIT",
   "scripts": {
     "build:react": "cross-env NODE_ENV=production vite build",
-    "build": "npm run generate-build-meta && npm run build:react",
+    "build": "npm run generate-build-meta && npm run supported-browsers && npm run build:react",
     "dev": "vite",
     "preview": "cross-env NODE_ENV=production vite preview",
     "generate-build-meta": "node ./scripts/generate-build-version.js",
@@ -40,7 +40,8 @@
     "prepare": "husky install",
     "lint": "eslint ./src",
     "lint-fix": "eslint ./src --fix",
-    "format": "prettier ./src --write"
+    "format": "prettier ./src --write",
+    "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",
@@ -52,7 +53,9 @@
     "@sentry/browser": "^8.12.0",
     "@yudiel/react-qr-scanner": "^2.0.0-beta.3",
     "axios": "^1.6.8",
+    "bowser": "^2.11.0",
     "browser-image-compression": "^2.0.2",
+    "browserslist-useragent-regexp": "^4.1.3",
     "cross-env": "^7.0.3",
     "dayjs": "^1.11.11",
     "echarts": "^5.5.0",
diff --git a/src/Components/Auth/Login.tsx b/src/Components/Auth/Login.tsx
index 17ecf061ef2..fa8325075dc 100644
--- a/src/Components/Auth/Login.tsx
+++ b/src/Components/Auth/Login.tsx
@@ -13,6 +13,7 @@ import rehypeRaw from "rehype-raw";
 import { useAuthContext } from "../../Common/hooks/useAuthUser";
 import FiltersCache from "../../Utils/FiltersCache";
 import { classNames } from "../../Utils/utils";
+import BrowserWarning from "../ErrorPages/BrowserWarning";
 import careConfig from "@careConfig";
 
 export const Login = (props: { forgot?: boolean }) => {
@@ -157,6 +158,7 @@ export const Login = (props: { forgot?: boolean }) => {
 
   return (
     <div className="relative flex flex-col-reverse overflow-hidden md:h-screen md:flex-row">
+      {!forgotPassword && <BrowserWarning />}
       <div className="login-hero relative flex flex-auto flex-col justify-between p-6 md:h-full md:w-[calc(50%+130px)] md:flex-none md:p-0 md:px-16 md:pr-[calc(4rem+130px)]">
         <div></div>
         <div className="mt-4 flex flex-col items-start rounded-lg py-4 md:mt-12">
diff --git a/src/Components/ErrorPages/BrowserWarning.tsx b/src/Components/ErrorPages/BrowserWarning.tsx
new file mode 100644
index 00000000000..4eb0b7c7e10
--- /dev/null
+++ b/src/Components/ErrorPages/BrowserWarning.tsx
@@ -0,0 +1,35 @@
+import React from "react";
+import supportedBrowsers from "../../supportedBrowsers";
+import bowser from "bowser";
+import { useTranslation } from "react-i18next";
+
+const BrowserWarning = () => {
+  const { t } = useTranslation();
+  const notSupported = React.useMemo(() => {
+    const userAgent = window.navigator.userAgent;
+    if (!supportedBrowsers.test(userAgent)) {
+      const browser = bowser.getParser(userAgent).getBrowser();
+      return {
+        name: browser.name || "Unknown",
+        version: browser.version || "Unknown",
+      };
+    }
+  }, []);
+
+  if (!notSupported) {
+    return null;
+  }
+
+  return (
+    <div className="fixed left-0 top-0 z-50 flex h-20 w-full items-center justify-center bg-gray-800 bg-opacity-60 text-center text-gray-300">
+      <div>
+        <h2 className="text-lg font-medium">{t("unsupported_browser")}</h2>
+        <p className="text-sm">
+          {t("unsupported_browser_description", notSupported)}
+        </p>
+      </div>
+    </div>
+  );
+};
+
+export default BrowserWarning;
diff --git a/src/Locale/en/Common.json b/src/Locale/en/Common.json
index 0d021ba2f9e..432d5979bed 100644
--- a/src/Locale/en/Common.json
+++ b/src/Locale/en/Common.json
@@ -201,5 +201,8 @@
   "are_you_sure_want_to_delete": "Are you sure you want to delete {{name}}?",
   "oxygen_information": "Oxygen Information",
   "deleted_successfully": "{{name}} deleted successfully",
-  "delete_item": "Delete {{name}}"
+  "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."
+
 }
\ No newline at end of file

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 09/19] 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) => {
           <span>{t("view_details")}</span>
         </ButtonV2>
         <ButtonV2
+          id="update-log"
           variant="secondary"
           disabled={!!props.consultationData?.discharge_date}
           border
diff --git a/src/Components/Form/FormFields/RangeFormField.tsx b/src/Components/Form/FormFields/RangeFormField.tsx
index b4ed7237c8a..aeda58ac0fd 100644
--- a/src/Components/Form/FormFields/RangeFormField.tsx
+++ b/src/Components/Form/FormFields/RangeFormField.tsx
@@ -115,7 +115,7 @@ export default function RangeFormField(props: Props) {
             {!props.hideInput && (
               <>
                 <TextFormField
-                  name="range"
+                  name={`${props.name}-range-input`}
                   type="number"
                   value={displayValue}
                   placeholder="--.--"
diff --git a/src/Components/LogUpdate/CriticalCareEditor.tsx b/src/Components/LogUpdate/CriticalCareEditor.tsx
index 8c0eef729c5..975d06848b0 100644
--- a/src/Components/LogUpdate/CriticalCareEditor.tsx
+++ b/src/Components/LogUpdate/CriticalCareEditor.tsx
@@ -51,6 +51,7 @@ export default function CriticalCareEditor(props: Props) {
     >
       <div className="py-4">
         <ButtonV2
+          id="back-to-consultation"
           variant="secondary"
           onClick={() => {
             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) {
     <div className="w-full transition-all duration-200 ease-in-out md:mx-auto md:max-w-5xl md:pt-8">
       <div className="py-4">
         <ButtonV2
+          id="back-to-consultation"
           variant="secondary"
           href={`/facility/${props.facilityId}/patient/${props.patientId}/consultation/${props.consultationId}`}
         >

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 10/19] 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 11/19] 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 12/19] 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 13/19] 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 14/19] 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 <bodhish@gmail.com>
Date: Mon, 16 Sep 2024 15:42:55 +0530
Subject: [PATCH 15/19] 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 <bodhish@gmail.com>
Date: Mon, 16 Sep 2024 16:31:20 +0530
Subject: [PATCH 16/19] 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 <khavinshankar@gmail.com>
Date: Tue, 17 Sep 2024 07:24:59 +0530
Subject: [PATCH 17/19] 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) {
 
       <div className="flex items-center gap-3">
         <TextFormField
-          value={patient?.abha_number_object?.health_id as string}
+          value={abha?.health_id as string}
           onChange={() => 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 = ({
     >
       <div className="flex items-center justify-between">
         <TextFormField
-          value={patient?.abha_number_object?.name}
+          value={abha?.name}
           onChange={() => null}
           disabled
           label="Name"
@@ -41,7 +41,7 @@ const LinkCareContextModal = ({
           error=""
         />
         <TextFormField
-          value={patient?.abha_number_object?.gender}
+          value={abha?.gender}
           onChange={() => null}
           disabled
           label="Gender"
@@ -52,11 +52,7 @@ const LinkCareContextModal = ({
       <DateFormField
         name="dob"
         label="Date of Birth"
-        value={
-          patient?.abha_number_object?.date_of_birth
-            ? new Date(patient?.abha_number_object?.date_of_birth)
-            : undefined
-        }
+        value={abha?.date_of_birth ? new Date(abha?.date_of_birth) : undefined}
         onChange={() => 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<PatientModel>({});
+  const [abhaNumberData, setAbhaNumberData] = useState<AbhaNumberModel>();
   const [activeShiftingData, setActiveShiftingData] = useState<Array<any>>([]);
   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) => {
           <div className="size-full rounded-lg border bg-white text-black shadow">
             <PatientInfoCard
               patient={patientData}
+              abhaNumber={abhaNumberData}
               consultation={consultationData}
               fetchPatientData={fetchData}
               consultationId={consultationId}
@@ -382,7 +399,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 (
     <div>
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 (
     <div>
       <div className="grid-row-1 grid gap-4 md:grid-cols-2">
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 <Loading />;
   }
 
-  console.log("Investigations: ", investigations);
-
   return (
     <div className="mt-5" id="investigation-suggestions">
       <h3>{t("investigations_suggested")}</h3>
@@ -110,11 +108,6 @@ export default function ViewInvestigationSuggestions(props: {
                         const investigationMissed =
                           nextInvestigationTime &&
                           dayjs().isAfter(nextInvestigationTime);
-                        console.log(
-                          type,
-                          nextFurthestInvestigation,
-                          nextInvestigationTime,
-                        );
 
                         return (
                           <li
diff --git a/src/Components/Facility/Investigations/Reports/index.tsx b/src/Components/Facility/Investigations/Reports/index.tsx
index 80cccb34b13..45bc7de0a26 100644
--- a/src/Components/Facility/Investigations/Reports/index.tsx
+++ b/src/Components/Facility/Investigations/Reports/index.tsx
@@ -107,8 +107,6 @@ const InvestigationReports = ({ id }: any) => {
     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<HCXClaimModel>();
   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: {
 
               <div>
                 {careConfig.abdm.enabled &&
-                  (patient.abha_number ? (
+                  (props.abhaNumber ? (
                     <>
                       <MenuItem>
                         {({ close }) => (
@@ -964,18 +966,18 @@ export default function PatientInfoCard(props: {
       />
       <ABHAProfileModal
         patientId={patient.id}
-        abha={patient.abha_number_object}
+        abha={props.abhaNumber}
         show={showABHAProfile}
         onClose={() => setShowABHAProfile(false)}
       />
       <LinkCareContextModal
         consultationId={props.consultationId}
-        patient={patient}
+        abha={props.abhaNumber}
         show={showLinkCareContext}
         onClose={() => setShowLinkCareContext(false)}
       />
       <FetchRecordsModal
-        patient={patient}
+        abha={props.abhaNumber}
         show={showFetchABDMRecords}
         onClose={() => 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<AbhaNumberModel>(),
+    },
+
     // ABDM HealthID endpoints
     generateAadhaarOtp: {
       path: "/api/v1/abdm/healthid/generate_aadhaar_otp/",

From f0a16273468ebbf93332ea9fe4da07ec66fe63ca Mon Sep 17 00:00:00 2001
From: Khavin Shankar <khavinshankar@gmail.com>
Date: Tue, 17 Sep 2024 10:14:17 +0530
Subject: [PATCH 18/19] 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<ICreateHealthIdRequest>(),
     },
 
+    linkPatient: {
+      path: "/api/v1/abdm/healthid/link_patient/",
+      method: "POST",
+      TBody: Type<{ abha_number: string; patient: string }>(),
+      TRes: Type<AbhaNumberModel>(),
+    },
+
     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 19/19] 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 },
     );
   }