refactor(i18n): 사용자 문구 참조를 중앙화

This commit is contained in:
2026-03-10 13:32:37 +09:00
parent 92a509ebb6
commit 1717f335f0
44 changed files with 433 additions and 515 deletions

View File

@@ -1,4 +1,5 @@
import { useEffect, useRef, useState } from 'react';
import { copy } from '@/shared/i18n';
import type { HudStatusLinePayload } from '@/shared/lib/useHudStatusLine';
import { SpaceTimerHudWidget } from '@/widgets/space-timer-hud';
import { GoalCompleteSheet } from './GoalCompleteSheet';
@@ -44,7 +45,7 @@ export const SpaceFocusHudWidget = ({
const visibleRef = useRef(false);
const playbackStateRef = useRef<'running' | 'paused'>(playbackState);
const restReminderTimerRef = useRef<number | null>(null);
const normalizedGoal = goal.trim().length > 0 ? goal.trim() : '집중을 시작해요.';
const normalizedGoal = goal.trim().length > 0 ? goal.trim() : copy.space.focusHud.goalFallback;
useEffect(() => {
return () => {
@@ -58,7 +59,7 @@ export const SpaceFocusHudWidget = ({
useEffect(() => {
if (visible && !visibleRef.current && playbackState === 'running') {
onStatusMessage({
message: `이번 한 조각 · ${normalizedGoal}`,
message: copy.space.focusHud.goalToast(normalizedGoal),
});
}
@@ -68,7 +69,7 @@ export const SpaceFocusHudWidget = ({
useEffect(() => {
if (playbackStateRef.current === 'paused' && playbackState === 'running' && visible) {
onStatusMessage({
message: `이번 한 조각 · ${normalizedGoal}`,
message: copy.space.focusHud.goalToast(normalizedGoal),
});
}
@@ -115,7 +116,7 @@ export const SpaceFocusHudWidget = ({
}
restReminderTimerRef.current = window.setTimeout(() => {
onStatusMessage({ message: '5분이 지났어요. 다음 한 조각으로 돌아와요.' });
onStatusMessage({ message: copy.space.focusHud.restReminder });
restReminderTimerRef.current = null;
}, 5 * 60 * 1000);
}}