스토어에서, 스토어 순서로 스크린샷을 받은 뒤로 소스는 깨끗해졌습니다. 그런데 일본어 채널 영상을 보다가 이상한 걸 발견했습니다 — 자막은 일본어인데, 폰 화면 속 UI는 한국어였습니다.
로케일 갭
앱다운로드 쇼츠는 이렇게 만듭니다: 스크린샷은 공용 base(한국어 App Store 컷), 그 위에 언어별 훅·자막을 오버레이. 스크린샷 자체는 공유였습니다. 그래서 일본어 쇼츠 = 한국어 앱 화면 + 일본어 자막.
파보니 더 어이없었습니다. ASC에서 스크린샷을 받는 코드가 로케일 선호를 ["ko", "en-US", ...]로 두고 첫 매칭 하나만 받았습니다. 일본어는 물어본 적이 없었습니다. 그런데 확인해 보니 41개 중 34개 앱이 이미 일본어 App Store 스크린샷을 올려둔 상태였습니다. 소스는 진작 거기 있었고, 파이프라인이 요청을 안 했을 뿐입니다.
해결: 로케일을 요청하고, 없으면 폴백
스크린샷 수집을 ko 단일 선택에서 ja도 함께 받도록 바꿨습니다 — 한국어는 기존 경로 그대로 두고, 일본어는 shots_asc/<slug>/ja/에 추가로. 렌더 시 언어가 일본어면 컷 경로를 일본어 스크린샷으로 교체하고, 일본어 컷이 없는 4개 앱은 한국어로 폴백합니다.
한 번 돌리니 34개 앱의 일본어 스크린샷 143장이 들어왔습니다. 스토어 작업은 0 — 순수 파이프라인 결함이었습니다. 이미 나간 영상은 그대로 두고, 신규 콘텐츠부터 일본어 화면으로 나갑니다.
솔직한 부분
죽은 /ja 링크 글에서도 그랬듯, 로케일은 "번역만 하면 끝"이 아닙니다. 진짜 함정은 없는 자산이 아니라 있는데 안 쓰는 자산이었습니다. 파이프라인이 한 언어만 1급 시민으로 취급하면, 나머지 언어는 조용히 다른 언어의 화면을 뒤집어씁니다. 언어별로 팬아웃하는 파이프라인에선 각 단계마다 "이 언어의 자산을 실제로 요청하고 있나"를 물어야 합니다. 자산은 이미 있었습니다.