Firetext 앱 번역 과정에 대해

이 글은 Joshua Smith, Christie Koehler and Havi Hoffman의 The Translation of the Firetext App의 한국어 번역본입니다.

사건의 전말

Firetext오픈소스 워드프로세서입니다. 이 프로젝트는 2013년 초반에 @HRanDEV, @logan-r, 그리고 저(@Joshua-S)에 의해 시작됐습니다. 당초 이 프로젝트의 목표는 사용자에게 편안한 문서 작성 경험을 제공하고 Firefox OS에 부족한 기능성을 보완하는 것이었습니다.

Firetext 0.3Firetext 0.3

시작한지 일년만에, Firetext는 파이어폭스 마켓플레이스에서 가장 인기 있는 생산성 앱 Top 10 중 하나가 됐습니다. 우리는 많은 기능을 추가했습니다. Dropbox에도 통합되어 사용자가 문서를 클라우드에 저장할 수 있게 했습니다. 야간모드 기능도 추가했는데, 이는 주변 밝기에 따라 자동으로 인터페이스를 조절하는 기능입니다. 이외에도 새로운 인터페이스 디자인, 보다 나은 성능, 웹 작업 지원 등을 시도했습니다.

이런 시도에도 불구하고, Firetext를 기다리는 사람들의 수는 제한적이었습니다. 우리는 영어만 지원했는데, Exploredia에 의하면, 세계 인구의 17.65%만이 영어를 유창하게 사용한다고 합니다. 그래서 우리는 Firetext를 다국어 버전으로 만들기로 했습니다.

접근 전략

모질라 Hacks의 파이어폭스 앱 번역하기 기사를 읽은 후에, 우리는 webL10n과 구글 번역기(Google Translate)를 우리의 다국어 버전 개발 도구로 결정했습니다. 우리는 프로젝트 멤버들이 알고 있는 언어(스페인어와 독일어) 버전을 먼저 만들고, 구글 번역기를 이용해서 다른 언어들도 지원하는 버전을 만들기로 했습니다. 궁극적으로, 우리는 프로젝트 커뮤니티를 키워서 번역 작업을 완료하고 싶었습니다. 기계(구글 번역기)에 의한 번역은 오류가 많기 때문입니다.

뜻밖의 발견

몇 달이 지나도록 별다른 진전이 없었습니다. 작업이 쉽지 않았고 우리는 어떻게 해야 할 지 몰랐습니다. 내가 우연히 모질라 Hacks의 두번째 포스트 파이어폭스 OS 보일러플레이트 앱 번역하기를 발견할 때까지 이런 정체가 지속됐습니다.

꿈이 실현되는 느낌이었습니다. 모질라가 소규모 앱 개발자들의 다국어 버전 개발을 지원하는 프로그램을 시작한 것입니다. 우리는 모질라의 방대한 기여자 커뮤니티를 활용할 수 있게 됐습니다. 동시에 모질라도 이 프로그램을 통해 전세계 커뮤니티에 보다 많은 앱을 제공할 수 있게 됐습니다.

나는 즉시 이 프로그램에 참가하기 위해 모질라와 접촉했고, Transifex에 프로젝트를 개설하도록 초대됐습니다. 이제 게임이 시작됐습니다!

코드 준비 절차

나는 먼저 번역 결과물이 저장될 디렉토리를 만들었습니다. 그리고 그 디렉토리에 locales.ini 파일을 만들어서 webL10n이 어디서 번역 결과물을 찾아야 하는지 명시했습니다. 마지막으로, 나는 각 언어(locale)별 디렉토리를 추가했습니다.

locales.ini - Firetext

그다음 html 파일 안에 존재하는 번역이 필요한 태그 요소들에 data-l10n-id 속성을 부여했습니다. 그리고 alert()을 비롯해 스크립트가 생성하는 노티 메시지들도 적절한 언어로 표시되도록 webL10n의 document.webL10n.get() 함수 또는 _() 함수를 사용해서 처리했습니다.

이제 번역 결과물을 추가해야 될 때가 되었습니다. 나는 locales/en_US 디렉토리에 app.properties 파일을 만들고 locales.ini 파일이 참조하도록 했습니다. 그 다음, 번역되어야 할 모든 문자열들을 넣었습니다.

app.properties - Firetext

webL10n은 기본적으로 사용자의 언어를 자동으로 인식하지만, 사용자가 직접 언어를 선택하게 하는 기능도 구현해야 했습니다. 이를 위해, 지원하는 모든 언어들의 목록을 보여주는 선택 컨트롤을 Firetext 설정 판넬에 추가했습니다.Settings - Firetext

여기까지 했어도, Firetext가 다국어 버전이 된 것은 아니었습니다. 아직은 영어만 지원하는 상태입니다. 이제부터 Transifex가 활약할 차례입니다.

번역 절차

나는 Transifex에 Firetext 프로젝트를 개설했습니다. 그리고 GitHub에 각 언어별 개발팀을 할당했습니다. 그리고 app.properties 파일을 업로드했습니다.

Firetext 앱의 취지 및 번역 작업에 대한 설명도 manifest.webapp 파일에서 발췌해서 따로 업로드했습니다.

Firetext on Transifex

몇시간만에 번역 결과물이 쏟아졌습니다. 첫주가 지나자 히브리어, 프랑스어, 스페인어 번역이 완료됐습니다! 나는 번역된 파일을 다운로드해서 GitHub 레파지토리의 적절한 언어 디렉토리에 추가했습니다. 그리고, 설정 판넬에서 해당 언어를 활성화 시켰습니다. 모든 과정이 극히 쉽고 빠르게 진행됐습니다.

제출

이제 Firetext 번역 작업이 끝났습니다. 나는 Firetext를 모질라 마켓플레이스에 다시 제출해야 했습니다. 이것은 아주 간단한 절차였습니다. zip 파일을 다운로드해서, git 파일들을 꺼낸 다음, 우리의 에러 보고 시스템에서 사용할 API key를 추가하면 끝나는 절차였습니다.

하루도 되지 않아, 전세계 사용자가 사용할 수 있도록 개선된 Firetext가 공개됐습니다. Firetext는 이제 8개의 언어를 지원합니다. 나는 사용자 피드백을 가능한 빨리 만나 보고 싶습니다!

마지막 소감

돌이켜보면 Firetext 다국어 버전을 만들 때 가장 어려웠던 문제는 RTL (Right To Left) 언어를 지원하는 것이었습니다. 어려운 작업이었지만 노력한만큼 보람 있었습니다! 종합해보면 번역이 가장 쉬웠습니다.

grrd’s 4 in a Rowgrrd’s Puzzle을 만든 스위스의 앱 개발자 Gerard Tyedmers는 다음과 같이 말했습니다.

“…나는 앱을 다국어 버전으로 만드는 것이 정말 필요하다고 생각한다. 이를 통해 새로운 사용자들을 만날 수 있다.

l10n.js은 다국어 버전 개발을 쉽게 해주는 아주 유용한 도구다. 나는 기존 코드를 거의 건드리지 않고 보다 많은 언어를 수용할 수 있다는 점을 기쁘게 생각한다…”

전적으로 동감합니다!

Firetext Editor - Spanish

편집자의 말: 초대의 글

Firetext 같은 멋진 앱을 갖고 있습니까? 당신도 초대합니다!  당신이 Mozilla의 다국어 버전 앱을 위한 Transifex 지원 프로그램에 참가하면 좋겠습니다. 당신의 앱을 다국어 버전으로 만듬으로써, 당신은 전세계의 사용자들을 만날 수 있습니다. 그리고 전세계의 오픈 웹 앱 사용자들을 지원하는데 기여할 수 있습니다.

번역에 참여하시는 분들께… 모바일 앱을 번역하는 것은 번역과 인터페이스 측면에서 흥미있는 도전 거리입니다. 당신은 모바일 환경을 고려해서 번역 결과물을 만들어야 합니다. 번역 문자열은 작은 화면 안에 하나의 요소 표시됩니다. 번역자는 여러 나라 사람들이 쉽게 사용하고 이해할 수 있는 인터페이스를 만드는데 아주 중요한 역할을 하는 것입니다. 부디 Firetext 프로젝트에 참여하거나, 아니면 다른 프로젝트들에 참여해주세요.

이 프로젝트는 이제 막 시작됐습니다. 그리고 우리는 일을 진행하면서 배우고 있습니다. 만약 다국어 지원 앱 관련 Hacks 블로그 시리즈, Transifex 도움말 페이지, 그리고 기타 앞서 언급한 기사들과 Repo들에서 찾을 수 없는 질문이나 이슈가 있다면 우리에게 연락하세요. 우리는 적절한 방향을 제시하기 위해 최선을 다할 것입니다. 감사합니다!

작성자: ingeeKim

"누구에게나 평등하고 자유로운 웹"에 공감하는 직장인.

ingeeKim가 작성한 문서들…


댓글이 없습니다.

댓글 쓰기