fix(l10n): localize widget/complication placeholder sample labels
- placeholder()의 생 한국어 리터럴 6곳을 String(localized:)로: ③다짐 링·④다짐 현황·잠금화면 위젯의 spanLabel "오늘"(기존 키 재사용), 워치 목표/다짐 달성률 "목표"/"하루"(기존 키 재사용), 워치 현재 현황 샘플 "독서"(워치위젯 카탈로그 신규 1키 — en Reading/ja 読書, iOS 위젯 카탈로그와 동일 값) - placeholder는 갤러리/로딩 스켈레톤 전용 경로라 타임라인 예산·버튼 반응성·갱신 경로 무영향 — ①⑤ 위젯 placeholder가 이미 쓰던 패턴과 동일 - 검증: Debug·Store·워치 3스킴 빌드 성공, 전 카탈로그 missing/stale 0 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013yKDMhuF39GVYy3FMcGHh7
This commit is contained in:
parent
2b6ca94f09
commit
fced5d1958
@ -195,6 +195,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"독서": {
|
||||
"localizations": {
|
||||
"en": {
|
||||
"stringUnit": {
|
||||
"state": "translated",
|
||||
"value": "Reading"
|
||||
}
|
||||
},
|
||||
"ja": {
|
||||
"stringUnit": {
|
||||
"state": "translated",
|
||||
"value": "読書"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"목표": {
|
||||
"localizations": {
|
||||
"en": {
|
||||
|
||||
@ -56,8 +56,8 @@ struct GoalRateProvider: AppIntentTimelineProvider {
|
||||
}
|
||||
|
||||
func placeholder(in context: Context) -> GoalRateEntry {
|
||||
GoalRateEntry(date: .now, locked: false, title: "목표", symbolName: "flag.checkered",
|
||||
spanLabel: "하루", ratio: 0.6)
|
||||
GoalRateEntry(date: .now, locked: false, title: String(localized: "목표"), symbolName: "flag.checkered",
|
||||
spanLabel: String(localized: "하루"), ratio: 0.6)
|
||||
}
|
||||
|
||||
func snapshot(for configuration: GoalRateConfigIntent, in context: Context) async -> GoalRateEntry {
|
||||
@ -200,7 +200,7 @@ struct QuestRateProvider: AppIntentTimelineProvider {
|
||||
}
|
||||
|
||||
func placeholder(in context: Context) -> QuestRateEntry {
|
||||
QuestRateEntry(date: .now, locked: false, quest: nil, spanRaw: "day", spanLabel: "하루")
|
||||
QuestRateEntry(date: .now, locked: false, quest: nil, spanRaw: "day", spanLabel: String(localized: "하루"))
|
||||
}
|
||||
|
||||
func snapshot(for configuration: QuestRateConfigIntent, in context: Context) async -> QuestRateEntry {
|
||||
|
||||
@ -51,7 +51,7 @@ struct StatusProvider: TimelineProvider {
|
||||
}
|
||||
|
||||
func placeholder(in context: Context) -> StatusEntry {
|
||||
StatusEntry(date: .now, locked: false, runningName: "독서", runningSymbol: "book.fill",
|
||||
StatusEntry(date: .now, locked: false, runningName: String(localized: "독서"), runningSymbol: "book.fill",
|
||||
runningStartAt: .now, extraCount: 0)
|
||||
}
|
||||
|
||||
|
||||
@ -457,7 +457,7 @@ struct QuestStatusProvider: AppIntentTimelineProvider {
|
||||
}
|
||||
|
||||
func placeholder(in context: Context) -> QuestStatusEntry {
|
||||
QuestStatusEntry(date: .now, locked: false, theme: .matchApp, spanLabel: "오늘",
|
||||
QuestStatusEntry(date: .now, locked: false, theme: .matchApp, spanLabel: String(localized: "오늘"),
|
||||
largeStyle: .manyQuests, goals: [.sample])
|
||||
}
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ struct LockGoalProvider: AppIntentTimelineProvider {
|
||||
|
||||
func placeholder(in context: Context) -> LockGoalEntry {
|
||||
let goal = GoalSnapshot.sample
|
||||
return LockGoalEntry(date: .now, locked: false, spanLabel: "오늘", style: .gauge, goal: goal, ratio: goal.dayRatio)
|
||||
return LockGoalEntry(date: .now, locked: false, spanLabel: String(localized: "오늘"), style: .gauge, goal: goal, ratio: goal.dayRatio)
|
||||
}
|
||||
|
||||
@MainActor
|
||||
|
||||
@ -75,7 +75,7 @@ struct QuestRingProvider: AppIntentTimelineProvider {
|
||||
}
|
||||
|
||||
func placeholder(in context: Context) -> QuestRingEntry {
|
||||
QuestRingEntry(date: .now, locked: false, theme: .matchApp, spanLabel: "오늘",
|
||||
QuestRingEntry(date: .now, locked: false, theme: .matchApp, spanLabel: String(localized: "오늘"),
|
||||
cells: Array(QuestCellSnapshot.samples.prefix(Self.capacity(context.family))))
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user