mycode/myApp/HaruDanim/IOS/AppShortcuts.xcstrings
songyc macbook ec62dc83de feat(siri): background Live Activity, spoken action names, localized phrases
시리 단축어 점검에서 나온 추천 수정 일괄 적용:

- StartTimeActionIntent·StopTimeActionIntent가 LiveActivityIntent 채택 —
  시리/단축어의 백그라운드 실행에서도 Live Activity 시작이 허용되어
  앱을 열지 않아도 다이나믹 아일랜드에 측정이 표시된다.
  RunActionIntent(위젯 버튼)는 확장 프로세스 응답성 튜닝을 유지하기 위해
  의도적으로 제외.
- 행동 이름 파라미터 문구 추가: "시리야, 하루 다님에서 독서 측정 시작"처럼
  되묻지 않고 한 번에 실행. 어휘 갱신을 위해 앱 시작 시
  updateAppShortcutParameters() 호출 (새 행동은 다음 실행부터 인식).
- IOS/AppShortcuts.xcstrings 신설 — 시리 문구 ko/en/ja 지역화.
  빌드 로그의 --no-app-shortcuts-localization가 사라지고 root.ssu.yaml에
  en/ja 발화가 포함되는 것 확인.
- RunActionIntent isDiscoverable=false — 생 UUID 파라미터라 사용자가 조합할
  수 없는 위젯 전용 동작을 단축어 앱·스포트라이트에서 숨김 (위젯 버튼은
  그대로 동작).
- 결제 화면 기능 목록에 '시리 단축어' 추가. 이 과정에서 featureRow가
  String 파라미터라 기능 목록 6줄 전체가 미지역화였던 버그 발견 —
  LocalizedStringKey로 바꾸고 en/ja 12개 문자열 번역.

검증: -intentSmokeTest 9개 시나리오 전부 통과(LiveActivityIntent 전환 후
재확인), 프리미엄 화면 렌더링 확인, Debug·Store 스킴 빌드 성공.
남은 확인: 시리 음성 인식·백그라운드 Live Activity 실표시는 실기기 필요.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013yKDMhuF39GVYy3FMcGHh7
2026-07-13 21:08:48 +09:00

146 lines
4.4 KiB
Plaintext

{
"sourceLanguage" : "ko",
"strings" : {
"${applicationName} 목표 진행률 알려 줘" : {
"localizations" : {
"en" : {
"stringSet" : {
"state" : "translated",
"values" : [
"Show my goal progress in ${applicationName}",
"What's my goal progress in ${applicationName}"
]
}
},
"ja" : {
"stringSet" : {
"state" : "translated",
"values" : [
"${applicationName}の目標達成率を教えて"
]
}
},
"ko" : {
"stringSet" : {
"state" : "translated",
"values" : [
"${applicationName} 목표 진행률 알려 줘"
]
}
}
}
},
"${applicationName}에서 측정 시작" : {
"localizations" : {
"en" : {
"stringSet" : {
"state" : "translated",
"values" : [
"Start tracking in ${applicationName}",
"Start a timer in ${applicationName}",
"Start tracking ${action} in ${applicationName}",
"Start ${action} in ${applicationName}"
]
}
},
"ja" : {
"stringSet" : {
"state" : "translated",
"values" : [
"${applicationName}で計測開始",
"${applicationName}で計測を始めて",
"${applicationName}で${action}の計測を開始",
"${applicationName}で${action}を始めて"
]
}
},
"ko" : {
"stringSet" : {
"state" : "translated",
"values" : [
"${applicationName}에서 측정 시작",
"${applicationName} 시간 측정 시작해 줘",
"${applicationName}에서 ${action} 측정 시작",
"${applicationName}에서 ${action} 시작해 줘"
]
}
}
}
},
"${applicationName}에서 측정 종료" : {
"localizations" : {
"en" : {
"stringSet" : {
"state" : "translated",
"values" : [
"Stop tracking in ${applicationName}",
"Stop the timer in ${applicationName}",
"Stop tracking ${action} in ${applicationName}",
"Stop ${action} in ${applicationName}"
]
}
},
"ja" : {
"stringSet" : {
"state" : "translated",
"values" : [
"${applicationName}で計測終了",
"${applicationName}で計測を終えて",
"${applicationName}で${action}の計測を終了",
"${applicationName}で${action}を終えて"
]
}
},
"ko" : {
"stringSet" : {
"state" : "translated",
"values" : [
"${applicationName}에서 측정 종료",
"${applicationName} 시간 측정 끝내 줘",
"${applicationName}에서 ${action} 측정 종료",
"${applicationName}에서 ${action} 끝내 줘"
]
}
}
}
},
"${applicationName}에서 횟수 추가" : {
"localizations" : {
"en" : {
"stringSet" : {
"state" : "translated",
"values" : [
"Add a count in ${applicationName}",
"Log something in ${applicationName}",
"Add a ${action} count in ${applicationName}",
"Log ${action} in ${applicationName}"
]
}
},
"ja" : {
"stringSet" : {
"state" : "translated",
"values" : [
"${applicationName}で回数を追加",
"${applicationName}に記録して",
"${applicationName}で${action}の回数を追加",
"${applicationName}に${action}を記録して"
]
}
},
"ko" : {
"stringSet" : {
"state" : "translated",
"values" : [
"${applicationName}에서 횟수 추가",
"${applicationName}에 기록 추가해 줘",
"${applicationName}에서 ${action} 횟수 추가",
"${applicationName}에 ${action} 기록해 줘"
]
}
}
}
}
},
"version" : "1.0"
}