From 52717206db1f2ea60da24f24f788e7b4650ca0ba Mon Sep 17 00:00:00 2001 From: Jay Sheen Date: Fri, 31 Oct 2025 12:43:22 +0900 Subject: [PATCH] Localize QNA (Q&A) support pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace all hardcoded Korean text with i18n translation keys in QNA detail and register pages. List page was already localized. Translation keys added to en.json: - detailLabels: title, type, registrationDate, answerDate, inquiryAnswer, inquiryContents - formLabels: title, inquiryType, requesterName, phoneNumber, emailAddress, inquiryContents, required marker, placeholders - submitButton, confirmButton, successMessage Components localized: - detail-page.tsx: All label badges for title, type, dates, and section titles for answer/contents - register-page.tsx: All form field labels, placeholders, dialog button, success alert, and submit button Note: list-page.tsx was already fully localized. ๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/locales/en.json | 24 +++++++++++++++- src/pages/support/qna/detail-page.tsx | 12 ++++---- src/pages/support/qna/register-page.tsx | 38 ++++++++++++------------- 3 files changed, 48 insertions(+), 26 deletions(-) diff --git a/src/locales/en.json b/src/locales/en.json index 11b132a..63c6a52 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -232,7 +232,29 @@ "requestTel": "Phone number is required.", "requestEmail": "Invalid email type.", "contents": "Contents is required." - } + }, + "detailLabels": { + "title": "Title", + "type": "Type", + "registrationDate": "Registration Date", + "answerDate": "Answer Date", + "inquiryAnswer": "Inquiry Answer", + "inquiryContents": "Inquiry Contents" + }, + "formLabels": { + "title": "Title", + "inquiryType": "Inquiry Type", + "requesterName": "Requester Name", + "phoneNumber": "Phone Number", + "emailAddress": "Email Address", + "inquiryContents": "Inquiry Contents", + "required": "*", + "phonePlaceholder": "Enter without '-'", + "emailPlaceholder": "TEST123@nicepay.com" + }, + "submitButton": "Submit", + "confirmButton": "Confirm", + "successMessage": "Success" } }, "slideMenu": { diff --git a/src/pages/support/qna/detail-page.tsx b/src/pages/support/qna/detail-page.tsx index 6f5202e..7d294af 100644 --- a/src/pages/support/qna/detail-page.tsx +++ b/src/pages/support/qna/detail-page.tsx @@ -61,29 +61,29 @@ export const QnaDetailPage = () => {
- ์ œ๋ชฉ + {t('support.qna.detailLabels.title')} { title }
- ์œ ํ˜• + {t('support.qna.detailLabels.type')} { t(`support.qna.categories.${requestType}`) }
- ๋“ฑ๋ก์ผ + {t('support.qna.detailLabels.registrationDate')} { !!requestDate? moment(requestDate).format('YYYY.MM.DD'): '' }
- ๋‹ต๋ณ€์ผ + {t('support.qna.detailLabels.answerDate')} { !!answerDate? moment(answerDate).format('YYYY.MM.DD'): '' }
-
๋ฌธ์˜ ๋‹ต๋ณ€
+
{t('support.qna.detailLabels.inquiryAnswer')}
-
๋ฌธ์˜ ๋‚ด์šฉ
+
{t('support.qna.detailLabels.inquiryContents')}
diff --git a/src/pages/support/qna/register-page.tsx b/src/pages/support/qna/register-page.tsx index 04dbe47..ff1f135 100644 --- a/src/pages/support/qna/register-page.tsx +++ b/src/pages/support/qna/register-page.tsx @@ -87,7 +87,7 @@ export const QnaRegisterPage = () => { open={isOpen} onClose={close} message={ msg } - buttonLabel={['ํ™•์ธ']} + buttonLabel={[t('support.qna.confirmButton')]} /> ); }); @@ -135,8 +135,8 @@ export const QnaRegisterPage = () => { requestEmail: requestEmail, contents: contents, }; - qnaSave(params).then((rs: QnaSaveResponse) => { - alert('์„ฑ๊ณต'); + qnaSave(params).then((rs: QnaSaveResponse) => { + alert(t('support.qna.successMessage')); navigate(PATHS.support.qna.list); }); }; @@ -153,11 +153,11 @@ export const QnaRegisterPage = () => {
- ์ œ๋ชฉ * + {t('support.qna.formLabels.title')} {t('support.qna.formLabels.required')}
- ) => setInputValue(e, QnaRegisterPropsName.Title) } @@ -166,13 +166,13 @@ export const QnaRegisterPage = () => {
- ๋ฌธ์˜์œ ํ˜• * + {t('support.qna.formLabels.inquiryType')} {t('support.qna.formLabels.required')}
) => setInputValue(e, QnaRegisterPropsName.RequestName) } @@ -200,11 +200,11 @@ export const QnaRegisterPage = () => {
- ํœด๋Œ€ํฐ๋ฒˆํ˜ธ * + {t('support.qna.formLabels.phoneNumber')} {t('support.qna.formLabels.required')}
{
-
์ด๋ฉ”์ผ ์ฃผ์†Œ
+
{t('support.qna.formLabels.emailAddress')}
- ) => setInputValue(e, QnaRegisterPropsName.RequestEmail) } /> @@ -225,7 +225,7 @@ export const QnaRegisterPage = () => {
- ๋ฌธ์˜๋‚ด์šฉ * + {t('support.qna.formLabels.inquiryContents')} {t('support.qna.formLabels.required')}