mycode/myApp/Keging/KegingWidgets/Localizable.xcstrings
songyc macbook 32737d74fd feat(keging): Live Activity 자가 렌더링 재설계 — 앱이 정지해도 움직이는 DI/잠금화면 (실기기 4차 피드백)
- ActivityKit엔 미래 상태 예약 API가 없음을 확인(푸시 서버 없이는 국면 갱신이 앱
  런타임 의존) → 상태에 세트 전체 일정을 실어 시스템 렌더 요소로 심장을 재구성:
  국면 색 타임라인 바(하드 스톱 그라데이션) + 실시간 플레이헤드
  ProgressView(timerInterval:) + 전체 남은 시간. 플레이헤드가 걸친 색 = 지금 국면
- 국면 라벨·횟수는 앱 갱신 유지(syncCurrent 단일 진입점), stale 시 흐림
- 오디오 키퍼: 완전 무음 대신 ±2 LSB 디더 노이즈(무음 감지 정지 회피) +
  백그라운드 전환 ~30초 브리지 태스크
- 통계 타임라인 점별 시각 라벨 제거(겹침 — 시각은 오늘 기록 목록에서)
- 도움말·번역 갱신, CLAUDE.md 현행화. 시뮬: DI 백그라운드 80초+(10/20) 진행 확인

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UPmp29DQHY6Ahfss5SRopT
2026-09-02 16:26:29 +09:00

216 lines
4.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"sourceLanguage" : "ko",
"strings" : {
"%lld / %lld" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "%lld / %lld"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "%lld / %lld"
}
},
"ko" : {
"stringUnit" : {
"state" : "new",
"value" : "%1$lld / %2$lld"
}
}
}
},
"%lld/%lld" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "%lld/%lld"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "%lld/%lld"
}
},
"ko" : {
"stringUnit" : {
"state" : "new",
"value" : "%1$lld/%2$lld"
}
}
}
},
"기본" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Standard"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "標準"
}
}
}
},
"기타" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Other"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "その他"
}
}
}
},
"수축" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Squeeze"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "締める"
}
}
}
},
"수축 %lld초 · 이완 %lld초 · %lld회" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Squeeze %lld s · Relax %lld s · ×%lld"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "締める%lld秒 · ゆるめる%lld秒 · %lld回"
}
},
"ko" : {
"stringUnit" : {
"state" : "new",
"value" : "수축 %1$lld초 · 이완 %2$lld초 · %3$lld회"
}
}
}
},
"이완" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Relax"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "ゆるめる"
}
}
}
},
"전체" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Total"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "全体"
}
}
}
},
"준비" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Ready"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "準備"
}
}
}
},
"지이이잉" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Long buzz"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "ブーッ"
}
}
}
},
"코어 트레이닝" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Core Training"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "コアトレーニング"
}
}
}
},
"톡톡" : {
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Double tap"
}
},
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "トントン"
}
}
}
}
},
"version" : "1.0"
}