4. 번역 지침

이 지침은 번역자를 돕는 것이 목적입니다. 먼저 기술적으로 번역이 어떻게 이루어지는지 그 일반적인 과정을 설명합니다. 그 다음 실제로 네덜란드어로 번역된 영어 .rst 파일을 통해 번역 작업을 설명합니다. 마지막으로 번역 규칙 을 요약할 것입니다.

참고

이 지침들이 QGIS 문서에 중점을 두고 있긴 하지만, 다음 절부터 설명하는 방법 및 규칙은 QGIS 응용 프로그램이나 웹사이트 번역에도 적용할 수 있습니다.

4.1. 번역 과정

QGIS 문서는 .rst 파일 포맷에 영어로 작성되었습니다. 번역을 제공하기 위해서는:

  1. 미리 빌드된 스크립트로 /QGIS-Documentation/locale/en 폴더에 .po 확장자를 가진 영어를 위한 번역 파일을 생성합니다.

  2. 스크립트가 다른 언어용 locale 폴더에 이 “원본” 을 복사합니다.

  3. .po 파일에 있는 문장들이 Transifex 웹 플랫폼으로 푸시되어, 번역자가 편집기를 통해 영어에서 자신의 언어로 번역을 시작할 수 있게 됩니다.

  4. 가장 중요한 것은, 스크립트가 검증된 모든 번역을 가져온다(pull back)는 것입니다.

  5. 다음 문서 빌드시 (하루에 적어도 한 번은 빌드합니다) 스크립트가 문장들을 재사용해서 번역된 산출물을 생성합니다.

  6. 이후 .rst 문서가 업데이트되면 영어 폴더에도 새 .po 파일이 생성됩니다. 이 새 파일의 내용은 각 언어의 기존 .po 파일과 합쳐질 것입니다. 즉 이전에 번역된 .rst 문서에 새 문장이 추가될 경우, 새로운/업데이트된 문장만 번역된 .po 파일에 추가되고 이 추가된 문장을 번역해야 한다는 뜻입니다. 다음 배포판을 위해 업데이트된 내용을 번역하는 데 필요한 작업량은 상대적으로 적을 것입니다.

참고

QGIS 웹사이트, QGIS 데스크탑, 그리고 QGIS 서버를 번역할 때 앞에서 설명한 이런 과정을 동일하게 따라야 합니다. 응용 프로그램의 경우 다른 점은 .po 파일 대신, 응용 프로그램을 구성하는 .py, .cpp, .yaml, 그리고 기타 파일들에서 번역 가능한 모든 문자열을 단일 .ts 파일로 Transifex에 푸시하고 풀백한다는 점입니다.

현재 QGIS를 번역하는 데 쓰이는 도구는 두 가지입니다.

  • QGIS를 번역하는 가장 쉽고 권장하는 방법인 Transifex 웹 플랫폼 은 앞에서 설명한 과정을 투명하게 보여주며, 번역할 수 있는 모든 텍스트를 번역자를 위해 한 곳에 모아 줍니다. 번역자는 원하는 파일을 골라 번역하기만 하면 됩니다. 번역된 파일은 다음 배포판이 푸시될 때까지 플랫폼에 저장됩니다.

  • Qt 개발자 도구인 Qt Linguist 를 사용하면, 번역자가 로컬 환경에서 소스 코드로부터 .po (또는 .ts) 파일을 가져와 번역한 다음 다시 푸시해야 합니다.

어떤 도구를 선택하든, 번역 규칙은 동일하다는 사실을 명심하십시오.

4.2. 파일 번역

어떻게 번역 작업을 해야 하는지 설명하기 위해, 열지도 플러그인을 예시로 이용하겠습니다. 이 예시를 영어에서 네덜란드 어로 번약할 텐데, 모든 언어의 다른 문서를 번역할 때도 실질적으로 동일합니다.

문서의 소스를 다음 위치에서 찾을 수 있습니다.

QGIS-Documentation/source/docs/user_manual/plugins/plugins_heatmap.rst

어째서 이 문서를 예시로 선택했을까요?

  1. 이 문서는 이미지, 캡션, 헤더, 참조 및 별명(replacement)도 포함하고 있기 때문이고,

  2. 내가 직접 작성했으니 번역하기도 쉽기 때문이지요 ;-)

빌드 과정에서 영어 .po 파일이 생성되는데, 다음 위치에서 이 파일을 찾을 수 있습니다:

QGIS-Documentation/locale/en/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po

이에 대응하는 네덜란드어 .po 파일은 (기본적으로 복사본입니다) 다음 위치에 있습니다:

QGIS-Documentation/locale/nl/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po

이 파일 옆에 아주 작은 .mo 파일도 함께 있을 것이며 이것은 어떤 번역도 이루어지지 않았다는 것을 뜻합니다.

4.2.1. Transifex에서 번역

Transifex를 통해 번역하기 위해 필요한 작업:

  1. Transifex 계정을 생성하고 QGIS 프로젝트에 가입 해야 합니다.

  2. 번역자가 언어팀의 일원이 되었다면, 대응하는 프로젝트를 (이 경우 QGIS Documentation 을) 클릭하십시오. 번역할 수 있는 언어들이 번역률과 함께 표시됩니다.

    ../../_images/transifex_choose_language.png

    그림 4.20 Transifex 메뉴에서 번역할 언어 선택하기

  3. 번역자의 언어 위에 마우스를 가져가서 클릭하면:

    • View resources: 번역 가능한 .po 파일이 번역률, 문자열 개수 및 기타 메타데이터와 함께 표시되거나

    • Translate: 번역 인터페이스가 번역할 수 있는 모든 .po 파일과 함께 열립니다.

  4. 번역하고자 하는 파일 (이 경우 열지도 플러그인 파일인 docs_user-manual_plugins_plugins-heatmap 파일) 또는 번역이 완료되지 않은 아무 파일을 식별해서 클릭하십시오. 파일에 있는 문자열들을 불러와서 인터페이스를 통해 필터링하거나 번역하거나 번역을 제안하거나 등등의 작업을 할 수 있습니다.

    문서 또는 웹사이트의 경우, 페이지의 푸터(footer)에 있는 Fix me 링크를 클릭하면 Transifex에 있는 해당 페이지의 번역 페이지로 직접 연결됩니다.

  5. 번역자는 각 텍스트를 선택해서 지침 을 따라 번역하기만 하면 됩니다.

For further information on the use of Transifex Web Editor, see https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor.

4.2.2. Qt Linguist로 번역

Qt Linguist를 사용하는 경우, 다음 작업이 필요합니다:

  1. .po 또는 .ts 파일(들)을 직접 가져오십시오. Transifex 플랫폼 또는 (깃허브에 있는) 소스 저장소의 locale/$language 폴더에서 파일(들)을 다운로드할 수 있습니다.

  2. 로컬 환경에서 번역을 진행하십시오.

  3. 수정된 파일을 대응하는 소스로 (Transifex 또는 깃허브로) 업로드하십시오.

Transifex에서 번역 가능한 파일을 다운로드/업로드할 수는 있지만, 이 과정을 권장하는 것은 아닙니다. Transifex에는 버전 관리 시스템이 없기 때문에, 번역자가 업로드한 파일이 기존 파일을 대체할 뿐입니다. 번역자가 작업하는 동안 다른 사람들이 적용시켰을 수도 있는 수정 사항들을 덮어쓸 위험이 있습니다.

처음으로 Qt Linguist에서 파일을 열었을 때 다음 대화창이 뜰 것입니다:

../../_images/linguist_choose_language.png

그림 4.21 Qt Linguist 메뉴에서 번역할 언어 선택하기

목표 언어를 정확하게 선택해야 합니다. 소스 언어는 언어 POSIX, 국가/지역 Any Country를 그대로 놔두어도 상관없습니다.

OK 버튼을 클릭하면 Qt Linguist에 문장이 채워져 번역을 시작할 수 있습니다. 그림 4.22 을 참조하십시오.

../../_images/linguist_menu.png

그림 4.22 Qt Linguist 메뉴를 사용해 번역하기

메뉴에 사용하기에 편리한 다음 버튼들이 있습니다.

  • linguist_done_next 번역 완료 다음(Translation Done Next) 버튼은 가장 중요한 버튼입니다. 어떤 항목을 번역해야 할 경우, 텍스트 영역에 번역을 입력한 다음 이 버튼을 클릭하십시오. 번역해야 할 항목이 아니라면 번역 텍스트 영역을 비워놓은 채 역시 이 버튼을 클릭하십시오. 항목 번역을 완료했고 다음 항목을 이어서 번역하겠다는 의미입니다.

  • linguist_previous 이전 항목(Goto Previous) 버튼은 이전에 번역한 항목으로 가는 데 쓰입니다.

  • linguist_next 다음 항목(Goto Next) 버튼은 다음에 번역할 항목으로 가는 데 쓰입니다.

  • linguist_next_todo 다음 할 일(Next Todo) 버튼은 번역해야 할 다음 첫 번째 항목으로 넘어갑니다. 원본 문서가 변경돼 새로운/업데이트된 문장들만 번역해야 할 경우 유용합니다.

  • linguist_previous_todo 이전 할 일(Previous Todo) 버튼은 이전 방향으로 검색해서 번역해야 할 첫 번째 항목으로 넘어갑니다.

Qt Languist 사용에 대한 자세한 내용은 https://doc.qt.io/qt-5/linguist-translators.html 을 보십시오.

경고

소스 저장소에서 번역할 내용을 다운로드하고 싶다면, master 분기에서 다운로드 하면 안 됩니다. 번역 작업의 경우 특정 버전에 대한 영어 문서가 완전히 업데이트되고 나면, 작업할 수 있는 번역 분기가 언제나 존재합니다. 예를 들어, QGIS 2.8 버전의 사용자 설명서를 번역하려면 manual_en_v2.8 분기를 이용해야만 합니다.

4.2.3. 사용자 지침서 번역

이제 열지도 플러그인 설명서를 번역해봅시다!

대부분의 문장은 번역하는 데 복잡하지 않을 겁니다. 이 번역 과정에서는 어떤 부분(reST 표현)에 특별한 번역이 필요한지 짚어보겠습니다.

다음에 번역할 문단이 흥미로워 보이는군요.

The |heatmap| :sup:`Heatmap` plugin allows to create a heatmap from a
point vector map. A heatmap is a raster map showing the density or
magnitude of point related information. From the result "hotspots" can
easily be identified.

이 문단은 reST 표현을 두 개 담고 있습니다.

  1. |heatmap| : | 사이에 있는 단어들은 별명으로, 이 단어들을 번역해서는 안 됩니다! 이 표현은 열지도 플러그인 아이콘으로 교체될 겁니다!

  2. :sup:`Heatmap` : :sup: 표현은 중첩 선언으로 그 다음에 오는 텍스트를 좀 더 높게 표시합니다. 이 표현은 마우스 커서를 툴바 항목 위에 올렸을 때 나타나는 팝업 텍스트를 보여주기 위해 쓰입니다. QGIS 응용 프로그램에서 실제로 번역된 경우 이 텍스트도 번역해야 할 수도 있습니다만, 이번 네덜란드 어 예시에선 번역하지 않습니다!

이 문단의 다른 모든 평문은 번역할 수 있습니다!

다음 번역 항목은 :ref: 표현을 담고 있는데, 설명서 안 또다른 위치를 참조하는 데 흔히 쓰이곤 하죠! :ref: 표현 뒤에 나오는 텍스트는 유일 식별자이기 때문에 번역해선 안 됩니다!

First this core plugin needs to be activated using the Plugin Manager
(see Section :ref:`load_core_plugin`). After activation the heatmap icon
|heatmap| can be found in the Raster Toolbar.

이 경우 load_core_plugin 은 캡션을 보유한 reST 항목을 가리키는 유일 참조 식별자입니다. :ref: 표현은 헤더의 텍스트로 교체되어 하이퍼링크로 변할 것입니다.이 참조가 참조하는 헤더를 번역할 경우, 이 헤더를 가리키는 모든 참조도 자동적으로 함께 번역될 겁니다.

다음 항목엔 QGIS 응용 프로그램의 메뉴에 실제로 표시되는 텍스트를 담고 있는 reST 태그 :menuselection: 이 있는데, 응용 프로그램이 번역된 경우 당연히 이 메뉴 텍스트도 번역해야겠죠.

Select from menu :menuselection:`View --> Toolbars --> Raster` to activate
the Raster Toolbar when it is not yet activated.

이 항목에서 실제로 “View –>”를 “Beeld –>”로 번역했는데, 네덜란드 어로 현지화된 QGIS 응용 프로그램에 쓰인 번역이기 때문입니다.

조금 더 가면 다음과 같은 까다로운 번역 항목을 보게 됩니다.

The |heatmap| :sup:`Heatmap` tool button starts the Dialog of the Heatmap
plugin (see :numref:`figure_heatmap_settings`).

이 항목은 도형 figure_heatmap_settings_ 를 가리키는 참조를 담고 있는데, 위치 참조와 마찬가지로 이 참조를 변경해서는 안 됩니다!! reST 문서에 있는 참조 정의는 .po 파일에 포함되어 있지 않기 때문에 변경해서는 안 됩니다. 즉 도형을 가리키는 참조는 번역하면 안 된다는 뜻입니다. HTML을 생성할 경우 figure_heatmap_settings 를 보게 될 겁니다. PDF 문서를 생성할 경우 figure_heatmap_settings_ 가 도형 번호를 대체하게 됩니다.

reST 속성을 가진, 다음으로 번역할 항목은 다음과 같습니다.

**Input Point dialog**: Provides a selection of loaded point vector maps.

이 문장에서 별표를 제거하지 마십시오. 별표 사이에 담긴 텍스트는 볼드체로 표시될 것입니다. 텍스트 자체는 대화창에 포함된 텍스트일 경우가 많아, 응용 프로그램에서도 번역될 가능성이 큽니다.

다음은 :guilabel: reST 태그를 담고 있는 번역 항목입니다.

When the |checkbox| :guilabel:`Advanced` checkbox is checked it will
give access to additional advanced options.

:guilabel: 태그의 텍스트 Advanced 는 QGIS 응용 프로그램에서도 번역될 가능성이 크기 때문에 번역해야 할 필요가 있을 겁니다!

다음 번역 항목은 ``airports`` 를 포함하고 있습니다. 이 인용 부호는 텍스트에 또다른 텍스트 폰트 속성을 부여하는 데 쓰입니다. 이 경우 ``airports`` 는 글자 그대로의 값으로 번역할 필요가 없습니다.

For the following example, we will use the ``airports`` vector point
layer from the QGIS sample dataset (see :ref:`label_sampledata`).
Another excellent QGIS tutorial on making heatmaps can be found on
`https://www.qgistutorials.com
<https://www.qgistutorials.com/en/docs/creating_heatmaps.html>`_.

또 이 항목은 URL과 외부 표현 방식을 가진 하이퍼링크도 포함합니다. URL은 당연히 그대로 두어야 하지만, 독자가 읽을 수 있는 외부 표현 텍스트인 https://www.qgistutorials.com 은 변경할 수 있습니다. 하이퍼링크 마지막에 붙는 언더바를 절대 제거하지 마십시오. 하이퍼링크의 필수적인 부분입니다!!

4.2.4. 번역 규칙 요약

  1. |bronze|, |checkbox|, |labels|, |selectString|, |addLayer| 와 같이 | 문자 두 개 사이의 텍스트를 변경하지 마십시오. 이미지를 대체하기 위해 쓰이는 특수 태그입니다.

  2. :ref:, :file:, :numref: 같은 롤(role)로 시작하는 참조가 제목을 포함하지 않는 이상, 변경하지 마십시오. 제목을 포함한다면, 제목을 번역할 수는 있지만 링크 (즉: <> 사이의 텍스트)를 변경하지는 마십시오.

    참조에 대한 제목이 제공되는 경우, Transifex는 영어 소스 텍스트에서 링크 부분 대신 숫자를 표시할 수도 있습니다. 소스 텍스트에 있는 숫자를 클릭하면 번역중인 제목 옆에 참조 링크를 추가합니다.

  3. figure_labels_1_ 처럼 언더바로 끝나는 참조를 변경하지 마십시오.

  4. 하이퍼링크 내부에 있는 URL을 변경하지 마십시오. 그러나 외부 설명 텍스트는 변경해도 됩니다. 하이퍼링크 마지막에 있는 언더바를 공백을 추가하지 말고 (>`_) 내버려두십시오.

  5. :index:, :sup:, :guilabel: 그리고 :menuselection: 태그 뒤에 붙는 인용 부호 안의 텍스트를 번역하십시오. QGIS 응용 프로그램에서 해당 텍스트를 번역했는지, 했다면 어떻게 번역했는지 확인하십시오. 태그 자체는 변경하지 마십시오.

  6. 이중 별표 그리고 이중 인용 부호 사이의 텍스트는 값 또는 파일명을 나타내는 경우가 많으며, 때로는 번역해야 하고 때로는 그대로 두어야 합니다.

  7. `, ``, *, **, :: 과 같은 특수 문자를 소스 텍스트와 정확히 동일한 개수로 작성하도록 유의해야 합니다. 이런 특수 문자는 제공하는 정보의 스타일에 기여합니다.

  8. 특수 문자 또는 태그에 담긴 텍스트는 공백으로 시작해서도 끝나서도 안 됩니다.

  9. 번역된 문자열을 새 단락으로 끝내지 마십시오. 그러지 않으면 HTML 생성 시 텍스트가 번역되지 않을 것입니다.

앞에서 정리한 규칙을 준수한다면 보기 좋은 번역 문서를 얻게 될 겁니다!

질문이 있다면, QGIS 커뮤니티 팀 또는 QGIS 번역 팀 으로 연락해주십시오.