IT/server

버그질라 현지화 안내글(Localizers' Guide)

심량 2014. 1. 11. 23:16

현지화 안내

이 안내는 Bugzilla(이하 버그질라)의 현지화(이하 번역)된 사본을 어떻게 만드는지 간략하게 설명할 것입니다. 하지만 시작하기 전에 뉴스그룹(news://news.mozilla.org/mozilla.dev.apps.bugzilla) 에 당신을 알릴 것을 강력히 권장합니다.

개요

버그질라 번역에 관련된 주 기능은 UI 템플릿에 담겨 있습니다. 이 템플릿은 표시하는 영역과 내용을 분리시킵니다.

이왕에 번역하시는 김에 최신 안정 버전으로 시작하길 권장합니다.

번역하기

당신이 언어 코드를 "xx"로 해서 번영을 생성하는 것으로 가정하겠습니다.(여기서는 ko로 가겠습니다) 버그질라 루트 디렉토리에 template/ko/default 디렉토리를 만들고, 이 안에 template/en/default 디렉토리를 하위 디렉토리 포함해서 복사합니다. 번역할 때 "custom" 디렉토리를 사용하면 안됩니다. 이 디렉토리는 사이트에 특화된 최적화 목적으로만 사용하고 새로은 버그질라나 언어 팩으로 덮어 씌우지 않아야 합니다.(custom 디렉토리 안만들면 됨..)

언어 코드를 RFC 1766 에 정의된 xx-YY 형태로 사용할 수도 있습니다. "en-GB"이나 "ko-KR" 같은 형태가 있지요. 템플릿 디렉토리에 "xx" 형태의 이름을 갖는 디렉토리가 없고, 사용자가 "xx" 언어를 사용한다고 지정했다면, "xx-YY" 디렉토리 중에 가장 먼저 일치되는 것이 사용됩니다. 하지만 사용자가 "xx-YY" 형태로 지정했는데 이에 일치하는 "xx-YY" 디렉토리가 없다면, "xx" 형태 디렉토리를 자동으로 고르지는 않습니다. 대부분의 브라우저에서는 브라우저에서 두 개 모두 지정했을 때, 위 상황에 따라 자동으로 고를 수 있습니다.(자동으로 고르는 얘기는 잘 모르겠음..)

템플릿을 잘 복사했다면 번역을 시작하면 됩니다. 무엇을 번역하고 하지 않을지 명확해야 합니다. 템플릿에서 제공하는 변수가 [% %] 태그 안에 있는 것을 발견할 수 있는데 이것은 변수 이름이므로 번역하면 안됩니다. 이 변수는 다른 곳에 정의되어 있으므로 문맥에 따라 적당한 위치에 옮겨서 변수 주위의 일반 단어를 번역하면 됩니다.

버그질라를 설치하면 기본적으로 UTF-8(유니코드)을 문자 코드로 사용하므로 왠만하면 UTF-8로 작성하기를 권장합니다.

템플릿에서 일부 시간은 time2str 함수를 통해 형식을 지정하는데 이것이 사용되는 부분에서 옵션을 자알 지정해서 당신이 번역하려는 언어에 맞도록 사용하시면 됩니다.

200개 이상의 템플릿을 혼자 다 번역하려면 시간이 많이 필요하니까 주변에 같이 할 사람을 구하는 것도 고려하시는게 좋습니다.

하드코딩된 글 번역하기

화면에 표시되는 하드코딩된 문자열을 번역하는 방법을 소개합니다.

원본 코드가 다음과 같다면: 다음과 같이 바꿀 수 있습니다.:

화면에 표시할 목적으로 하드코딩된 영문을 번역된 문장으로 바꾸는데에 위처럼 해쉬 맵핑 기능을 쓸 수 있습니다.

번역 팩키지 만들기

거창하게 '번역 팩키지'를 만드려면 template/xx/default 디렉토리를 압축해서 파일이름에 해당하는 버그질라 버전 번호를 붙여주면 끝납니다.

버그질라 다운로드 페이지의 번역 목록에 여러분의 작업물을 추가시키고 싶다면, 웹페이지를 만들어서 이 템플릿을 사용할 수 있는 버그질라 목록, 유지보수하는 사람 목록, 번역물(위에서 압축한) 다운로드 링크 또는 다운 받는 방법(버전 관리 시스템 이용 등)을 포함해야 합니다. 독일어 번역물같은 훌륭한(?) 예를 참고해서 Sourceforge 같은 곳에 등록하든 직접 업로드하든 편한 방법을 사용하시면 됩니다.

번역물 사용하기

번역물을 사용하려면 일단 다운받아서 압축을 해제하고 template/xx/default 형태의 경로에 복사해주면 됩니다. 한국어라면 xx 자리에 ko가 가는 거 잊지 않으시면 됩니다.

출처: http://www.bugzilla.org/docs/localizer.html#using

번역에 도움이 될지도 모를 키워드 설명 사이트 목록

http://en.opensuse.org/openSUSE:Bug_definitions#Critical

http://open-source-class.googlecode.com/files/Open-source-textbook.pdf

http://www.slideshare.net/zone0000/ss-1764993

https://bugzilla.mozilla.org/page.cgi?id=fields.html