- KegelPhase에 prepare 국면 추가(무진동 — 첫 수축 진동이 시작 신호), 준비 0초면 즉시 수축 - 세팅에 '준비' 스테퍼(0~10초), 워치 자동 동기화, 구버전 설정 decodeIfPresent 보존 - 진행 화면: 준비=회그린 원이 작게 시작해 천천히 부풀며 첫 수축으로 연결(기존 그래픽 문법 유지), 진행 링 0·카운터 색 연동. 워치·Live Activity도 준비 국면 색/표시 대응 - 기록·건강의 시작 시각은 준비를 뺀 첫 수축 기준. Live Activity는 sync 단일 진입점으로 정리 - 도움말·세팅 푸터 문구 갱신, 신규 문자열 번역(en/ja)·stale 정리 — 전 카탈로그 0/0 - 검증: Debug·Release·워치 빌드 그린, 준비→수축 전환·세팅 화면 QA Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPmp29DQHY6Ahfss5SRopT
324 lines
6.7 KiB
Plaintext
324 lines
6.7 KiB
Plaintext
{
|
||
"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회 완주": {
|
||
"localizations": {
|
||
"en": {
|
||
"variations": {
|
||
"plural": {
|
||
"one": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld rep done"
|
||
}
|
||
},
|
||
"other": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld reps done"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld回完了"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"기타": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Other"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "その他"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"드르륵": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Triple burst"
|
||
}
|
||
},
|
||
"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": "Start"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "開始"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"완료!": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Done!"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "完了!"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"이완": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Relax"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "ゆるめる"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"준비": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Ready"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "準備"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"중단": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Stop"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "中断"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"지잉 (길게)": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Long buzz"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "ブーッ(長く)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"케겔 운동 시작": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Start Kegel Workout"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "ケーゲル運動を開始"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"코어 트레이닝": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Core Training"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "コアトレーニング"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"톡 (짧게)": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Tap (short)"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "トン(短く)"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"톡톡": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Double tap"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "トントン"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"현재 %lld번째, 전체 %lld회": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "Rep %lld of %lld"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "%lld回目、全%lld回"
|
||
}
|
||
},
|
||
"ko": {
|
||
"stringUnit": {
|
||
"state": "new",
|
||
"value": "현재 %1$lld번째, 전체 %2$lld회"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"확인": {
|
||
"localizations": {
|
||
"en": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "OK"
|
||
}
|
||
},
|
||
"ja": {
|
||
"stringUnit": {
|
||
"state": "translated",
|
||
"value": "OK"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"version": "1.0"
|
||
} |