songyc macbook a6c040cd6a feat(i18n): 전체 UI 다국어 지원 (한국어·영어·일본어)
- 언어 설정 실적용: 변경 시 AppleLanguages 오버라이드 저장, 재시작 안내 footer
- 자동 추출되지 않던 일반 문자열(탭 이름, 픽커 라벨, 상태 뱃지, 포매터,
  삼항 문구, 심볼 카테고리 등)을 String(localized:)로 전환
- 위젯·워치 앱·컴플리케이션 타깃에 Localizable.xcstrings 신설
  (중복 리소스 방지 pbxproj 예외 추가), xcstringstool sync로 키 추출
- 4개 카탈로그 전체 키(고유 430개)에 en/ja 번역 주입
- 영어의 긴 횟수 단위("times")가 잘리지 않도록 모음 탭 셀 축소 허용
- 검증: -AppleLanguages "(en)"/"(ja)"로 모음 탭·설정 화면 확인

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013yKDMhuF39GVYy3FMcGHh7
2026-07-10 15:03:24 +09:00

537 lines
12 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": {
"%@": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "%@"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "%@"
}
}
}
},
"%@ %@": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "%@ %@"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "%@ %@"
}
},
"ko": {
"stringUnit": {
"state": "new",
"value": "%1$@ %2$@"
}
}
}
},
"%@ %lld%%": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "%@ %lld%%"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "%@ %lld%%"
}
},
"ko": {
"stringUnit": {
"state": "new",
"value": "%1$@ %2$lld%%"
}
}
}
},
"%@ +%lld": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "%@ +%lld"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "%@ +%lld"
}
},
"ko": {
"stringUnit": {
"state": "new",
"value": "%1$@ +%2$lld"
}
}
}
},
"%lld": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "%lld"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "%lld"
}
}
}
},
"%lld%%": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "%lld%%"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "%lld%%"
}
}
}
},
"+%lld": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "+%lld"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "+%lld"
}
}
}
},
"기간": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Period"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "期間"
}
}
}
},
"다짐": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Quest"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "クエスト"
}
}
}
},
"다짐 달성률": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Quest Progress"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "クエスト達成率"
}
}
}
},
"다짐 달성률 (%@)": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Quest progress (%@)"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "クエスト達成率(%@"
}
}
}
},
"목표": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Goals"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "目標"
}
}
}
},
"목표 달성률": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Goal Progress"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "目標達成率"
}
}
}
},
"목표 달성률 (%@)": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Goal progress (%@)"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "目標達成率(%@"
}
}
}
},
"선택한 다짐의 달성률을 표시해요. 한도형 다짐은 상태로 표시돼요. (프리미엄)": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Shows the selected quest's progress. Limit quests show their status. (Premium)"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "選択したクエストの達成率を表示します。上限型はステータス表示になります。(プレミアム)"
}
}
}
},
"선택한 목표의 하루/주간/월간 달성률을 표시해요. (프리미엄)": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Shows the selected goal's daily/weekly/monthly progress. (Premium)"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "選択した目標の日/週/月の達成率を表示します。(プレミアム)"
}
}
}
},
"실행 중 아님": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Not running"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "実行中なし"
}
}
}
},
"없음": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "None"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "なし"
}
}
}
},
"월간": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Monthly"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "月間"
}
}
}
},
"주간": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Weekly"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "週間"
}
}
}
},
"초과": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Over"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "超過"
}
}
}
},
"측정 중": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Tracking"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "計測中"
}
}
}
},
"측정 중인 행동과 경과 시간을 표시해요. (프리미엄)": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Shows the running action and elapsed time. (Premium)"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "計測中のアクションと経過時間を表示します。(プレミアム)"
}
}
}
},
"표시할 다짐과 기간을 선택하세요.": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Choose a quest and period to display."
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "表示するクエストと期間を選んでください。"
}
}
}
},
"표시할 목표와 기간을 선택하세요.": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Choose a goal and period to display."
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "表示する目標と期間を選んでください。"
}
}
}
},
"프리미엄": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Premium"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "プレミアム"
}
}
}
},
"하루": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Daily"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "1日"
}
}
}
},
"하루다님": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "HaruDanim"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "ハルダニム"
}
}
}
},
"한도": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Limit"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "上限"
}
}
}
},
"한도 안": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Within"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "上限内"
}
}
}
},
"한도 초과": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Over limit"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "上限超過"
}
}
}
},
"현재 현황": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Current Status"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "現在の状況"
}
}
}
}
},
"version": "1.0"
}