From c91c3d50c54e9722a770564c27b2bbac37286cae Mon Sep 17 00:00:00 2001 From: "jason.lam" Date: Fri, 12 Jan 2024 16:39:54 +0800 Subject: [PATCH] update public notice search --- .../DemandNote/Search_Public/SearchForm.js | 4 ++- src/pages/Payment/Details_Public/DataGrid.js | 17 ++++++----- src/pages/Payment/FPS/AckPage.js | 13 +++++++-- src/pages/Payment/FPS/FPS.js | 4 ++- src/pages/Payment/FPS/FPSTest.js | 4 ++- src/pages/Payment/FPS/fpscallback.js | 13 +++++++-- src/pages/Payment/MultiPaymentWindow.js | 12 ++++---- src/pages/Payment/PaymentCallback.js | 13 +++++++-- src/pages/Payment/Search_Public/SearchForm.js | 4 ++- src/pages/Payment/index.js | 11 +++++-- src/pages/Proof/Payment/Pay.js | 15 +++++++--- src/pages/Proof/Payment/Pay_Creditor.js | 2 +- .../Proof/Reply_Public/ApplicationDetails.js | 2 +- src/pages/Proof/Reply_Public/ProofForm.js | 2 +- src/pages/Proof/Search_Public/SearchForm.js | 4 ++- .../ApplyForm/PublicNoticeApplyForm.js | 2 +- .../Details_Public/ApplicationDetailCard.js | 29 +++++++++++++------ .../Details_Public/StatusChangeDialog.js | 5 ++-- .../ListPanel/PendingPaymentTab.js | 28 +++++++++++++----- .../ListPanel/SearchPublicNoticeForm.js | 6 ++-- .../ListPanel/SearchPublicNoticeTable.js | 4 +-- .../auth-forms/PasswordAlertDialog.js | 3 +- src/translations/en.json | 21 ++++++++++++++ src/translations/zh-CN.json | 21 ++++++++++++++ src/translations/zh-HK.json | 21 ++++++++++++++ 25 files changed, 199 insertions(+), 61 deletions(-) diff --git a/src/pages/DemandNote/Search_Public/SearchForm.js b/src/pages/DemandNote/Search_Public/SearchForm.js index fa5a2a3..843bf2e 100644 --- a/src/pages/DemandNote/Search_Public/SearchForm.js +++ b/src/pages/DemandNote/Search_Public/SearchForm.js @@ -81,7 +81,9 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData - 搜尋 + + + diff --git a/src/pages/Payment/Details_Public/DataGrid.js b/src/pages/Payment/Details_Public/DataGrid.js index 09f5930..86216ee 100644 --- a/src/pages/Payment/Details_Public/DataGrid.js +++ b/src/pages/Payment/Details_Public/DataGrid.js @@ -10,7 +10,7 @@ import * as FormatUtils from "utils/FormatUtils" import { FiDataGrid } from "components/FiDataGrid"; import * as DateUtils from "utils/DateUtils" import {useTheme} from "@emotion/react"; -import {FormattedMessage} from "react-intl"; +import {FormattedMessage, useIntl} from "react-intl"; // import * as Utils from "utils/Utils" // ==============================|| EVENT TABLE ||============================== // @@ -19,6 +19,8 @@ export default function SearchPublicNoticeTable({ recordList }) { const [total, setTotal] = React.useState(0); const theme = useTheme(); const isMdOrLg = useMediaQuery(theme.breakpoints.up('md')); + const intl = useIntl(); + const { locale } = intl; //const intl = useIntl(); React.useEffect(() => { @@ -45,24 +47,25 @@ export default function SearchPublicNoticeTable({ recordList }) { { id: 'appNo', field: 'appNo', - headerName:'項目', + headerName: intl.formatMessage({id: 'terms'}), width: isMdOrLg ? 'auto' : 300, flex: isMdOrLg ? 1 : undefined, renderCell: (params) => { let appNo = params.row.appNo; // console.log(params) - return
憲報第6號副刊公告
+ return
+
{isORGLoggedIn()?<>Care Of: {params.row.careOf}
:null} : {appNo}
- 憲報日期: {DateUtils.dateStr_Cht(params.row.issueDate)}
- 長度: {params.row.length+ " cm"}
+ : {locale === 'en' ? DateUtils.dateStr(params.row.issueDate) : DateUtils.dateStr_Cht(params.row.issueDate)}
+ : {params.row.length+ " cm"}
}, }, { id: 'fee', field: 'fee', - headerName: '金額 (HK$)', - width: 150, + headerName: intl.formatMessage({id: 'currencyPrice'}) + ' (HK$)', + width: 200, valueGetter: (params) => { return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : ""; } diff --git a/src/pages/Payment/FPS/AckPage.js b/src/pages/Payment/FPS/AckPage.js index e8a0539..ba0b67c 100644 --- a/src/pages/Payment/FPS/AckPage.js +++ b/src/pages/Payment/FPS/AckPage.js @@ -23,6 +23,7 @@ const PaymentDetails = Loadable(React.lazy(() => import('../Details_Public/Payme const DataGrid = Loadable(React.lazy(() => import('../Details_Public/DataGrid'))); import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' +import {FormattedMessage} from "react-intl"; const BackgroundHead = { backgroundImage: `url(${titleBackgroundImg})`, width: '100%', @@ -159,7 +160,9 @@ const AckPage = () => {
- 公共啟事:付款成功 + + +
@@ -204,7 +207,9 @@ const AckPage = () => {
- 公共啟事:付款取消 + + +
@@ -246,7 +251,9 @@ const AckPage = () => {
- 公共啟事:付款失敗 + + +
diff --git a/src/pages/Payment/FPS/FPS.js b/src/pages/Payment/FPS/FPS.js index e7428d9..6835a46 100644 --- a/src/pages/Payment/FPS/FPS.js +++ b/src/pages/Payment/FPS/FPS.js @@ -254,7 +254,9 @@ const Index = () => {
- 公共啟事:FPS付款 + + +
diff --git a/src/pages/Payment/FPS/FPSTest.js b/src/pages/Payment/FPS/FPSTest.js index ee921d0..c0866a4 100644 --- a/src/pages/Payment/FPS/FPSTest.js +++ b/src/pages/Payment/FPS/FPSTest.js @@ -269,7 +269,9 @@ const Index = () => {
- 公共啟事:FPS付款 + + +
diff --git a/src/pages/Payment/FPS/fpscallback.js b/src/pages/Payment/FPS/fpscallback.js index 4c56035..d8e407c 100644 --- a/src/pages/Payment/FPS/fpscallback.js +++ b/src/pages/Payment/FPS/fpscallback.js @@ -23,6 +23,7 @@ const PaymentDetails = Loadable(React.lazy(() => import('../Details_Public/Payme const DataGrid = Loadable(React.lazy(() => import('../Details_Public/DataGrid'))); import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' +import {FormattedMessage} from "react-intl"; const BackgroundHead = { backgroundImage: `url(${titleBackgroundImg})`, width: '100%', @@ -146,7 +147,9 @@ const Fpscallback = () => {
- 公共啟事:付款成功 + + +
@@ -198,7 +201,9 @@ const Fpscallback = () => {
- 公共啟事:付款取消 + + +
@@ -235,7 +240,9 @@ const Fpscallback = () => {
- 公共啟事:付款失敗 + + +
diff --git a/src/pages/Payment/MultiPaymentWindow.js b/src/pages/Payment/MultiPaymentWindow.js index 6ce558f..0c82d31 100644 --- a/src/pages/Payment/MultiPaymentWindow.js +++ b/src/pages/Payment/MultiPaymentWindow.js @@ -149,7 +149,7 @@ const MultiPaymentWindow = (props) => {
- 交易參考編號: {transactionData.transactionid} + : {transactionData.transactionid} {/* @@ -163,7 +163,7 @@ const MultiPaymentWindow = (props) => { - 請選擇付款方法: + : @@ -203,7 +203,7 @@ const MultiPaymentWindow = (props) => { - 已選擇付款方法:  + @@ -217,7 +217,7 @@ const MultiPaymentWindow = (props) => { : - 付款功能現在不可用。 + } @@ -247,12 +247,12 @@ const MultiPaymentWindow = (props) => { diff --git a/src/pages/Payment/PaymentCallback.js b/src/pages/Payment/PaymentCallback.js index 4c5a0e6..987f2cb 100644 --- a/src/pages/Payment/PaymentCallback.js +++ b/src/pages/Payment/PaymentCallback.js @@ -20,6 +20,7 @@ const PaymentDetails = Loadable(React.lazy(() => import('./Details_Public/Paymen const DataGrid = Loadable(React.lazy(() => import('./Details_Public/DataGrid'))); import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' +import {FormattedMessage} from "react-intl"; const BackgroundHead = { backgroundImage: `url(${titleBackgroundImg})`, width: '100%', @@ -162,7 +163,9 @@ const Index = () => {
- 公共啟事:付款成功 + + +
@@ -207,7 +210,9 @@ const Index = () => {
- 公共啟事:付款取消 + + +
@@ -249,7 +254,9 @@ const Index = () => {
- 公共啟事:付款失敗 + + +
diff --git a/src/pages/Payment/Search_Public/SearchForm.js b/src/pages/Payment/Search_Public/SearchForm.js index 076fde9..e44eca3 100644 --- a/src/pages/Payment/Search_Public/SearchForm.js +++ b/src/pages/Payment/Search_Public/SearchForm.js @@ -68,7 +68,9 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { {/*row 1*/} - 搜尋 + + + diff --git a/src/pages/Payment/index.js b/src/pages/Payment/index.js index cf59fd1..0a85dec 100644 --- a/src/pages/Payment/index.js +++ b/src/pages/Payment/index.js @@ -394,7 +394,9 @@ const Index = () => {
- 公共啟事:付款 + + +
@@ -428,7 +430,8 @@ const Index = () => { // color="error" onClick={() => { navigate("/publicNotice") }} sx={{ mt: 4 }} - >取消 + > + @@ -446,7 +449,9 @@ const Index = () => { - + diff --git a/src/pages/Proof/Payment/Pay.js b/src/pages/Proof/Payment/Pay.js index dd65ee3..7f1d7fe 100644 --- a/src/pages/Proof/Payment/Pay.js +++ b/src/pages/Proof/Payment/Pay.js @@ -96,7 +96,7 @@ const Index = () => {
- 公共啟事:校對完成及付款 + @@ -162,12 +162,19 @@ const Index = () => { - 總額(HK$): {FormatUtils.currencyFormat(fee)} + + (HK$): {FormatUtils.currencyFormat(fee)} + - - + + diff --git a/src/pages/Proof/Payment/Pay_Creditor.js b/src/pages/Proof/Payment/Pay_Creditor.js index 2447ed4..9596f42 100644 --- a/src/pages/Proof/Payment/Pay_Creditor.js +++ b/src/pages/Proof/Payment/Pay_Creditor.js @@ -79,7 +79,7 @@ const Index = () => {
- 公共啟事:校對完成 + diff --git a/src/pages/Proof/Reply_Public/ApplicationDetails.js b/src/pages/Proof/Reply_Public/ApplicationDetails.js index 4d6bd65..e7783d4 100644 --- a/src/pages/Proof/Reply_Public/ApplicationDetails.js +++ b/src/pages/Proof/Reply_Public/ApplicationDetails.js @@ -66,7 +66,7 @@ const ApplicationDetailCard = ({ formData, }) => { content={false} > - 公共啟事:校對資料 +
diff --git a/src/pages/Proof/Reply_Public/ProofForm.js b/src/pages/Proof/Reply_Public/ProofForm.js index c96053d..c998c29 100644 --- a/src/pages/Proof/Reply_Public/ProofForm.js +++ b/src/pages/Proof/Reply_Public/ProofForm.js @@ -143,7 +143,7 @@ const FormPanel = ({ formData }) => { content={false}> - 公共啟事:校對回覆 + diff --git a/src/pages/Proof/Search_Public/SearchForm.js b/src/pages/Proof/Search_Public/SearchForm.js index bad2b20..b5a3338 100644 --- a/src/pages/Proof/Search_Public/SearchForm.js +++ b/src/pages/Proof/Search_Public/SearchForm.js @@ -102,7 +102,9 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria, issueComboData {/*row 1*/} - 搜尋 + + + diff --git a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js index 0fcb142..5a3e0a7 100644 --- a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js +++ b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js @@ -246,7 +246,7 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => { } {FieldUtils.getTextArea({ - label: "備註:", + label: intl.formatMessage({id: 'extraMark'}) + ":", valueName: "remarks", form: formik, inputProps: { maxLength: 255 } diff --git a/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js b/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js index 711cb73..d533a65 100644 --- a/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js +++ b/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js @@ -40,7 +40,7 @@ import DownloadIcon from '@mui/icons-material/Download'; import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst"; import {ThemeProvider} from "@emotion/react"; import * as React from "react"; -import {FormattedMessage} from "react-intl"; +import {FormattedMessage, useIntl} from "react-intl"; // ==============================|| DASHBOARD - DEFAULT ||============================== // const ApplicationDetailCard = ( { applicationDetailData, @@ -64,6 +64,7 @@ const ApplicationDetailCard = ( // getValues } = useForm(); const navigate = useNavigate(); + const intl = useIntl(); useEffect(() => { //if user data from parent are not null @@ -166,11 +167,10 @@ const ApplicationDetailCard = ( onClick={cancelledClick()} color="edit" disabled={currentApplicationDetailData.status !== "submitted"} - title={"取消"} + title={intl.formatMessage({id: 'cancel'})} startIcon={} > - - 取消 + @@ -564,7 +564,9 @@ const ApplicationDetailCard = ( - 備註: + + : + {currentApplicationDetailData.remarks} @@ -592,12 +594,18 @@ const ApplicationDetailCard = ( - 總額(HK$): {FormatUtils.currencyFormat(fee)} + + (HK$): {FormatUtils.currencyFormat(fee)} + - - + + @@ -613,7 +621,10 @@ const ApplicationDetailCard = ( - + diff --git a/src/pages/PublicNotice/Details_Public/StatusChangeDialog.js b/src/pages/PublicNotice/Details_Public/StatusChangeDialog.js index 743adf5..4c786b6 100644 --- a/src/pages/PublicNotice/Details_Public/StatusChangeDialog.js +++ b/src/pages/PublicNotice/Details_Public/StatusChangeDialog.js @@ -20,6 +20,7 @@ import { useFormik,FormikProvider } from 'formik'; import * as yup from 'yup'; import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst"; import {ThemeProvider} from "@emotion/react"; +import {FormattedMessage} from "react-intl"; const StatusChangeDialog = (props) => { @@ -83,7 +84,7 @@ const StatusChangeDialog = (props) => { autoFocus color="delete" > - 取消 + @@ -93,7 +94,7 @@ const StatusChangeDialog = (props) => { onClick={acceptedHandle()} autoFocus > - 確定 + diff --git a/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js b/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js index 9c42fb9..ebdc1d8 100644 --- a/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js +++ b/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js @@ -223,14 +223,15 @@ export default function SubmittedTab({ rows }) { ({DateUtils.datetimeStr(datas[i].created)}) - 備註: {datas[i].remarks} + : {datas[i].remarks}

); totalAmount += datas[i].fee; } content.push( - 總額(HK$): {FormatUtils.currencyFormat(totalAmount)}

+ (HK$): {FormatUtils.currencyFormat(totalAmount)} +

); //setAmount(totalAmount); return content; @@ -353,8 +354,13 @@ export default function SubmittedTab({ rows }) { - - + + @@ -371,8 +377,13 @@ export default function SubmittedTab({ rows }) { - - + + @@ -389,7 +400,10 @@ export default function SubmittedTab({ rows }) { - + diff --git a/src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js b/src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js index 0408720..e0b5508 100644 --- a/src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js +++ b/src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js @@ -65,7 +65,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { {/*row 1*/} - 搜尋 + {/*row 2*/} @@ -224,7 +224,9 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { variant="contained" type="submit" > - 搜尋 + + +
diff --git a/src/pages/PublicNotice/ListPanel/SearchPublicNoticeTable.js b/src/pages/PublicNotice/ListPanel/SearchPublicNoticeTable.js index 6cb3524..2872274 100644 --- a/src/pages/PublicNotice/ListPanel/SearchPublicNoticeTable.js +++ b/src/pages/PublicNotice/ListPanel/SearchPublicNoticeTable.js @@ -97,9 +97,9 @@ export default function SearchPublicNoticeTable({ recordList }) { id: 'status', field: 'status', headerName: intl.formatMessage({id: 'status'}), - width: 160, + width: 200, renderCell: (params) => { - return [StatusUtils.getStatus(params)] + return [StatusUtils.getStatusIntl(params, intl)] }, }, { diff --git a/src/pages/authentication/auth-forms/PasswordAlertDialog.js b/src/pages/authentication/auth-forms/PasswordAlertDialog.js index 33b83b3..ba25ac5 100644 --- a/src/pages/authentication/auth-forms/PasswordAlertDialog.js +++ b/src/pages/authentication/auth-forms/PasswordAlertDialog.js @@ -16,6 +16,7 @@ import { DialogTitle } from '@mui/material'; import CancelOutlinedIcon from '@mui/icons-material/CancelOutlined'; +import {FormattedMessage} from "react-intl"; const PasswordAlertDialog = (props) => { return ( @@ -54,7 +55,7 @@ const PasswordAlertDialog = (props) => { diff --git a/src/translations/en.json b/src/translations/en.json index d7ed279..087123c 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -6,6 +6,9 @@ "PNSPS": "PNSPS", "HKSARGOV": "HKSAR Government", "Gazette": "Gazette", + "gazetteDate": "GazetteDate", + "gazetteLength": "length", + "gazetteSampleName": "Gazette Supplement No. 6", "registerTitle1": "Become", "registerTitle2": "Gazette Notice", @@ -20,6 +23,15 @@ "mainPage": "Main Page", "myPublicNotice": "My Public Notice", + "publicNoticePayment": "Public Notice: Payment", + "publicNoticePaymentFail": "Public Notice: Payment Failed", + "publicNoticePaymentSuccess": "Public Notice: Payment Success", + "publicNoticePaymentCancel": "Public Notice: Payment Canceled", + "publicNoticePaymentFPSPay": "Public Notice: FPS Payment", + "publicNoticePaymentProofDone": "Public Notice: Proofreading completed", + "publicNoticePaymentProofDoneAndPaid": "Public Notice: Proofreading Completed and Payment", + "publicNoticePaymentProofComment": "Public Notice: Proofreading Reply", + "publicNoticePaymentProofInfo": "Public Notice: Proofreading Information", "proofRecord": "Proof Record", "onlinePaymentHistory": "Online Payment History", "setting": "Setting", @@ -218,6 +230,15 @@ "requireContactPerson": "Please enter contact person", "search": "Search", "cancel": "Cancel", + "extraMark": "Remarks", + "totalAmount": "Total Amount", + "close": "Close", + "confirm": "Confirm", + "terms": "Terms", + "currencyPrice": "Price", + "transactionRefNo": "Transaction Reference Number", + "selectedPaymentMethod": "Selected payment method", + "paymentMethodNotAvailable":"The payment function is currently not available", "Dashboard": "Dashboard", "event": "Event" diff --git a/src/translations/zh-CN.json b/src/translations/zh-CN.json index 92f299a..1bb747f 100644 --- a/src/translations/zh-CN.json +++ b/src/translations/zh-CN.json @@ -6,6 +6,9 @@ "PNSPS": "公共启事提交及缴费系统", "HKSARGOV": "香港特别行政区政府", "Gazette": "宪报", + "gazetteDate": "宪报日期", + "gazetteLength": "长度", + "gazetteSampleName": "宪报第6号副刊公告", "registerTitle1": "立即成为", "registerTitle2": "宪报刊登公告", @@ -20,6 +23,15 @@ "mainPage": "主页", "myPublicNotice": "我的公共启事", + "publicNoticePayment": "公共启事:付款", + "publicNoticePaymentFail": "公共启事:付款失败", + "publicNoticePaymentSuccess": "公共启事:付款成功", + "publicNoticePaymentCancel": "公共启事:付款取消", + "publicNoticePaymentFPSPay": "公共启事:FPS付款", + "publicNoticePaymentProofDone": "公共启事:校对完成", + "publicNoticePaymentProofDoneAndPaid": "公共启事:校对完成及付款", + "publicNoticePaymentProofComment": "公共启事:校对回覆", + "publicNoticePaymentProofInfo": "公共启事:校对资料", "proofRecord": "校对记录", "onlinePaymentHistory": "网上付款记录", "setting": "设置", @@ -218,6 +230,15 @@ "requireContactPerson": "请输入联络人", "search": "搜寻", "cancel": "取消", + "extraMark": "备注", + "totalAmount": "总额", + "close": "关闭", + "confirm": "确认", + "terms": "项目", + "currencyPrice": "金额", + "transactionRefNo": "交易參考編號", + "selectedPaymentMethod": "已選擇付款方法", + "paymentMethodNotAvailable":"付款功能現在不可用", "Dashboard": "仪表板", "event": "活动" diff --git a/src/translations/zh-HK.json b/src/translations/zh-HK.json index 8720a19..8b656b1 100644 --- a/src/translations/zh-HK.json +++ b/src/translations/zh-HK.json @@ -6,6 +6,9 @@ "PNSPS": "公共啟事提交及繳費系統", "HKSARGOV": "香港特別行政區政府", "Gazette": "憲報", + "gazetteDate": "憲報日期", + "gazetteLength": "長度", + "gazetteSampleName": "憲報第6號副刊公告", "registerTitle1": "立即成為", "registerTitle2": "憲報刊登公告", @@ -20,6 +23,15 @@ "mainPage": "主頁", "myPublicNotice": "我的公共啟事", + "publicNoticePayment": "公共啟事:付款", + "publicNoticePaymentFail": "公共啟事:付款失敗", + "publicNoticePaymentSuccess": "公共啟事:付款成功", + "publicNoticePaymentCancel": "公共啟事:付款取消", + "publicNoticePaymentFPSPay": "公共啟事:FPS付款", + "publicNoticePaymentProofDone": "公共啟事:校對完成", + "publicNoticePaymentProofDoneAndPaid": "公共啟事:校對完成及付款", + "publicNoticePaymentProofComment": "公共啟事:校對回覆", + "publicNoticePaymentProofInfo": "公共啟事:校對資料", "proofRecord": "校對記錄", "onlinePaymentHistory": "網上付款記錄", "setting": "設定", @@ -218,6 +230,15 @@ "requireContactPerson": "請輸入聯絡人", "search": "搜尋", "cancel": "取消", + "extraMark": "備註", + "totalAmount": "總額", + "close": "關閉", + "confirm": "確認", + "terms": "項目", + "currencyPrice": "金額", + "transactionRefNo": "交易參考編號", + "selectedPaymentMethod": "已選擇付款方法", + "paymentMethodNotAvailable":"付款功能現在不可用", "Dashboard": "儀表板", "event": "活動"