From 7a6731a1f528fb4e1836a8cf1bb69c567416f8be Mon Sep 17 00:00:00 2001 From: songyc macbook Date: Thu, 16 Jul 2026 02:38:05 +0900 Subject: [PATCH] fix(l10n): wrap four raw Korean literals missed by catalog extraction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 기록 탭 목록의 진행 중 세션 표기 "진행 중"이 문자열 보간 안 String 리터럴이라 영어·일본어 UI에 한국어로 노출되던 것 수정 — String(localized:)로 기존 카탈로그 키 재사용 (시뮬레이터 en "In progress" / ko "진행 중" 스크린샷 검증) - 같은 패턴 3곳 동일 수정: 꼬리표 편집 미리보기 행 "미리 보기"(String 삼항), 시리 다짐 엔티티 부제 "목표 없음"(?? 폴백), 워치 행동 목록 제목 "꼬리표 없음"(String 파라미터) — 전부 기존 번역 키 재사용이라 카탈로그 변경 없음(xcstringstool sync 무변화 확인) - 검증: Debug·Store·워치 3스킴 빌드 성공, 시리 인텐트 스모크 테스트 10/10, streak-dump 수치 손검산 일치 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_013yKDMhuF39GVYy3FMcGHh7 --- myApp/HaruDanim/Haru_DanimWatch Watch App/ContentView.swift | 2 +- myApp/HaruDanim/IOS/Views/HistoryView.swift | 2 +- myApp/HaruDanim/IOS/Views/TagViews.swift | 2 +- myApp/HaruDanim/Shared/HaruDanimIntents.swift | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/myApp/HaruDanim/Haru_DanimWatch Watch App/ContentView.swift b/myApp/HaruDanim/Haru_DanimWatch Watch App/ContentView.swift index 54f9b35..d0e5642 100644 --- a/myApp/HaruDanim/Haru_DanimWatch Watch App/ContentView.swift +++ b/myApp/HaruDanim/Haru_DanimWatch Watch App/ContentView.swift @@ -133,7 +133,7 @@ struct ContentView: View { let untagged = snapshot.actions.filter { $0.tagIDs.isEmpty } if !untagged.isEmpty { NavigationLink { - WatchActionListView(title: "꼬리표 없음", actions: untagged) + WatchActionListView(title: String(localized: "꼬리표 없음"), actions: untagged) } label: { HStack(spacing: 8) { Circle() diff --git a/myApp/HaruDanim/IOS/Views/HistoryView.swift b/myApp/HaruDanim/IOS/Views/HistoryView.swift index a3b75c5..e000535 100644 --- a/myApp/HaruDanim/IOS/Views/HistoryView.swift +++ b/myApp/HaruDanim/IOS/Views/HistoryView.swift @@ -460,7 +460,7 @@ private struct HistoryRecordsView: View { VStack(alignment: .leading, spacing: 1) { Text(item.action.name) .font(.subheadline.weight(.medium)) - Text("\(Format.time(item.range.lowerBound)) ~ \(item.session.endAt == nil ? "진행 중" : Format.time(item.range.upperBound))") + Text("\(Format.time(item.range.lowerBound)) ~ \(item.session.endAt == nil ? String(localized: "진행 중") : Format.time(item.range.upperBound))") .font(.caption) .foregroundStyle(.secondary) if !item.session.note.isEmpty { diff --git a/myApp/HaruDanim/IOS/Views/TagViews.swift b/myApp/HaruDanim/IOS/Views/TagViews.swift index 10c7868..144b7d8 100644 --- a/myApp/HaruDanim/IOS/Views/TagViews.swift +++ b/myApp/HaruDanim/IOS/Views/TagViews.swift @@ -148,7 +148,7 @@ struct TagEditorView: View { Section { HStack(spacing: 8) { Circle().fill(color).frame(width: 14, height: 14) - Text(name.isEmpty ? "미리 보기" : name) + Text(name.isEmpty ? String(localized: "미리 보기") : name) .foregroundStyle(name.isEmpty ? .secondary : .primary) } } header: { diff --git a/myApp/HaruDanim/Shared/HaruDanimIntents.swift b/myApp/HaruDanim/Shared/HaruDanimIntents.swift index 3571570..f96a984 100644 --- a/myApp/HaruDanim/Shared/HaruDanimIntents.swift +++ b/myApp/HaruDanim/Shared/HaruDanimIntents.swift @@ -339,7 +339,7 @@ struct QuestEntity: AppEntity { init(_ quest: Quest) { id = quest.uuid targetName = quest.targetName - goalTitle = quest.goal?.title ?? "목표 없음" + goalTitle = quest.goal?.title ?? String(localized: "목표 없음") summary = "\(quest.scheduleLabel) · \(quest.targetValueLabel) \(quest.direction.label)" }