diff --git a/myApp/HaruDanim/CLAUDE.md b/myApp/HaruDanim/CLAUDE.md index 5dbd6a9..08751cc 100644 --- a/myApp/HaruDanim/CLAUDE.md +++ b/myApp/HaruDanim/CLAUDE.md @@ -324,7 +324,7 @@ xcrun xcstringstool sync Widgets/Localizable.xcstrings --stringsdata "${widget_f ## 14. DEBUG 런치 인자 (검증용, 모두 DEBUG 빌드 전용) -공통: `-seedDemo YES`(데모 데이터: 태그3·행동7·기록 7일치·목표8·자정 걸친 세션·마감 시각 다짐 1개[아침 루틴 08:00, 기대: 하루 100%·연속 1일 — 시드 기록이 고정 시각이라 오전 7:30 이전에 실행하면 오늘 기록이 미래 시각으로 연속 계산에서 빠져 연속 0일이 정상]. **시드 이름·메모는 String(localized:) — 실행 로케일을 따르므로(마케팅 스크린샷용) 이름으로 찾는 인자(-autoStart·-openStatsFor·-excludeActions·-endGoalYesterday)는 그 로케일의 이름을 넘길 것**, ko 기본 사용은 기존과 동일), `-seedBulk YES`(성능 검증용 과거 500일 약 1만 건 — 벌크 행동 4개), `-premium YES/NO`, `-startTab `, `-navStyle radial`, `-themeAutoToggle YES` +공통: `-seedDemo YES`(데모 데이터: 태그3·행동7·기록 7일치·목표8·자정 걸친 세션·마감 시각 다짐 1개[아침 루틴 08:00, 기대: 하루 100%·연속 1일 — 시드 기록이 고정 시각이라 오전 7:30 이전에 실행하면 오늘 기록이 미래 시각으로 연속 계산에서 빠져 연속 0일이 정상]. **시드 이름·메모는 String(localized:) — 실행 로케일을 따르므로(마케팅 스크린샷용) 이름으로 찾는 인자(-autoStart·-openStatsFor·-excludeActions·-endGoalYesterday)는 그 로케일의 이름을 넘길 것**, ko 기본 사용은 기존과 동일), `-seedBulk YES`(성능 검증용 과거 500일 약 1만 건 — 벌크 행동 4개), `-premium YES/NO`(**인자가 있는 콜드 스타트 동안만 유효** — 다음 실행에 인자를 빼면 실권한으로 복귀하므로 프리미엄 화면 검증 시 매 런치에 함께 줄 것. 지속 강제는 설정의 DEBUG 테스트 토글), `-startTab `, `-navStyle radial`, `-themeAutoToggle YES` | 영역 | 인자 | |---|---| diff --git a/myApp/HaruDanim/IOS/Localizable.xcstrings b/myApp/HaruDanim/IOS/Localizable.xcstrings index dea32fb..ffb2f22 100644 --- a/myApp/HaruDanim/IOS/Localizable.xcstrings +++ b/myApp/HaruDanim/IOS/Localizable.xcstrings @@ -236,7 +236,7 @@ "en": { "stringUnit": { "state": "translated", - "value": "%@ · %@ %@" + "value": "%1$@ · %3$@ %2$@" } }, "ja": { @@ -8551,18 +8551,18 @@ } } }, - "일기 탭 달력에서 날짜를 누르면 그날의 일기가 열려요. 첫 페이지는 오늘 기분·요약·목표 진행 현황·할 일·24시간 타임테이블·기록으로 하루를 정리해 보여줘요. 오른쪽 위 ⋯ 메뉴의 '첫 화면 구성'에서 섹션 표시 여부와 순서를 바꿀 수 있어요.": { + "일기 탭 달력에서 날짜를 누르면 그날의 일기가 열려요. 첫 페이지는 오늘 기분·요약·목표 진행 현황·할 일·24시간 타임테이블·기록으로 하루를 정리해 보여줘요. 오른쪽 위 ⋯ 메뉴의 '첫 화면 구성'에서 섹션 표시 여부와 순서를 바꿀 수 있어요. 기분 사진을 남긴 날은 달력의 그 날짜 칸에 사진이 배경으로 함께 보여요.": { "localizations": { "en": { "stringUnit": { "state": "translated", - "value": "Tap a date in the Diary tab calendar to open that day's diary. The first page sums up the day with mood, summary stats, goal progress, to-dos, a 24-hour timetable and records. Use 'First Page Layout' in the ⋯ menu to show, hide and reorder sections." + "value": "Tap a date on the diary tab's calendar to open that day's diary. The first page sums up your day with today's mood, a summary, goal progress, to-dos, a 24-hour timetable and records. Use 'Front page layout' in the ⋯ menu at the top right to choose which sections appear and in what order. On days you add a mood photo, that photo also shows as the background of the date cell in the calendar." } }, "ja": { "stringUnit": { "state": "translated", - "value": "ダイアリータブのカレンダーで日付をタップすると、その日の日記が開きます。最初のページは今日の気分・サマリー・目標進捗・やること・24時間タイムテーブル・記録で1日を整理して見せてくれます。右上の⋯メニューの「最初のページの構成」でセクションの表示と順序を変えられます。" + "value": "日記タブのカレンダーで日付をタップすると、その日の日記が開きます。最初のページは今日の気分・サマリー・目標の進捗・やること・24時間タイムテーブル・記録で一日を整理して見せてくれます。右上の⋯メニューの「最初の画面の構成」でセクションの表示と順序を変えられます。気分の写真を残した日は、カレンダーのその日付のマスに写真が背景として表示されます。" } } } diff --git a/myApp/HaruDanim/IOS/Views/HelpView.swift b/myApp/HaruDanim/IOS/Views/HelpView.swift index 08680e5..98da452 100644 --- a/myApp/HaruDanim/IOS/Views/HelpView.swift +++ b/myApp/HaruDanim/IOS/Views/HelpView.swift @@ -211,7 +211,7 @@ struct HelpView: View { HelpTopic( symbol: "book.closed.fill", title: "하루 정리 첫 페이지", - body: "일기 탭 달력에서 날짜를 누르면 그날의 일기가 열려요. 첫 페이지는 오늘 기분·요약·목표 진행 현황·할 일·24시간 타임테이블·기록으로 하루를 정리해 보여줘요. 오른쪽 위 ⋯ 메뉴의 '첫 화면 구성'에서 섹션 표시 여부와 순서를 바꿀 수 있어요." + body: "일기 탭 달력에서 날짜를 누르면 그날의 일기가 열려요. 첫 페이지는 오늘 기분·요약·목표 진행 현황·할 일·24시간 타임테이블·기록으로 하루를 정리해 보여줘요. 오른쪽 위 ⋯ 메뉴의 '첫 화면 구성'에서 섹션 표시 여부와 순서를 바꿀 수 있어요. 기분 사진을 남긴 날은 달력의 그 날짜 칸에 사진이 배경으로 함께 보여요." ), HelpTopic( symbol: "calendar.badge.plus", diff --git a/myApp/HaruDanim/Shared/HaruDanimIntents.swift b/myApp/HaruDanim/Shared/HaruDanimIntents.swift index bec1449..04fec2e 100644 --- a/myApp/HaruDanim/Shared/HaruDanimIntents.swift +++ b/myApp/HaruDanim/Shared/HaruDanimIntents.swift @@ -340,7 +340,8 @@ struct QuestEntity: AppEntity { id = quest.uuid targetName = quest.targetName goalTitle = quest.goal?.title ?? String(localized: "목표 없음") - summary = "\(quest.scheduleLabel) · \(quest.targetValueLabel) \(quest.direction.label)" + // 카탈로그 포맷 키("%@ · %@ %@")를 타야 영어에서 어순 재배열이 적용된다 — 일반 보간 금지 + summary = String(localized: "\(quest.scheduleLabel) · \(quest.targetValueLabel) \(quest.direction.label)") } private init(id: UUID, targetName: String, goalTitle: String, summary: String) { diff --git a/myApp/HaruDanim/Widgets/Localizable.xcstrings b/myApp/HaruDanim/Widgets/Localizable.xcstrings index bcd4fbf..ac740bc 100644 --- a/myApp/HaruDanim/Widgets/Localizable.xcstrings +++ b/myApp/HaruDanim/Widgets/Localizable.xcstrings @@ -149,6 +149,22 @@ } } }, + "%@ · %@ %@": { + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "%1$@ · %3$@ %2$@" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "%@ · %@ %@" + } + } + } + }, "%@ 시작": { "localizations": { "en": { @@ -490,12 +506,6 @@ }, "'%@ · %@' 오늘은 수행일이 아니에요.": { "localizations": { - "ko": { - "stringUnit": { - "state": "new", - "value": "'%1$@ · %2$@' 오늘은 수행일이 아니에요." - } - }, "en": { "stringUnit": { "state": "translated", @@ -507,6 +517,12 @@ "state": "translated", "value": "「%1$@ · %2$@」は今日は実行日ではありません。" } + }, + "ko": { + "stringUnit": { + "state": "new", + "value": "'%1$@ · %2$@' 오늘은 수행일이 아니에요." + } } } },