diff --git a/src/components/FileList.js b/src/components/FileList.js
index 202ecc2..84d94c0 100644
--- a/src/components/FileList.js
+++ b/src/components/FileList.js
@@ -10,6 +10,7 @@ import * as DateUtils from "../utils/DateUtils"
import { FiDataGrid } from './FiDataGrid';
import {useTheme} from "@emotion/react";
import {useMediaQuery} from "@mui/material";
+import {useIntl} from "react-intl";
// ==============================|| EVENT TABLE ||============================== //
export default function FileList({ refType, refId, allowDelete, sx, dateHideable,lang, ...props }) {
@@ -17,6 +18,7 @@ export default function FileList({ refType, refId, allowDelete, sx, dateHideable
const [rowModesModel] = React.useState({});
const theme = useTheme();
const isMdOrLg = useMediaQuery(theme.breakpoints.up('md'));
+ const intl = useIntl();
React.useEffect(() => {
loadData();
@@ -95,14 +97,14 @@ export default function FileList({ refType, refId, allowDelete, sx, dateHideable
{
id: 'filename',
field: 'filename',
- headerName: lang=="ch"?"檔案名稱":'File Name',
+ headerName: intl.formatMessage({id: 'fileName'}),
width: isMdOrLg ? 'auto' : 400,
flex: isMdOrLg ? 3 : undefined,
},
{
id: 'filesize',
field: 'filesize',
- headerName: lang=="ch"?"檔案大小":'File Size',
+ headerName: intl.formatMessage({id: 'fileName'}),
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
valueGetter: (params) => {
@@ -143,14 +145,14 @@ export default function FileList({ refType, refId, allowDelete, sx, dateHideable
{
id: 'filename',
field: 'filename',
- headerName: lang=="ch"?"檔案名稱":'File Name',
+ headerName: intl.formatMessage({id: 'fileName'}),
width: isMdOrLg ? 'auto' : 400,
flex: isMdOrLg ? 3 : undefined,
},
{
id: 'filesize',
field: 'filesize',
- headerName: lang=="ch"?"檔案大小":'File Size',
+ headerName: intl.formatMessage({id: 'fileSize'}),
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
valueGetter: (params) => {
diff --git a/src/layout/MainLayout/Header/index.js b/src/layout/MainLayout/Header/index.js
index 387d3a0..10c8499 100644
--- a/src/layout/MainLayout/Header/index.js
+++ b/src/layout/MainLayout/Header/index.js
@@ -327,7 +327,12 @@ function Header(props) {
-
+ {
+ isGLDLoggedIn()?
+
+ :
+
+ }
diff --git a/src/pages/Organization/DetailPage/OrganizationCard.js b/src/pages/Organization/DetailPage/OrganizationCard.js
index 5a41de4..bf859b0 100644
--- a/src/pages/Organization/DetailPage/OrganizationCard.js
+++ b/src/pages/Organization/DetailPage/OrganizationCard.js
@@ -49,7 +49,7 @@ const OrganizationCard = ({ userData, loadDataFun, id, setEditModeFun }) => {
validationSchema: yup.object().shape({
enCompanyName: yup.string().max(255).required(displayErrorMsg('請輸入英文名稱')),
chCompanyName: yup.string().max(255, displayErrorMsg('請輸入中文名稱')).nullable(),
- addressLine1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
+ addressLine1: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
addressLine2: yup.string().max(255, displayErrorMsg("length must <= 255")),
addressLine3: yup.string().max(255, displayErrorMsg("length must <= 255")),
fax_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))).nullable(),
diff --git a/src/pages/Organization/DetailPage_FromUser/OrganizationCard_loadFromUser.js b/src/pages/Organization/DetailPage_FromUser/OrganizationCard_loadFromUser.js
index ed8991e..29489fd 100644
--- a/src/pages/Organization/DetailPage_FromUser/OrganizationCard_loadFromUser.js
+++ b/src/pages/Organization/DetailPage_FromUser/OrganizationCard_loadFromUser.js
@@ -47,7 +47,7 @@ const OrganizationCard_loadFromUser = ({ userData, userId }) => {
validationSchema: yup.object().shape({
enCompanyName: yup.string().max(255, displayErrorMsg("請輸入英文名稱")).required(displayErrorMsg('請輸入英文名稱')),
chCompanyName: yup.string().max(255, displayErrorMsg('請輸入中文名稱')).nullable(),
- addressLine1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
+ addressLine1: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
addressLine2: yup.string().max(255).nullable(),
addressLine3: yup.string().max(255).nullable(),
fax_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))).nullable(),
diff --git a/src/pages/Proof/Reply_GLD/UploadFileTable.js b/src/pages/Proof/Reply_GLD/UploadFileTable.js
index 9090721..212e89c 100644
--- a/src/pages/Proof/Reply_GLD/UploadFileTable.js
+++ b/src/pages/Proof/Reply_GLD/UploadFileTable.js
@@ -73,13 +73,13 @@ export default function UploadFileTable({recordList, setRecordList,}) {
{
id: 'name',
field: 'name',
- headerName: '檔案名稱',
+ headerName: intl.formatMessage({id: 'fileName'}),
flex: 1,
},
{
id: 'size',
field: 'size',
- headerName: '檔案大小',
+ headerName: intl.formatMessage({id: 'fileSize'}),
valueGetter: (params) => {
// console.log(params)
return Math.ceil(params.value/1024)+" KB";
diff --git a/src/pages/Proof/Reply_Public/ProofForm.js b/src/pages/Proof/Reply_Public/ProofForm.js
index 12b5bb5..bfe8a39 100644
--- a/src/pages/Proof/Reply_Public/ProofForm.js
+++ b/src/pages/Proof/Reply_Public/ProofForm.js
@@ -113,7 +113,7 @@ const FormPanel = ({ formData }) => {
return;
}
if (file.size >= (10 * 1024 * 1034)) {
- setWarningText("上傳檔案大小應<10MB");
+ setWarningText(intl.formatMessage({id: 'fileSizeWarning'}));
setIsWarningPopUp(true);
return;
}
diff --git a/src/pages/Proof/Reply_Public/UploadFileTable.js b/src/pages/Proof/Reply_Public/UploadFileTable.js
index ca2b6e1..6da853d 100644
--- a/src/pages/Proof/Reply_Public/UploadFileTable.js
+++ b/src/pages/Proof/Reply_Public/UploadFileTable.js
@@ -83,7 +83,7 @@ export default function UploadFileTable({recordList, setRecordList,}) {
{
id: 'size',
field: 'size',
- headerName: '檔案大小',
+ headerName: intl.formatMessage({id: 'fileSize'}),
valueGetter: (params) => {
// console.log(params)
return Math.ceil(params.value/1024)+" KB";
diff --git a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js
index e60c971..b364a2c 100644
--- a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js
+++ b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js
@@ -23,6 +23,7 @@ import { useNavigate } from "react-router-dom";
import { notifyActionSuccess } from 'utils/CommonFunction';
import {PNSPS_LONG_BUTTON_THEME} from "../../../themes/buttonConst";
import {ThemeProvider} from "@emotion/react";
+import {useIntl} from "react-intl";
// ==============================|| DASHBOARD - DEFAULT ||============================== //
@@ -30,6 +31,7 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => {
const [isWarningPopUp, setIsWarningPopUp] = React.useState(false);
const [warningText, setWarningText] = React.useState("");
const [attachment, setAttachment] = React.useState({});
+ const intl = useIntl();
const [issueId, setIssueId] = React.useState(loadedData.issueId);
const navigate = useNavigate();
@@ -74,7 +76,7 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => {
setIsWarningPopUp(true);
return;
} else if (attachment.size >= (10 * 1024 * 1034)) {
- setWarningText("上傳檔案大小應<10MB");
+ setWarningText(intl.formatMessage({id: 'fileSizeWarning'}));
setIsWarningPopUp(true);
return;
}
diff --git a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
index a8638de..d5d159f 100644
--- a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
+++ b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
@@ -40,7 +40,7 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
validationSchema: yup.object().shape({
enName: yup.string().max(255).required(intl.formatMessage({id: 'userRequireEnglishName'})),
chName: yup.string().max(255).required(intl.formatMessage({id: 'userRequireChineseName'})),
- addressLine1: yup.string().max(255).required('請輸入第一行地址'),
+ addressLine1: yup.string().max(255).required(intl.formatMessage({id: 'validateAddressLine1'})),
addressLine2: yup.string().max(255).nullable(),
addressLine3: yup.string().max(255).nullable(),
emailAddress: yup.string().email(intl.formatMessage({id: 'validEmailFormat'})).max(255).required(intl.formatMessage({id: 'requireEmail'})),
diff --git a/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js b/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
index c891efa..188b352 100644
--- a/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
+++ b/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
@@ -50,7 +50,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
contactPerson: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireName'}))),
enCompanyName: yup.string().max(255).required(displayErrorMsg('請輸入英文名稱')),
chCompanyName: yup.string().max(255).nullable(),
- addressLine1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
+ addressLine1: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
addressLine2: yup.string().max(255).nullable(),
addressLine3: yup.string().max(255).nullable(),
emailBus: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))),
diff --git a/src/pages/authentication/auth-forms/AuthLoginCustom.js b/src/pages/authentication/auth-forms/AuthLoginCustom.js
index 47a16f8..fe4a2af 100644
--- a/src/pages/authentication/auth-forms/AuthLoginCustom.js
+++ b/src/pages/authentication/auth-forms/AuthLoginCustom.js
@@ -112,12 +112,12 @@ const AuthLoginCustom = () => {
}),
validationSchema: yup.object().shape({
// username: yup.string().min(6,'用戶名稱最少6位').required('請輸入用戶名稱'),
- username: yup.string().required('請輸入用戶名稱'),
- password: yup.string().min(8, '請輸入最少8位密碼').required('請輸入密碼')
- .matches(/^(?=.*[a-z])/, '請包括最少1個小寫字母')
- .matches(/^(?=.*[A-Z])/, '請包括最少1個大寫字母')
- .matches(/^(?=.*[0-9])/, '請包括最少1個數字')
- .matches(/^(?=.*[!@#%&])/, '請包括最少1個特殊字符'),
+ username: yup.string().required(intl.formatMessage({id: 'requireUsername'})),
+ password: yup.string().min(8, intl.formatMessage({id: 'atLeast8CharPassword'})).required(intl.formatMessage({id: 'requirePassword'}))
+ .matches(/^(?=.*[a-z])/, intl.formatMessage({id: 'atLeastOneSmallLetter'}))
+ .matches(/^(?=.*[A-Z])/, intl.formatMessage({id: 'atLeastOneCapLetter'}))
+ .matches(/^(?=.*[0-9])/, intl.formatMessage({id: 'atLeast1Number'}))
+ .matches(/^(?=.*[!@#%&])/, intl.formatMessage({id: 'atLeast1SpecialChar'})),
}),
});
@@ -312,9 +312,11 @@ const AuthLoginCustom = () => {
-
+
diff --git a/src/pages/authentication/auth-forms/BusCustomFormWizard.js b/src/pages/authentication/auth-forms/BusCustomFormWizard.js
index bb6a298..344f7c0 100644
--- a/src/pages/authentication/auth-forms/BusCustomFormWizard.js
+++ b/src/pages/authentication/auth-forms/BusCustomFormWizard.js
@@ -496,29 +496,29 @@ const BusCustomFormWizard = (props) => {
}),
validationSchema: yup.object().shape({
- username: yup.string().min(6, displayErrorMsg('用戶名稱最少6位')).required(displayErrorMsg('請輸入用戶名稱'))
- .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg("用戶名稱不包含特殊字符") })
- .matches(/^\S*$/, { message: displayErrorMsg('用戶名稱不包含空格') }),
- password: yup.string().min(8, displayErrorMsg('請輸入最少8位密碼')).required(displayErrorMsg('請輸入密碼'))
- .matches(/^\S*$/, { message: displayErrorMsg('密碼不包含空格') })
- .matches(/^(?=.*[a-z])/, { message: displayErrorMsg('請包括最少1個小寫字母') })
- .matches(/^(?=.*[A-Z])/, { message: displayErrorMsg('請包括最少1個大寫字母') })
- .matches(/^(?=.*[0-9])/, { message: displayErrorMsg('請包括最少1個數字') })
- .matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg('請包括最少1個特殊字符') }),
- confirmPassword: yup.string().min(8, displayErrorMsg('請最少輸入8位密碼')).required(displayErrorMsg(intl.formatMessage({id: 'pleaseConfirmPassword'}))).oneOf([yup.ref('password'), null], displayErrorMsg('請輸入相同密碼')),
+ username: yup.string().min(6, displayErrorMsg(intl.formatMessage({id: 'atLeast6CharAccount'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireUsername'})))
+ .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpecialCharAccount'})) })
+ .matches(/^\S*$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpaceAccount'})) }),
+ password: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'atLeast8CharPassword'}))).required(displayErrorMsg(intl.formatMessage({id: 'requirePassword'})))
+ .matches(/^\S*$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpacePassword'})) })
+ .matches(/^(?=.*[a-z])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeastOneSmallLetter'})) })
+ .matches(/^(?=.*[A-Z])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeastOneCapLetter'})) })
+ .matches(/^(?=.*[0-9])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1Number'})) })
+ .matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1SpecialChar'})) }),
+ confirmPassword: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'atLeast8CharPassword'}))).required(displayErrorMsg(intl.formatMessage({id: 'pleaseConfirmPassword'}))).oneOf([yup.ref('password'), null], displayErrorMsg(intl.formatMessage({id: 'samePassword'}))),
enName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireEnglishName'}))),
enCompanyName: yup.string().matches(/^[^$^*()]+$/, { message: displayErrorMsg('No special characters $/^/*/(/)') }).when('chCompanyName', {
is: (chCompanyName) => !chCompanyName || chCompanyName.length === 0,
then: yup.string().required(displayErrorMsg('Please enter either English or Chinese name')),
}),
- chCompanyName: yup.string().matches(/^[^$^*()]+$/, { message: displayErrorMsg('不包含特殊字符 $/^/*/(/)') }).when('enCompanyName', {
+ chCompanyName: yup.string().matches(/^[^$^*()]+$/, { message: displayErrorMsg(intl.formatMessage({id: 'notContainSpecialChar'})) }).when('enCompanyName', {
is: (enCompanyName) => !enCompanyName || enCompanyName.length === 0,
- then: yup.string().required(displayErrorMsg('請輸入英文或中文名稱')),
+ then: yup.string().required(displayErrorMsg(intl.formatMessage({id: 'validateEngOrChiName'}))),
}),
chName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireChineseName'}))),
- address1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
- address2: yup.string().max(255).required(displayErrorMsg('請輸入第二行地址')),
- address3: yup.string().max(255).required(displayErrorMsg('請輸入第三行地址')),
+ address1: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
+ address2: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine2'}))),
+ address3: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine3'}))),
email: yup.string().email(displayErrorMsg(intl.formatMessage({id: 'validEmailFormat'}))).max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))),
emailConfirm: yup.string().email(displayErrorMsg(intl.formatMessage({id: 'validEmailFormat'}))).max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))).oneOf([yup.ref('email'), null], displayErrorMsg(intl.formatMessage({id: 'validSameEmail'}))),
phoneCountryCode: yup.string().min(2, displayErrorMsg(intl.formatMessage({id: 'requireAtLeast2Number'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))),
@@ -1288,15 +1288,18 @@ const BusCustomFormWizard = (props) => {
- 商業登記證及其他文件
+
+
*
- 請上傳你的 有效商業登記證及其他文件 的數碼檔案,以驗證你的身份。
+
+
+
{/* 如: 香港身份證; 護照; 中國內地身份證等 */}
-
+
{
color="primary"
size="small"
/>
- 我不接受
+
+
+
@@ -1376,7 +1383,7 @@ const BusCustomFormWizard = (props) => {
- 驗證
+
*
diff --git a/src/pages/authentication/auth-forms/CustomFormWizard.js b/src/pages/authentication/auth-forms/CustomFormWizard.js
index a2d0c8c..1a8822a 100644
--- a/src/pages/authentication/auth-forms/CustomFormWizard.js
+++ b/src/pages/authentication/auth-forms/CustomFormWizard.js
@@ -554,21 +554,21 @@ const CustomFormWizard = (props) => {
captchaField: ''
}),
validationSchema: yup.object().shape({
- username: yup.string().min(6, displayErrorMsg('用戶名稱最少6位')).required(displayErrorMsg("請輸入用戶名稱"))
- .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg("用戶名稱不包含特殊字符") })
- .matches(/^\S*$/, { message: displayErrorMsg("用戶名稱不包含空格") }),
- password: yup.string().min(8, displayErrorMsg('請輸入最少8位密碼')).required(displayErrorMsg('請輸入密碼'))
- .matches(/^\S*$/, { message: displayErrorMsg('密碼不包含空格') })
- .matches(/^(?=.*[a-z])/, { message: displayErrorMsg('請包括最少1個小寫字母') })
- .matches(/^(?=.*[A-Z])/, { message: displayErrorMsg('請包括最少1個大寫字母') })
- .matches(/^(?=.*[0-9])/, { message: displayErrorMsg('請包括最少1個數字') })
- .matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg('請包括最少1個特殊字符') }),
- confirmPassword: yup.string().min(8, displayErrorMsg('請最少輸入8位密碼')).required(displayErrorMsg(intl.formatMessage({id: 'pleaseConfirmPassword'}))).oneOf([yup.ref('password'), null], displayErrorMsg('請輸入相同密碼')),
+ username: yup.string().min(6, displayErrorMsg(intl.formatMessage({id: 'atLeast6CharAccount'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireUsername'})))
+ .matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpecialCharAccount'})) })
+ .matches(/^\S*$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpaceAccount'})) }),
+ password: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'atLeast8CharPassword'}))).required(displayErrorMsg(intl.formatMessage({id: 'requirePassword'})))
+ .matches(/^\S*$/, { message: displayErrorMsg(intl.formatMessage({id: 'noSpacePassword'})) })
+ .matches(/^(?=.*[a-z])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeastOneSmallLetter'})) })
+ .matches(/^(?=.*[A-Z])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeastOneCapLetter'})) })
+ .matches(/^(?=.*[0-9])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1Number'})) })
+ .matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg(intl.formatMessage({id: 'atLeast1SpecialChar'})) }),
+ confirmPassword: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'atLeast8CharPassword'}))).required(displayErrorMsg(intl.formatMessage({id: 'pleaseConfirmPassword'}))).oneOf([yup.ref('password'), null], displayErrorMsg(intl.formatMessage({id: 'samePassword'}))),
enName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireEnglishName'}))),
chName: yup.string().max(6).required(displayErrorMsg(intl.formatMessage({id: 'userRequireChineseName'}))),
- address1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
- address2: yup.string().max(255).required(displayErrorMsg('請輸入第二行地址')),
- address3: yup.string().max(255).required(displayErrorMsg('請輸入第三行地址')),
+ address1: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
+ address2: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine2'}))),
+ address3: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine3'}))),
email: yup.string().email(displayErrorMsg(intl.formatMessage({id: 'validEmailFormat'}))).max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))),
emailConfirm: yup.string().email(displayErrorMsg(intl.formatMessage({id: 'validEmailFormat'}))).max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))).oneOf([yup.ref('email'), null], displayErrorMsg(intl.formatMessage({id: 'validSameEmail'}))),
idNo: yup.string().required(displayErrorMsg(`請輸入${selectedIdDocInputType}號碼`))
@@ -1496,7 +1496,7 @@ const CustomFormWizard = (props) => {
- 條款和條件
+
*
@@ -1520,11 +1520,13 @@ const CustomFormWizard = (props) => {
color="primary"
size="small"
/>
- 我接受
+
+
+
-
+
{
color="primary"
size="small"
/>
- 我不接受
+
+
+
@@ -1547,7 +1551,7 @@ const CustomFormWizard = (props) => {
- 驗證
+
*
diff --git a/src/pages/authentication/auth-forms/IAmSmartFormWizard.js b/src/pages/authentication/auth-forms/IAmSmartFormWizard.js
index ec8e177..7ef2ce5 100644
--- a/src/pages/authentication/auth-forms/IAmSmartFormWizard.js
+++ b/src/pages/authentication/auth-forms/IAmSmartFormWizard.js
@@ -363,9 +363,9 @@ const CustomFormWizard = (props) => {
captchaField: ''
}),
validationSchema: yup.object().shape({
- address1: yup.string().max(255).required(displayErrorMsg('請輸入第一行地址')),
- address2: yup.string().max(255).required(displayErrorMsg('請輸入第二行地址')),
- address3: yup.string().max(255).required(displayErrorMsg('請輸入第三行地址')),
+ address1: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
+ address2: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine2'}))),
+ address3: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine3'}))),
email: yup.string().email(displayErrorMsg(intl.formatMessage({id: 'validEmailFormat'}))).max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))),
emailConfirm: yup.string().email(displayErrorMsg(intl.formatMessage({id: 'validEmailFormat'}))).max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))).oneOf([yup.ref('email'), null], displayErrorMsg(intl.formatMessage({id: 'validSameEmail'}))),
phoneCountryCode: yup.string().min(2, displayErrorMsg(intl.formatMessage({id: 'requireAtLeast2Number'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))),
@@ -789,7 +789,7 @@ const CustomFormWizard = (props) => {
- 條款和條件
+
*
@@ -813,11 +813,13 @@ const CustomFormWizard = (props) => {
color="primary"
size="small"
/>
- 我接受
+
+
+
-
+
{
color="primary"
size="small"
/>
- 我不接受
+
+
+
@@ -840,7 +844,7 @@ const CustomFormWizard = (props) => {
- 驗證
+
*
diff --git a/src/pages/authentication/auth-forms/PreviewUploadFileTable.js b/src/pages/authentication/auth-forms/PreviewUploadFileTable.js
index 4a48bb9..b7ba4a0 100644
--- a/src/pages/authentication/auth-forms/PreviewUploadFileTable.js
+++ b/src/pages/authentication/auth-forms/PreviewUploadFileTable.js
@@ -14,6 +14,7 @@ import {
Stack,
Typography
} from '@mui/material';
+import {FormattedMessage} from "react-intl";
// ==============================|| EVENT TABLE ||============================== //
export default function PreviewUploadFileTable({ recordList, }) {
@@ -32,7 +33,7 @@ export default function PreviewUploadFileTable({ recordList, }) {
return (
- 沒有上傳檔案
+
{/* (rows={[]})
*/}
@@ -74,13 +75,17 @@ export default function PreviewUploadFileTable({ recordList, }) {
{
id: 'name',
field: 'name',
- headerName: 檔案名稱,
+ headerName:
+
+ ,
flex: 1,
},
{
id: 'size',
field: 'size',
- headerName: 檔案大小,
+ headerName:
+
+ ,
valueGetter: (params) => {
// console.log(params)
return Math.ceil(params.value / 1024) + " KB";
diff --git a/src/pages/authentication/auth-forms/UploadFileTable.js b/src/pages/authentication/auth-forms/UploadFileTable.js
index d69c184..b4dd0cc 100644
--- a/src/pages/authentication/auth-forms/UploadFileTable.js
+++ b/src/pages/authentication/auth-forms/UploadFileTable.js
@@ -14,6 +14,7 @@ import {
Stack,
Typography
} from '@mui/material';
+import {FormattedMessage} from "react-intl";
// ==============================|| EVENT TABLE ||============================== //
export default function UploadFileTable({ recordList, setUpdateRows, }) {
@@ -33,7 +34,7 @@ export default function UploadFileTable({ recordList, setUpdateRows, }) {
return (
- 沒有上傳檔案
+
{/* (rows={[]})
*/}
@@ -76,13 +77,17 @@ export default function UploadFileTable({ recordList, setUpdateRows, }) {
{
id: 'name',
field: 'name',
- headerName: 檔案名稱,
+ headerName:
+
+ ,
flex: 4,
},
{
id: 'size',
field: 'size',
- headerName: 檔案大小,
+ headerName:
+
+ ,
valueGetter: (params) => {
// console.log(params)
return Math.ceil(params.value / 1024) + " KB";
diff --git a/src/translations/en.json b/src/translations/en.json
index 8642a68..e8904e4 100644
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -21,7 +21,7 @@
"companyOrUserRecord": "Company/Institutional User Records",
"login": "Login",
- "iAmSmartLogin": "iAmSmart Login",
+ "iAmSmartLogin": "iAmSmart login",
"continueWithIAmSmart": "Continue with iAmSmart",
"authorizeIAmSmartForInfo": "Authorize iAmSmart to provide personal information",
"iAmSmartSubTitle": "In order to complete the account opening and establish a connection with \"iAmStart\", please authorize \"iAmSmart\" to provide the following personal information:",
@@ -85,6 +85,19 @@
"pleaseEnterOrgOrCompName": "Please enter the English/Chinese name of the organisation/company",
"sameAsBusinessRegistrationCert": "Same as Business Registration Certificate",
"businessRegCertNumber": "Business Reg Cert Number",
+ "businessRegCertAndDoc":"Business Registration Certificate and other documents",
+ "pleaseUploadDoc": "Please upload a digital file of your valid business registration certificate and other documents to verify your identity.",
+ "uploadFile": "Upload business registration certificate and other documents",
+ "fileName": "File name",
+ "fileSize": "File size",
+ "fileSizeWarning": "Upload file size should be <10MB",
+ "noFile": "No file uploaded",
+ "termsAndCondition": "Terms and Conditions",
+ "acceptTerms": "I accept",
+ "rejectTerms": "I do not accept",
+ "verify": "Verify",
+ "validVerify": "Please enter valid verification",
+ "autoLogout": "Login verification has expired, please login again.",
"pleaseFillInBusinessRegCertNumber": "Please fill in Business Registration Certificate Number",
"pleaseFillInValidBusinessRegCertNumber": "Please fill in valid Business Registration Certificate Number",
"businessRegCertValidityDate": "Business Reg Cert validity date",
@@ -93,6 +106,23 @@
"addressLine1": "First line",
"addressLine2": "Second line",
"addressLine3": "Third line",
+ "validateAddressLine1": "Please enter the first line of address",
+ "validateAddressLine2": "Please enter the second line of address",
+ "validateAddressLine3": "Please enter the third line of address",
+ "validateEngOrChiName": "Please enter the English or Chinese name",
+ "notContainSpecialChar": "Does not contain special characters $/^/*/(/)",
+ "samePassword": "Please enter the same password",
+ "atLeast8CharPassword": "Please enter a password of at least 8 digits",
+ "atLeast1SpecialChar": "Please include at least 1 special character",
+ "atLeast1Number": "Please include at least 1 number",
+ "atLeastOneCapLetter": "Please include at least 1 capital letter",
+ "atLeastOneSmallLetter": "Please include at least 1 lowercase letter",
+ "noSpacePassword": "Password does not contain spaces",
+ "noSpaceAccount": "User name does not contain spaces",
+ "noSpecialCharAccount": "User name does not contain special characters",
+ "atLeast6CharAccount": "User name must be at least 6 characters",
+ "requireUsername": "Please enter user name",
+ "requirePassword": "Please enter password",
"region": "Region (only applicable to Hong Kong)",
"regionOrCountry": "Country/Region",
"hongKong": "Hong Kong",
diff --git a/src/translations/zh-CN.json b/src/translations/zh-CN.json
index 61ee66d..a78a298 100644
--- a/src/translations/zh-CN.json
+++ b/src/translations/zh-CN.json
@@ -85,6 +85,19 @@
"pleaseEnterOrgOrCompName": "请输入机构/公司英文名称或中文名称",
"sameAsBusinessRegistrationCert": "与商业登记证相同",
"businessRegCertNumber": "商业登记证号码",
+ "businessRegCertAndDoc":"商业登记证及其他文件",
+ "pleaseUploadDoc": "请上传你的 有效商业登记证及其他文件 的数码档案,以验证你的身份。",
+ "uploadFile": "上传商业登记证及其他文件",
+ "fileName": "档案名称",
+ "fileSize": "档案大小",
+ "fileSizeWarning": "上传档案大小应<10MB",
+ "noFile": "没有上传档案",
+ "termsAndCondition": "条款和条件",
+ "acceptTerms": "我接受",
+ "rejectTerms": "我不接受",
+ "verify": "验证",
+ "validVerify": "请输入有效验证",
+ "autoLogout": "登入验证已过期,请重新登入。",
"pleaseFillInBusinessRegCertNumber": "请输入商业登记证号码",
"pleaseFillInValidBusinessRegCertNumber": "请输入有效商业登记证号码",
"businessRegCertValidityDate": "商业登记证有效日期",
@@ -93,6 +106,23 @@
"addressLine1": "第一行",
"addressLine2": "第二行",
"addressLine3": "第三行",
+ "validateAddressLine1": "请输入第一行地址",
+ "validateAddressLine2": "请输入第二行地址",
+ "validateAddressLine3": "请输入第三行地址",
+ "validateEngOrChiName": "请输入英文或中文名称",
+ "notContainSpecialChar": "不包含特殊字符 $/^/*/(/)",
+ "samePassword": "请输入相同密码",
+ "atLeast8CharPassword": "请输入最少8位密码",
+ "atLeast1SpecialChar": "请包括最少1个特殊字符",
+ "atLeast1Number": "请包括最少1个数字",
+ "atLeastOneCapLetter": "请包括最少1个大写字母",
+ "atLeastOneSmallLetter": "请包括最少1个小写字母",
+ "noSpacePassword": "密码不包含空格",
+ "noSpaceAccount": "用户名称不包含空格",
+ "noSpecialCharAccount": "用户名称不包含特殊字符",
+ "atLeast6CharAccount": "用户名称最少6位",
+ "requireUsername": "请输入用户名称",
+ "requirePassword": "请输入密码",
"region": "区域 (只适用于香港)",
"region Or Country": "国家/地区",
"hong Kong": "香港",
diff --git a/src/translations/zh-HK.json b/src/translations/zh-HK.json
index 422ede7..4d12cc6 100644
--- a/src/translations/zh-HK.json
+++ b/src/translations/zh-HK.json
@@ -85,6 +85,19 @@
"pleaseEnterOrgOrCompName": "請輸入機構/公司英文名稱或中文名稱",
"sameAsBusinessRegistrationCert": "與商業登記證相同",
"businessRegCertNumber": "商業登記證號碼",
+ "businessRegCertAndDoc":"商業登記證及其他文件",
+ "pleaseUploadDoc": "請上傳你的 有效商業登記證及其他文件 的數碼檔案,以驗證你的身份。",
+ "uploadFile": "上傳商業登記證及其他文件",
+ "fileName": "檔案名稱",
+ "fileSize": "檔案大小",
+ "fileSizeWarning": "上傳檔案大小應<10MB",
+ "noFile": "沒有上傳檔案",
+ "termsAndCondition": "條款和條件",
+ "acceptTerms": "我接受",
+ "rejectTerms": "我不接受",
+ "verify": "驗證",
+ "validVerify": "請輸入有效驗證",
+ "autoLogout": "登入驗證已過期,請重新登入。",
"pleaseFillInBusinessRegCertNumber": "請輸入商業登記證號碼",
"pleaseFillInValidBusinessRegCertNumber": "請輸入有效商業登記證號碼",
"businessRegCertValidityDate": "商業登記證有效日期",
@@ -93,6 +106,23 @@
"addressLine1": "第一行",
"addressLine2": "第二行",
"addressLine3": "第三行",
+ "validateAddressLine1": "請輸入第一行地址",
+ "validateAddressLine2": "請輸入第二行地址",
+ "validateAddressLine3": "請輸入第三行地址",
+ "validateEngOrChiName": "請輸入英文或中文名稱",
+ "notContainSpecialChar": "不包含特殊字符 $/^/*/(/)",
+ "samePassword": "請輸入相同密碼",
+ "atLeast8CharPassword": "請輸入最少8位密碼",
+ "atLeast1SpecialChar": "請包括最少1個特殊字符",
+ "atLeast1Number": "請包括最少1個數字",
+ "atLeastOneCapLetter": "請包括最少1個大寫字母",
+ "atLeastOneSmallLetter": "請包括最少1個小寫字母",
+ "noSpacePassword": "密碼不包含空格",
+ "noSpaceAccount": "用戶名稱不包含空格",
+ "noSpecialCharAccount": "用戶名稱不包含特殊字符",
+ "atLeast6CharAccount": "用戶名稱最少6位",
+ "requireUsername": "請輸入用戶名稱",
+ "requirePassword": "請輸入密碼",
"region": "區域 (只適用於香港)",
"regionOrCountry": "國家/地區",
"hongKong": "香港",