chore(l10n): accept Xcode catalog re-serialization (content-identical)

- 사용자 Xcode 빌드가 카탈로그 2개를 자기 포맷으로 재직렬화 — JSON 파싱 비교로
  내용 완전 동일 확인 (Localizable 786키 값·상태·manual 마킹 전부 보존)
- 유일한 실변화: InfoPlist의 CFBundleName extractionState(extracted_with_value) 제거
  → 수동 관리로 전환되어 앞으로 Xcode 추출이 현지화 값을 되돌리지 않음 (§2.3 방어와 동일 효과)
- 맥 앱 이름이 다시 Haru_Danim으로 보인 원인은 파일이 아니라 LaunchServices의
  유령 등록(삭제된 옛 래퍼 사본 4건)이었음 — lsregister로 정리 완료, 살아 있는
  래퍼·산출물에는 ko 하루 다님/en·ja Haru Danim 정상 확인

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014CkLDi8Lr21vGqo4SjZaTp
This commit is contained in:
songyc macbook 2026-07-20 15:55:52 +09:00
parent 6d6f9f08ad
commit dbdf4e32df
2 changed files with 8085 additions and 8086 deletions

View File

@ -1,100 +1,99 @@
{
"sourceLanguage": "ko",
"strings": {
"CFBundleDisplayName": {
"comment": "홈 화면에 표시되는 앱 이름",
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Haru Danim"
"sourceLanguage" : "ko",
"strings" : {
"CFBundleDisplayName" : {
"comment" : "홈 화면에 표시되는 앱 이름",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Haru Danim"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "Haru Danim"
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "Haru Danim"
}
},
"ko": {
"stringUnit": {
"state": "translated",
"value": "하루 다님"
"ko" : {
"stringUnit" : {
"state" : "translated",
"value" : "하루 다님"
}
}
}
},
"CFBundleName": {
"comment": "Bundle name",
"extractionState": "extracted_with_value",
"localizations": {
"ko": {
"stringUnit": {
"state": "translated",
"value": "하루 다님"
"CFBundleName" : {
"comment" : "Bundle name",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Haru Danim"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Haru Danim"
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "Haru Danim"
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "Haru Danim"
"ko" : {
"stringUnit" : {
"state" : "translated",
"value" : "하루 다님"
}
}
}
},
"NSCalendarsFullAccessUsageDescription": {
"comment": "Privacy - Calendars Full Access Usage Description",
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Needed to show your calendar events alongside the diary timetable."
"NSCalendarsFullAccessUsageDescription" : {
"comment" : "Privacy - Calendars Full Access Usage Description",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Needed to show your calendar events alongside the diary timetable."
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "日記のタイムテーブルにカレンダーの予定を一緒に表示するために必要です。"
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "日記のタイムテーブルにカレンダーの予定を一緒に表示するために必要です。"
}
},
"ko": {
"stringUnit": {
"state": "translated",
"value": "일기 타임테이블에 캘린더 일정을 함께 표시하기 위해 필요해요."
"ko" : {
"stringUnit" : {
"state" : "translated",
"value" : "일기 타임테이블에 캘린더 일정을 함께 표시하기 위해 필요해요."
}
}
}
},
"NSPhotoLibraryAddUsageDescription": {
"comment": "이미지 내보내기 → 사진에 저장 권한 문구",
"extractionState": "manual",
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Needed to save exported report images to your photo library."
"NSPhotoLibraryAddUsageDescription" : {
"comment" : "이미지 내보내기 → 사진에 저장 권한 문구",
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Needed to save exported report images to your photo library."
}
},
"ja": {
"stringUnit": {
"state": "translated",
"value": "書き出したレポート画像を写真アルバムに保存するために必要です。"
"ja" : {
"stringUnit" : {
"state" : "translated",
"value" : "書き出したレポート画像を写真アルバムに保存するために必要です。"
}
},
"ko": {
"stringUnit": {
"state": "translated",
"value": "내보낸 리포트 이미지를 사진 앨범에 저장하기 위해 필요해요."
"ko" : {
"stringUnit" : {
"state" : "translated",
"value" : "내보낸 리포트 이미지를 사진 앨범에 저장하기 위해 필요해요."
}
}
}
}
},
"version": "1.0"
"version" : "1.0"
}

File diff suppressed because it is too large Load Diff