전체 글
약 1분

안드로이드를 만들며 13 — 다섯 언어의 PRO 번역이 전부 스페인어였다

번역 키 검사를 통과한 다섯 언어의 PRO 파일이 통째로 스페인어였습니다. 문구를 고치면서 동일 문자열 83개 중 실제 오류는 두 개뿐이라는 점도 확인했습니다.

#안드로이드 #다국어 #현지화 #CI #품질

들어가며

Pocket PDF의 strings_pro.xml을 살펴보니 이탈리아어, 인도네시아어, 중국어 간체·번체, 브라질 포르투갈어 파일이 모두 스페인어였습니다. 다섯 파일의 47개 항목이 통째로 복사된 상태였습니다.

번역 정합성을 확인하는 strings-parity.sh는 계속 통과하고 있었습니다. 키가 빠지지 않았고, 리소스 종류도 맞았기 때문입니다.

검사가 확인한 것과 놓친 것

이 검사는 기본 언어와 각 번역 파일을 대조해 빠진 키, 불필요하게 남은 키, <string>과 <plurals>의 불일치를 찾습니다. 값이 어느 언어로 쓰였는지는 판단하지 않습니다.

이탈리아어 파일에 스페인어 문장을 넣어도 키가 같으면 통과하는 검사였습니다.

앱은 한국어, 영어, 일본어, 중국어 간체·번체, 스페인어, 독일어, 프랑스어, 이탈리아어, 포르투갈어, 인도네시아어로 11개 언어를 지원했습니다. PRO 도구를 추가한 2026-08-28에 여러 언어의 파일을 한꺼번에 만들면서 복사한 문구가 남아 있었습니다.

다섯 PRO 파일과 보관함 문구를 고쳤습니다

스페인어로 남은 다섯 strings_pro.xml을 각 언어로 다시 작성했습니다. 서명, 페이지 편집, 결제 화면에서 사용하는 문구였습니다.

보관함에서도 여섯 문구가 아홉 언어에 영어 그대로 남아 있어 함께 수정했습니다. 키가 있는지 확인하는 검사와 별개로, 실제 값이 해당 언어인지 읽어야 찾을 수 있는 문제였습니다.

같은 문장 83개가 모두 오역은 아니었습니다

브라질 포르투갈어와 스페인어를 비교했더니 같은 값이 83개 나왔습니다. 그런데 대부분은 두 언어에서 실제로 함께 쓰는 표현이었습니다.

  • Cancelar
  • Bloqueado
  • Páginas
  • Página anterior

이 값들을 모두 바꾸면 정상적인 번역까지 손대게 됩니다. 확인한 오류는 settings_title과 tab_settings 두 항목의 Ajustes였습니다. 이 둘은 브라질 포르투갈어의 Configurações로 수정하고, 겹치는 정상 표현은 그대로 뒀습니다.

마치며

이날 번역 문구는 고쳤지만, 언어를 확인하는 자동 검사는 아직 남은 작업이었습니다. 영어 원문이나 다른 로케일과 같은 값을 모아 보고하는 방식을 후보로 정했습니다.

같은 값이라고 바로 실패시키거나 자동으로 바꾸지는 않기로 했습니다. 이번에 본 83개 중 고칠 것은 두 개였습니다. 목록을 보여 주고 문맥을 읽는 데 쓰는 정도가 맞겠다고 봤습니다.