《현지화》

Photini는 영어를 못하는 사람들을 위해 사용하기 쉽게 만들 수 있습니다. 여기에는 프로그램 내에서 사용되는 텍스트와 문서의 두 부분이 있습니다. 나는 유창하게 다른 언어를 쓸 수 없기 때문에 번역을 사용자에게 의존합니다. Transifex 라는 온라인 서비스나 컴퓨터에 설치된 적절한 텍스트 편집기를 사용할 수 있습니다.

온라인 번역

Transifex 는 Photini와 같은 오픈 소스 프로젝트를 무료로 지원하는 온라인 번역 서비스입니다. 온라인 편집기를 제공하여 개인이 원하는 만큼의 노력을 쉽게 기여할 수 있도록 합니다. Transifex 에 대한 링크를 따라 《Photini 번역 도움말》을 클릭하십시오. 거기에서 무료 계정을 만들고 로그인할 수 있습니다.

귀하의 언어가 Photini 프로젝트 언어 목록에 포함되어 있지 않은 경우 《언어 요청》을 클릭하여 언어 추가를 요청할 수 있습니다. 각 언어는 코드로 표시됩니다. nl 또는 en_CA. 더 긴 코드는 일반적으로 공통 언어의 지역 또는 국가 변형입니다. Photini에서 아직 사용할 수 없는 경우 통용어를 선택해야 하며 통용어가 완료되면 변형으로 이동합니다. 언어가 추가되면 언어 팀에 합류하도록 요청한 다음 번역을 시작할 수 있습니다.

온라인 번역의 주요 장점은 컴퓨터에 (웹 브라우저를 제외하고) 소프트웨어를 설치할 필요가 없고 여러 사람이 동일한 언어로 작업할 수 있다는 것입니다. 한 가지 단점은 Transifex 가 텍스트가 사용된 컨텍스트를 표시하지 않아 번역이 더 어려울 수 있다는 것입니다.

오프라인 번역

자신의 컴퓨터에서 Photini를 번역하려면 추가 소프트웨어를 설치해야 하지만 번역이 사용되는 프로그램 소스를 볼 수 있으므로 더 쉬울 수 있습니다.

GitHub repository를 복제하여 Photini의 개발 버전을 설치하는 것으로 시작합니다(참조 개발 버전). 또한 Transifex 클라이언트 프로그램인 Babelpylupdate5 를 설치해야 합니다. 가능하면 운영 체제 소프트웨어 관리자와 함께 설치하십시오. pylupdate5 는 Linux 배포판에 따라 python3-qt5-devel 또는 pyqt-tools 또는 이와 유사한 패키지에 있어야 합니다. 그렇지 않으면 pip 를 사용할 수 있습니다.

$ pip3 install transifex-client Babel

Transifex 에 있는 경우, 선택한 언어로 가장 최근 번역을 가져오는 것부터 시작하십시오. 예를 들어, Photini를 네덜란드어로 번역하려는 경우:

$ tx pull -l nl -f

(-f 옵션은 로컬 파일이 Transifex의 번역보다 최신 버전인 경우에도 강제로 다운로드합니다.)

이제 현재 프로그램 문자열로 번역 파일을 업데이트(또는 존재하지 않는 경우 초기화)합니다.

$ python3 utils/lang_update.py -l nl

이제 선택한 편집기에서 번역 파일을 열 수 있습니다. 예:

$ linguist-qt5 src/lang/nl/photini.ts
$ linguist-qt5 src/lang/nl/LC_MESSAGES/manual.po

번역에는 모든 텍스트 편집기를 사용할 수 있지만 특수 목적의 번역 편집기를 사용하는 것이 좋습니다. Qt Linguist 프로그램이 이상적이지만 프로그램 문자열에 사용되는 .ts 파일 형식이나 문서에 사용되는 .po 파일 형식을 이해하는 모든 편집기가 허용되어야 합니다.

프로그램 텍스트 번역

컴퓨터가 영어 이외의 언어를 사용하도록 구성되어 있고 Photini가 이미 해당 언어로 번역된 경우 Photini는 자동으로 번역을 사용해야 합니다. 예를 들어, 컴퓨터가 스페인어를 사용하도록 구성된 경우 다음과 같습니다.

../_images/screenshot_37.png

Photini를 다른 언어로 번역하거나 기존 번역을 개선하여 도움을 주고 싶다면 이것이 바로 당신이 해야 할 일입니다.

온라인 번역

Transifex 사이트에는 Photini에 대한 여러 《리소스》가 있습니다. photini 라는 이름은 Photini 프로그램에서 사용하는 텍스트 문자열을 포함합니다. (doc 로 시작하는 다른 문서에는 Photini 문서가 포함되어 있습니다.) photini 리소스를 클릭하고 작업하려는 언어를 클릭한 다음 translate 버튼을 클릭하십시오. 번역할 텍스트 문자열을 클릭한 다음 번역을 입력할 수 있는 번역 편집 페이지가 표시됩니다. 프로그램 문자열을 번역할 때 주의해야 할 사항은 아래의 notes 를 참조하십시오.

오프라인 번역

프로그램 문자열은 src/lang/nl/photini.ts 와 같은 이름의 파일에 저장됩니다. 여기서 nl 은 네덜란드어 코드입니다. 모든 편집기에서 번역 파일을 열 수 있지만 번역 도구가 가장 좋습니다. 예를 들어:

$ linguist-qt5 src/lang/nl/photini.ts

프로그램 문자열을 번역할 때 주의해야 할 사항은 아래의 notes 를 참조하세요.

Transifex 계정이 있는 경우 진행되는 대로 번역을 업로드해야 합니다. 이렇게 하면 다른 번역가가 실수로 귀하의 작업을 복제하지 않도록 할 수 있습니다.

$ tx push -t -l nl

주의 사항

특별한 의미를 지닌 단어들

Title / Object Name 과 같은 일부 Photini GUI 요소는 Exif, XMP 또는 IPTC 사양의 메타데이터 항목 이름을 따서 명명되었습니다. 이러한 표준에 대한 정보가 귀하의 언어로 제공되면 이러한 단어를 번역하는 데 도움이 될 수 있습니다.

문자열 서식 지정

Python에서 중괄호는 문자열에 다른 데이터를 포함하는 데 사용됩니다. 예를 들어 저작권 ©{year} {name}. All rights reserved. 에는 프로그램 실행 시 연도와 저작권자의 이름이 포함됩니다. 중괄호 안에 있는 내용을 변경하지 않도록 주의해야 하지만 언어에 적합한 경우 다시 정렬할 수 있습니다.

Carriage returns

Photini의 일부 버튼은 버튼이 너무 넓은 것을 방지하기 위해 두 개 이상의 라인으로 레이블을 분할합니다. 같은 수의 줄을 갖도록 번역을 비슷한 크기로 분할해야 합니다.

HTML markup

<h3>Flickr에 업로드가 완료되지 않았습니다.</h3> 와 같은 문자열에는 번역된 문자열에 복사해야 하는 HTML 마크업이 포함되어 있습니다. Transifex 웹 페이지에는 이를 도울 수 있는 《소스 문자열 복사》 버튼이 포함되어 있습니다. <multiple values> 와 같은 일부 문자열은 HTML이 아닙니다. 꺾쇠 괄호 <> 는 특별한 의미를 가진 데이터를 나타내는 데 사용됩니다. 이러한 문자열은 일반적으로 번역되어야 합니다.

키보드 단축키

일부 문자열에는 키보드 단축키로 사용되는 문자 바로 앞에 단일 앰퍼샌드 문자 & 가 포함되어 있습니다. 번역에서 적절한 문자를 선택하고 앰퍼샌드를 적절하게 배치해야 합니다.

복수형

번역은 언어가 복수형을 처리하는 다양한 방식을 수용할 수 있습니다. 예를 들어 영어로 《0 파일, 1 파일, 2 파일》이라고 씁니다. Transifex 에는 번역이 적용되는 수량을 선택하는 작은 버튼이 있습니다. 다른 번역 편집자도 복수형을 처리해야 합니다.

Transifex는 the raw strings을 표시하는 대신 이 마크업의 일부를 렌더링하려고 시도할 수 있습니다. 번역 페이지의 설정 버튼(톱니바퀴 모양)을 사용하여 《enable raw editor mode》하면 도움이 될 수 있습니다.

번역을 완료했거나 상당한 부분을 완료했으면 저에게 이메일(jim@jim-easterbrook.me.uk)을 보내 알려주세요. (Transifex를 사용하지 않는 경우 번역 파일을 직접 보내주십시오.) Photini의 개발 버전을 설치하는 경우(개발 버전 참조) 먼저 test your translation .

번역 테스트

온라인으로 작업한 경우 Transifex 클라이언트를 사용하여 번역된 문자열을 다운로드합니다. 예를 들어, 언어 코드 nl 로 네덜란드어 번역 작업을 했다면:

$ tx pull -l nl -f

번역 파일(예: src/lang/nl/photini.ts)은 다음에서 사용하기 전에 《컴파일》해야 합니다(.ts 형식에서 .qm 형식으로 변환). 포티니 프로그램. 이를 위해서는 일부 Linux 시스템에서 libqt5-linguist 패키지의 일부인 lrelease-qt5 프로그램이 필요합니다.

모든 언어 파일을 쉽게 업데이트하고 컴파일할 수 있습니다.

$ python3 utils/lang_update.py
$ python3 utils/build_lang.py

이제 새 번역(들)으로 Photini를 설치할 수 있습니다:

$ pip install .

Photini는 컴퓨터의 LANG 환경 변수가 적절하게 설정되어 있으면 새 언어를 사용해야 합니다. 명령줄에서 Photini를 실행할 때 강제로 실행할 수 있습니다.

$ LANG=nl photini

이제 Photini가 번역을 사용하고 있을 것입니다.

문서 번역

Photini의 문서를 번역하는 것은 프로그램 자체를 번역하는 것보다 훨씬 더 많은 작업입니다. 《문서 읽기》 웹 사이트는 여러 언어를 호스팅할 수 있으며 다른 언어로 된 Photini 문서를 추가할 수 있는 기회를 환영합니다.

온라인 번역

Transifex 사이트에서 Photini의 문서는 이름이 doc 로 시작하는 리소스에 있습니다. 문서를 번역할 때 주의해야 할 사항은 아래의 notes 를 참조하십시오.

오프라인 번역

문서 번역은 GNU gettext 프로젝트에 지정된 대로 .po 파일을 사용합니다. 모든 편집기에서 번역 파일을 열 수 있지만 번역 도구가 가장 좋습니다. 예를 들어:

$ linguist-qt5 src/lang/nl/LC_MESSAGES/manual.po

문서를 번역할 때 주의해야 할 사항은 아래의 notes 를 참조하십시오.

Transifex 계정이 있는 경우 진행되는 대로 번역을 업로드해야 합니다. 이렇게 하면 다른 번역가가 실수로 귀하의 작업을 복제하지 않도록 할 수 있습니다.

$ tx push -t -l nl

주의 사항

Photini 문서는 reStructuredText 에 작성되었습니다. 이것은 일반 텍스트처럼 보이지만 특정 문자를 사용하여 일부 부분에 추가 의미를 부여하는 마크업 언어입니다. 번역할 문자열에 이러한 마크업이 포함된 경우 각별한 주의가 필요합니다.

큰따옴표 ``

일반적으로 Photini GUI에서 사용되는 단어를 표시합니다. 화면 캡처는 모두 영어 버전이므로 사용자가 문서를 읽을 수 있도록 번역 후 대괄호 안에 해당하는 영어를 포함할 수 있습니다.

특수 문자, 예: (|hazard|)

이들은 유니코드 기호를 참조하며 번역해서는 안 됩니다.

짧은 상호 참조, 예: :doc:`tags`

이것들은 번역되어서는 안됩니다.

긴 상호 참조, 예: :ref:`installation <installation-optional>`

<> 문자 내의 텍스트는 번역해서는 안 되지만 이전 링크 텍스트를 번역하는 것이 적절할 수 있습니다.

외부 링크, 예: `Flickr <http://www.flickr.com/>`_

<> 문자 내의 url은 번역되어서는 안 되지만 앞의 링크 텍스트를 번역하는 것이 적절할 수 있습니다.

번역을 완료했거나 상당한 부분을 완료했으면 저에게 이메일(jim@jim-easterbrook.me.uk)을 보내 알려주세요. (Transifex를 사용하지 않는 경우 번역 파일을 직접 보내주십시오.)

번역 테스트

Transifex 클라이언트는 번역된 문자열을 다운로드하는 데 사용됩니다. 예를 들어, 언어 코드가 nl 인 네덜란드어 번역에서 온라인으로 작업한 경우:

$ tx pull -l nl -f

Sphinx 를 설치하면(참조 installation) 번역을 사용하여 문서의 로컬 복사본을 만들 수 있습니다. 예를 들어 네덜란드어 문서를 작성하려면 다음을 수행하십시오.

$ LANG=nl python3 utils/build_docs.py

번역된 문서를 읽으려면 웹 브라우저에서 doc/html/index.html 을 엽니다.


의견이나 질문이 있나요? Photini mailing list https://groups.google.com/forum/#!forum/photini 를 ​​구독하고 알려주십시오.