From 9a73626422498bc1e3c04779f8e38d91baa45a6e Mon Sep 17 00:00:00 2001 From: Jay Sheen Date: Wed, 29 Oct 2025 18:24:48 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=8C=EB=A6=BC=ED=95=A8=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EB=B0=8F=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=EB=8B=A4=EA=B5=AD=EC=96=B4=ED=99=94=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 알림함 페이지 다국어화 * 헤더 타이틀: 알림함 → Notifications * 전체 탭 버튼 다국어화 - 알림 컴포넌트 다국어화 * alarm-list: 90일 보관 안내 메시지 * alarm-item: 바로가기 alt 텍스트 (파라미터 지원) - 번역 키 추가: alarm 네임스페이스 4개 키 * title, all, retentionNotice, goTo - 파라미터화된 번역 지원 ({{category}}) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/entities/alarm/ui/alarm-item.tsx | 6 ++++-- src/entities/alarm/ui/alarm-list.tsx | 2 +- src/locales/en.json | 6 ++++++ src/locales/ko.json | 6 ++++++ src/pages/alarm/list/list-page.tsx | 12 +++++++----- 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/entities/alarm/ui/alarm-item.tsx b/src/entities/alarm/ui/alarm-item.tsx index 9fb9a79..5534ea2 100644 --- a/src/entities/alarm/ui/alarm-item.tsx +++ b/src/entities/alarm/ui/alarm-item.tsx @@ -6,6 +6,7 @@ import { useAppAlarmMarkMutation } from '../api/use-app-alarm-mark-mutation'; import { AppAlarmMarkParams, AppAlarmMarkResponse } from '../model/types'; import { useStore } from '@/shared/model/store'; import { useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; export interface AlarmItemProps { appNotificationSequence?: number; @@ -27,6 +28,7 @@ export const AlarmItem = ({ appNotificationCategories }: AlarmItemProps) => { const { navigate } = useNavigate(); + const { t } = useTranslation(); let userInfo = useStore.getState().UserStore.userInfo; const {mutateAsync: appAlarmMark} = useAppAlarmMarkMutation(); @@ -107,9 +109,9 @@ export const AlarmItem = ({
- {
diff --git a/src/entities/alarm/ui/alarm-list.tsx b/src/entities/alarm/ui/alarm-list.tsx index e231b13..8e2fdea 100644 --- a/src/entities/alarm/ui/alarm-list.tsx +++ b/src/entities/alarm/ui/alarm-list.tsx @@ -123,7 +123,7 @@ export const AlarmList = ({ { getAlarmItems() }
-
※ 알림은 90일간 보관 후 삭제됩니다.
+
{t('alarm.retentionNotice')}
); }; \ No newline at end of file diff --git a/src/locales/en.json b/src/locales/en.json index 051a30e..21b35ae 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -481,5 +481,11 @@ "location": "Location", "url": "URL", "serviceRegistrationNumber": "Service Registration Number" + }, + "alarm": { + "title": "Notifications", + "all": "All", + "retentionNotice": "※ Notifications are kept for 90 days and then deleted.", + "goTo": "Go to {{category}}" } } \ No newline at end of file diff --git a/src/locales/ko.json b/src/locales/ko.json index 61f37d7..49cf757 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -485,5 +485,11 @@ "location": "소재지", "url": "URL", "serviceRegistrationNumber": "서비스 등록번호" + }, + "alarm": { + "title": "알림함", + "all": "전체", + "retentionNotice": "※ 알림은 90일간 보관 후 삭제됩니다.", + "goTo": "{{category}} 바로가기" } } \ No newline at end of file diff --git a/src/pages/alarm/list/list-page.tsx b/src/pages/alarm/list/list-page.tsx index 84b766f..a115720 100644 --- a/src/pages/alarm/list/list-page.tsx +++ b/src/pages/alarm/list/list-page.tsx @@ -1,18 +1,20 @@ import { AlarmList } from '@/entities/alarm/ui/alarm-list'; import { HeaderType } from '@/entities/common/model/types'; import { useStore } from '@/shared/model/store'; -import { +import { useSetHeaderTitle, useSetHeaderType, useSetFooterMode } from '@/widgets/sub-layout/use-sub-layout'; import { useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; export const ListPage = () => { + const { t } = useTranslation(); let totalAppNotificationCategories = useStore.getState().CommonStore.appNotificationCategories; const [appNotificationCategories, setAppNotificationCategories] = useState>(totalAppNotificationCategories); - - useSetHeaderTitle('알림함'); + + useSetHeaderTitle(t('alarm.title')); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); @@ -37,10 +39,10 @@ export const ListPage = () => {
- + >{t('alarm.all')} { !!appNotificationCategories && appNotificationCategories.map((value, index) => (