자동화 파이프라인6 분 읽기

내 채널은 스크립트 하나로 열렸고, 후크는 앱마다 손으로 채워야 했다

앱 다운로드 채널을 세팅하는 스크립트와 후크 번역 데이터를 한 커밋에 넣었습니다. 채널 쪽은 국가·언어를 인자로 받아 무한히 늘어나는데, 콘텐츠 쪽은 앱 하나당 언어 하나당 손으로 채운 항목이 있어야 렌더러가 무언가를 올릴 수 있었습니다. '다국어 지원'이 어느 층까지 내려가 있는지에 대한 기록입니다.

#localization#youtube#oauth#shorts#i18n
왼쪽에는 국가와 언어를 인자로 받는 채널 세팅 스크립트, 오른쪽에는 세 앱 두 언어만 채워진 후크 데이터 격자
채널은 스크립트 한 번으로 열렸지만, 영상에 올라갈 문장은 앱과 언어마다 손으로 채워야 했습니다.

커밋 하나에 두 종류의 파일이 섞여 있었습니다

앱 다운로드를 유도하는 채널을 여러 개 세팅하려고 스크립트를 하나 짰습니다. OAuth 인증을 통과하고, 채널 설명과 키워드, 국가, 언어별 배너까지 한 번에 입히는 setup_download_channels.py입니다. 123줄입니다. 채널이 몇 개든 이 파일 하나로 끝납니다.

같은 커밋에 파일이 두 개 더 들어갔습니다. apps_hook_en.json과 apps_hook_ja.json. 영상 위에 오버레이로 올라가는 후크 문장과 컷 문구를 영어와 일본어로 옮긴 데이터입니다. 각각 31줄. 그런데 이 31줄이 커버하는 앱은 세 개입니다. 대표로 고른 세 개뿐입니다.

여기서 멈칫했습니다. 채널 쪽은 국가와 언어를 인자로 받아 얼마든지 늘어나는데, 콘텐츠 쪽은 앱 하나당, 언어 하나당 사람이 채운 항목이 있어야 렌더러가 올릴 문장이 생깁니다. 당신의 파이프라인에서 "국가별 지원"이라고 적힌 기능은 어느 층까지 실제로 내려가 있습니까?

껍데기는 스크립트, 알맹이는 파일

채널 브랜딩은 한 번 짜면 끝나는 종류의 일입니다. 설명 문구, 키워드, 국가 코드, 배너 이미지. 언어가 하나 늘어나면 배너 하나와 문자열 몇 개가 늘어날 뿐입니다. 그래서 스크립트로 만들었고, 그 판단은 맞았다고 봅니다.

후크는 다릅니다. 앱마다 어떤 장면을 먼저 보여줄지, 어떤 문장으로 붙잡을지가 다르고, 그건 앱을 아는 사람이 고르는 문장입니다. seed_render가 오버레이로 얹을 텍스트는 앱 × 언어 격자의 칸을 하나씩 채워야 생깁니다. 이번 커밋에서 채운 칸은 3개 앱 × 2개 언어입니다.

당신이라면? 채널 세팅이 끝났으니 "다국어 채널 오픈"이라고 부르시겠습니까, 아니면 후크가 번역된 세 앱만 열리는 채널이라고 부르시겠습니까?

그래서 한 일

해결책이라고 부를 만한 것은 없습니다. 격자를 인정한 것뿐입니다. 채널 세팅은 스크립트에 맡기고, 후크 번역은 언어별 JSON으로 분리해 대표 세 앱부터 넣었습니다. 나머지 앱은 파일에 항목이 없으면 렌더러가 올릴 문장도 없습니다. 그 상태를 코드로 감추지 않고 데이터 파일이 그대로 드러내게 두는 것이 이번 커밋의 전부입니다.

값싼 수정은 없었습니다. 스크립트로 전 앱을 한 번에 채우는 길도 있었을 겁니다. 이번 커밋은 그 길을 택하지 않고 앱별 손 번역을 택했습니다. 그래서 병목은 코드 123줄이 아니라, 앞으로 앱 수 × 언어 수만큼 채워야 할 칸으로 남았습니다.

자가진단 체크리스트

  • "국가별 지원"이 채널·설정 레이어에서 끝나는지, 실제 콘텐츠 데이터까지 내려가는지 확인했습니까?
  • 앱 수 × 언어 수 격자에서 지금 채워진 칸이 몇 개인지 숫자로 말할 수 있습니까?
  • 번역 항목이 없는 앱을 렌더러가 어떻게 처리하는지(빈 오버레이, 원문 대체, 실패) 알고 있습니까?

솔직한 부분

번역된 후크가 실제로 영어·일본어 시청자에게 통하는지는 모릅니다. 아직 그 채널로 나간 영상의 반응 데이터가 없습니다. 세 앱 이후 나머지를 언제 채울지도 정해두지 않았습니다. 이 커밋은 채널의 껍데기와 콘텐츠의 첫 여섯 칸을 만든 것이고, 전체 격자가 몇 칸인지조차 여기서는 세지 않았습니다.

관련 글