diff --git a/src/layout/MainLayout/Drawer/index.js b/src/layout/MainLayout/Drawer/index.js
index 5032de6..39898d2 100644
--- a/src/layout/MainLayout/Drawer/index.js
+++ b/src/layout/MainLayout/Drawer/index.js
@@ -4,6 +4,7 @@ import { useMemo } from 'react';
// material-ui
import { useTheme } from '@mui/material/styles';
import { Box, Drawer, useMediaQuery } from '@mui/material';
+import { useIntl } from 'react-intl';
// project import
import DrawerHeader from './DrawerHeader';
@@ -15,6 +16,7 @@ import { drawerWidth } from 'config';
const MainDrawer = ({ open, handleDrawerToggle, window }) => {
const theme = useTheme();
+ const intl = useIntl();
const matchDownMD = useMediaQuery(theme.breakpoints.down('lg'));
// responsive drawer container
@@ -25,7 +27,7 @@ const MainDrawer = ({ open, handleDrawerToggle, window }) => {
const drawerHeader = useMemo(() => , [open]);
return (
-
+
{!matchDownMD ? (
{drawerHeader}
diff --git a/src/layout/MainLayout/Header/HeaderContent/Profile/index.js b/src/layout/MainLayout/Header/HeaderContent/Profile/index.js
index 5fe8ad9..751bd48 100644
--- a/src/layout/MainLayout/Header/HeaderContent/Profile/index.js
+++ b/src/layout/MainLayout/Header/HeaderContent/Profile/index.js
@@ -33,6 +33,7 @@ import { LogoutOutlined,
import { handleLogoutFunction } from 'auth/index';
import {useNavigate} from "react-router-dom";
import {useDispatch} from "react-redux";
+import { useIntl } from 'react-intl';
import AccountCircleIcon from '@mui/icons-material/AccountCircle';
// tab panel wrapper
@@ -61,6 +62,7 @@ TabPanel.propTypes = {
const Profile = () => {
const theme = useTheme();
+ const intl = useIntl();
const navigate = useNavigate()
const dispatch = useDispatch()
@@ -170,7 +172,7 @@ const Profile = () => {
{/* {open && (
<>
-
+
{
+ const intl = useIntl();
const [comboData, setComboData] = React.useState([]);
const [holidayComboData, setHolidayComboData] = React.useState([]);
const [onReady, setOnReady] = React.useState(false);
@@ -198,7 +200,7 @@ const Index = () => {
hidden
disabled={waitImport}
onChange={readFile}
- aria-label="Upload Excel file (.xlsx)"
+ aria-label={intl.formatMessage({ id: 'ariaUploadExcelFile' })}
/>
diff --git a/src/pages/Holiday/index.js b/src/pages/Holiday/index.js
index 9e3d501..60f9fd4 100644
--- a/src/pages/Holiday/index.js
+++ b/src/pages/Holiday/index.js
@@ -31,11 +31,12 @@ import { ThemeProvider } from "@emotion/react";
import { dateStr_Year } from "utils/DateUtils";
import { notifySaveSuccess } from 'utils/CommonFunction';
import { isGrantedAny } from "auth/utils";
+import { useIntl } from 'react-intl';
// ==============================|| DASHBOARD - DEFAULT ||============================== //
const Index = () => {
-
+ const intl = useIntl();
const [record, setRecord] = React.useState([]);
const [comboData, setComboData] = React.useState([]);
const [onReady, setOnReady] = React.useState(false);
@@ -172,7 +173,7 @@ const Index = () => {
size="large"
disabled={waitDownload}
onClick={doExport}
- aria-label="Export holiday template"
+ aria-label={intl.formatMessage({ id: 'ariaExportHolidayTemplate' })}
>
Export
@@ -194,7 +195,7 @@ const Index = () => {
hidden
disabled={waitImport}
onChange={readFile}
- aria-label="Upload Excel file (.xlsx)"
+ aria-label={intl.formatMessage({ id: 'ariaUploadExcelFile' })}
/>
diff --git a/src/pages/Proof/Create_FromApp/ProofForm.js b/src/pages/Proof/Create_FromApp/ProofForm.js
index 2ad31e4..bda2d6e 100644
--- a/src/pages/Proof/Create_FromApp/ProofForm.js
+++ b/src/pages/Proof/Create_FromApp/ProofForm.js
@@ -19,12 +19,13 @@ import * as ComboData from "utils/ComboData";
import * as React from "react";
import { useFormik } from 'formik';
import { useNavigate } from "react-router-dom";
+import { useIntl } from 'react-intl';
import Loadable from 'components/Loadable';
import { notifySaveSuccess } from 'utils/CommonFunction';
const UploadFileTable = Loadable(React.lazy(() => import('./UploadFileTable')));
const FormPanel = ({ formData }) => {
-
+ const intl = useIntl();
const [data, setData] = React.useState({});
const [columnPrice, setColumnPrice] = React.useState(ComboData.proofPrice[0]);
const [attachments, setAttachments] = React.useState([]);
@@ -289,7 +290,7 @@ const FormPanel = ({ formData }) => {
hidden
disabled={attachments.length >= (formik.values.groupType == "Private Bill" ? 2 : 1)}
onChange={readFile}
- aria-label="Upload PDF file"
+ aria-label={intl.formatMessage({ id: 'ariaUploadPdfFile' })}
/>
diff --git a/src/pages/PublicNotice/Details_GLD/tabTableDetail/TabTable.js b/src/pages/PublicNotice/Details_GLD/tabTableDetail/TabTable.js
index cef3ed5..1308cc4 100644
--- a/src/pages/PublicNotice/Details_GLD/tabTableDetail/TabTable.js
+++ b/src/pages/PublicNotice/Details_GLD/tabTableDetail/TabTable.js
@@ -9,6 +9,7 @@ import {
import { TabPanel, TabContext, TabList } from '@mui/lab';
import {useState, useEffect, lazy} from "react";
+import { useIntl } from 'react-intl';
import Loadable from 'components/Loadable';
const LoadingComponent = Loadable(lazy(() => import('../../../extra-pages/LoadingComponent')));
@@ -20,7 +21,7 @@ const StatusHistoryTab = Loadable(lazy(() => import('./StatusHistoryTab')));
// ==============================|| DASHBOARD - DEFAULT ||============================== //
const PublicNotice = ({ appId, proofCount, paymentCount, statusHistoryCount, setProofCount, setPaymentCount, setStatusHistoryCount }) => {
-
+ const intl = useIntl();
const [onReady, setOnReady] = useState(false);
const [selectedTab, setSelectedTab] = useState("1");
@@ -41,7 +42,7 @@ const PublicNotice = ({ appId, proofCount, paymentCount, statusHistoryCount, set
-
+
diff --git a/src/pages/PublicNotice/Details_Public/tabTableDetail/TabTable.js b/src/pages/PublicNotice/Details_Public/tabTableDetail/TabTable.js
index c8f716e..160f4b3 100644
--- a/src/pages/PublicNotice/Details_Public/tabTableDetail/TabTable.js
+++ b/src/pages/PublicNotice/Details_Public/tabTableDetail/TabTable.js
@@ -43,7 +43,7 @@ const PublicNotice = ({ appId, proofCount, paymentCount, setProofCount, setPayme
-
+
{
-
+
@@ -176,7 +176,7 @@ const PublicNotice = () => {
-
+
diff --git a/src/pages/User/ChangePasswordPage/index.js b/src/pages/User/ChangePasswordPage/index.js
index b5c3ebd..38b465b 100644
--- a/src/pages/User/ChangePasswordPage/index.js
+++ b/src/pages/User/ChangePasswordPage/index.js
@@ -299,7 +299,7 @@ const Index = () => {
endAdornment:(
{
-
+
diff --git a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
index 1e48d10..883320a 100644
--- a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
+++ b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
@@ -508,7 +508,7 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
{showId ? formik.values.identification?.slice(4) : "****"}{showId ? formik.values.checkDigit?'(' +formik.values.checkDigit+ ')': "()" : ""}
{
{showId ? formik.values.identification?.slice(4) : "****"}
{
{showId ? formik.values.identification?.slice(4) : "****"}{showId ? formik.values.checkDigit?'(' +formik.values.checkDigit+ ')': "()" : ""}
{
{showId ?formik.values.identification?.slice(4):"****"}
{
-
+
diff --git a/src/pages/User/DetailsPage_Organization/index.js b/src/pages/User/DetailsPage_Organization/index.js
index c5e4727..8784966 100644
--- a/src/pages/User/DetailsPage_Organization/index.js
+++ b/src/pages/User/DetailsPage_Organization/index.js
@@ -281,7 +281,7 @@ const UserMaintainPage_Organization = () => {
-
+
diff --git a/src/pages/authentication/AuthWrapper.js b/src/pages/authentication/AuthWrapper.js
index 8ec5b56..7ce747b 100644
--- a/src/pages/authentication/AuthWrapper.js
+++ b/src/pages/authentication/AuthWrapper.js
@@ -103,7 +103,7 @@ const AuthWrapper = ({ children }) => {
>
{
}}
>
{
- { onCaptchaChange() }}>
+ { onCaptchaChange() }}>
diff --git a/src/pages/authentication/auth-forms/CustomFormWizard.js b/src/pages/authentication/auth-forms/CustomFormWizard.js
index f63cd57..7d9eddf 100644
--- a/src/pages/authentication/auth-forms/CustomFormWizard.js
+++ b/src/pages/authentication/auth-forms/CustomFormWizard.js
@@ -1916,7 +1916,7 @@ const CustomFormWizard = (props) => {
- { onCaptchaChange() }}>
+ { onCaptchaChange() }}>
@@ -2044,7 +2044,7 @@ const CustomFormWizard = (props) => {
{
{iAmSmartData?.idNo?.slice(0, 4)}{showId ? iAmSmartData?.idNo?.slice(4) : "****"}{showId ? '(' + iAmSmartData.checkDigit + ')' : null}
{
- { onCaptchaChange() }}>
+ { onCaptchaChange() }}>
@@ -1120,7 +1120,7 @@ const CustomFormWizard = (props) => {
{/* {formik.values.idNo + "(" + formik.values.checkDigit + ")"} */}
{
+ const intl = useIntl();
let navigate = useNavigate();
const handleToHomePage = () =>{
let path = `/`;
@@ -30,8 +32,7 @@ const ErrorPage = () => {
borderRadius: 30,
'&:hover': { bgcolor: 'secondary.lighter' }
}}
- aria-label="Back to home"
- aria-controls={open ? 'profile-grow' : undefined}
+ aria-label={intl.formatMessage({ id: 'ariaBackToHome' })}
aria-haspopup="true"
onClick={handleToHomePage}>
Back to home
diff --git a/src/translations/en.json b/src/translations/en.json
index 51b1f83..ccc452c 100644
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -629,5 +629,17 @@
"paginationPrev": "Go to previous page",
"paginationNext": "Go to next page",
- "sort": "Sort"
+ "sort": "Sort",
+
+ "ariaToggleNewPasswordVisibility": "Toggle new password visibility",
+ "ariaToggleIdVisibility": "Toggle ID visibility",
+ "ariaRefreshCaptcha": "Refresh CAPTCHA",
+ "ariaRelatedRecords": "Related Records",
+ "ariaApplicationGroup": "Application Group",
+ "ariaProfileTabs": "Profile tabs",
+ "ariaUploadPdfFile": "Upload PDF file",
+ "ariaExportHolidayTemplate": "Export holiday template",
+ "ariaUploadExcelFile": "Upload Excel file (.xlsx)",
+ "ariaBackToHome": "Back to home",
+ "ariaMailboxFolders": "Mailbox folders"
}
\ No newline at end of file
diff --git a/src/translations/zh-CN.json b/src/translations/zh-CN.json
index 10e677a..b784a95 100644
--- a/src/translations/zh-CN.json
+++ b/src/translations/zh-CN.json
@@ -625,5 +625,17 @@
"paginationPrev": "上一页",
"paginationNext": "下一页",
- "sort": "排序"
+ "sort": "排序",
+
+ "ariaToggleNewPasswordVisibility": "切换新密码可见性",
+ "ariaToggleIdVisibility": "切换身份证明文件可见性",
+ "ariaRefreshCaptcha": "刷新验证码",
+ "ariaRelatedRecords": "相关记录",
+ "ariaApplicationGroup": "申请组别",
+ "ariaProfileTabs": "个人资料选项卡",
+ "ariaUploadPdfFile": "上传 PDF 文件",
+ "ariaExportHolidayTemplate": "导出假期模板",
+ "ariaUploadExcelFile": "上传 Excel 文件 (.xlsx)",
+ "ariaBackToHome": "返回主页",
+ "ariaMailboxFolders": "邮箱文件夹"
}
\ No newline at end of file
diff --git a/src/translations/zh-HK.json b/src/translations/zh-HK.json
index 56fa4ca..925eb5d 100644
--- a/src/translations/zh-HK.json
+++ b/src/translations/zh-HK.json
@@ -626,5 +626,17 @@
"paginationPrev": "上一頁",
"paginationNext": "下一頁",
- "sort": "排序"
+ "sort": "排序",
+
+ "ariaToggleNewPasswordVisibility": "切換新密碼可見性",
+ "ariaToggleIdVisibility": "切換身份證明文件可見性",
+ "ariaRefreshCaptcha": "重新載入驗證碼",
+ "ariaRelatedRecords": "相關記錄",
+ "ariaApplicationGroup": "申請組別",
+ "ariaProfileTabs": "個人檔案分頁",
+ "ariaUploadPdfFile": "上載 PDF 檔案",
+ "ariaExportHolidayTemplate": "匯出假期範本",
+ "ariaUploadExcelFile": "上載 Excel 檔案 (.xlsx)",
+ "ariaBackToHome": "返回主頁",
+ "ariaMailboxFolders": "郵箱資料夾"
}
\ No newline at end of file