fix(l10n): wrap four raw Korean literals missed by catalog extraction

- 기록 탭 목록의 진행 중 세션 표기 "진행 중"이 문자열 보간 안 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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013yKDMhuF39GVYy3FMcGHh7
This commit is contained in:
songyc macbook 2026-07-16 02:38:05 +09:00
parent 063a7a2d7f
commit 7a6731a1f5
4 changed files with 4 additions and 4 deletions

View File

@ -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()

View File

@ -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 {

View File

@ -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: {

View File

@ -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)"
}