Locize로 언어키 관리 생산 성을 높인 방법
여러 가지 언어를 지원하는 서비스를 만들 때, 개발적인 어려움 외에도 디자이너, 번역가와 협업하면서 마주치는 어려움도 있습니다. 이 글은 제가 다국어 언어 key 관리 업무를 맡으며 겪었던 비효율과 이를 Locize라는 플랫폼으로 해결한 내용을 다룹니다. 언어 key 관리에 고통받는 분들의 생산성을 높이는 데 도움이 되길 바랍니다.
저는 회사에서 패키지 형식으로 제공되는 제품을 개발하고 있습니다. 그래서 한 번 릴리즈 되면 수정이 어렵기 때문에 릴리즈 이전에 오류가 없도록 철저히 검사해야 합니다. 하지만 제품의 번역 작업은 항상 모든 개발 작업이 끝난 이후, 일괄적으로 이루어졌기 때문에 오타와 UI 오류를 검수할 시간이 부족했습니다. 번역 작업은 로직적인 최적화에 비해서 단순노동에 가까워 비효율을 줄이고, 팀의 생산성을 높일 수 있는 방법을 고민하게 되었습니다.
대표적인 비효율
문서 관리
제품의 언어 문서는 번역가에게도 공유되어야 하므로 주로 엑셀로 관리해 왔습니다.
디자인
영문을 기본 언어로 새로운 컴포넌트 디자인개발
Figma를 보고 개발하면서 언어 key 생성- 새로 추가된 언어 key와 번역이 필요한 언어 key를 수기로 엑셀에 작성
번역
국문, 일문에 대한 번역 의뢰수정
번역본을 프로젝트 코드에 반영- 반영한 문구는 엑셀에 따로 표시
- 반복
기본적으로 위와 같은 프로세스로 작업해 왔는데 문제는 번역에 자잘한 수정이 있을 때입니다. 국문과 영문은 따로 번역 의뢰를 맡길 필요가 없기에 구두로 논의 후 수정하는 경우가 왕왕 있는데 그때마다 엑셀 문서를 업데이트해 주지 않으니 실제 제품 코드와 엑셀 문서가 동기화되지 않는 경우가 발생했습니다. 제품 코드의 문구가 살짝 수정될 때마다 엑셀 문서도 업데이트해 주지 않으면(혹은 그 반대로 엑셀의 문구가 업데이트되었는데 코드에 반영되지 않으면) 나중에 해당 문자열을 찾기 어렵고, 변경 사항이 누락되기 쉽습니다.
수정의 어려움
기획/디자인 측의 요청으로 언어 표현이 바뀌는 경우가 잦은데 변경 권한을 개발자만 가지고 있는 것이 번거로웠습니다. 사소한 작업임에도 매번 Jira 티켓 생성하고, 작업하고, 코드 리뷰 받고, 머지하는 과정을 거쳤는데 이 부분이 비효율적이고 피로하다고 느껴졌습니다.
미안할 일이 아닌데도 요청할 때마다 눈물로 읍소🥺하는 게 요청하는 사람도 요청받는 사람도 불편하고, 제품에도 좋지 않은 영향을 미친다고 생각했습니다.
Locize로 행복 코딩하세요
Locize란 i18next의 개발자들이 만든 번역 관리 시스템입니다.
여러 명의 관리자가 협업할 수 있고, 개발자는 CLI로 코드와 문서의 동기화를 손쉽게 진행할 수 있으며, 디자이너는 Figma 플러그인으로 디자인 단계에서 UI 번역을 해 볼 수 있습니다. 그 밖에도 언어 key의 히스토리 관리도 가능하고, 무엇보다 i18n의 기능을 모두 지원합니다.
장점 - 문서 관리 생산성 향상
Locize 적용 후, 다음과 같은 워크플로우로 컴포넌트 개발을 진행하였습니다.
디자인
새로운 컴포넌트 생성 시, locize에 key 업로드개발
새로운 컴포넌트 개발 전, locize에 업로드 된 언어 key를 다운로드번역
export 기능을 사용해 엑셀 생성하여 번역을 맡기거나, 번역가가 직접 locize에 입력수정
변경사항은 locize에서 바로 수정, 수정 후 한꺼번에 다운로드하여 코드에 적용- 최종 빌드 전 다시 한 번 다운로드하여 Locize와 프로젝트 코드 동기화
엑셀을 손수 작업하는 부분이 자동화 되어서 휴먼에러를 많이 줄일 수 있었고, 덕분에 복잡한 로직 작업에 시간을 더 많이 할애할 수 있었습니다.