조정

Python 문서 번역 절차에 관한 정보는 이 페이지와 PEP 545에서 찾을 수 있습니다. 번역은 Editorial Board가 감독합니다.

소통/도움말 채널

번역에 관한 논의는 Python Docs Discord의 #translations channel과 Python Discourse의 translations category에서 이루어집니다.

관리 관련 문제는 @python/editorial-board에게 알리십시오.

새 번역 시작하기

조정은 일회성 작업이 아니라 장기적인 헌신이 필요한 일입니다. 번역을 시작하기 전에 이에 전념할 수 있는지 신중하게 고려하십시오. 모든 조정자는 번역 작업에 익숙해야 합니다. 번역을 참조하십시오.

다음 절에서는 번역 환경을 설정하는 과정을 안내합니다. 질문이 있거나 도움이 필요하면 help channels 중 하나에 문의하십시오.

공지

Discourse에 자신과 시작하려는 번역을 소개하는 공지를 게시하십시오. 가능하다면 다른 소통 채널에도 참여하십시오.

조정 팀

각 번역 팀은 조정자 수를 자체적으로 결정합니다. 처음에는 한 명이어도 괜찮지만, 조정자를 두세 명으로 늘리는 것을 권장합니다. 조정자 선정에 관한 자세한 내용은 이 페이지의 FAQ 절에서 확인할 수 있습니다.

번역 팀

번역자 수가 늘어날수록 개별 번역자의 작업량이 감소함을 과장해서 보여 주는 차트입니다.

함께 번역할 사람들을 모으십시오. 혼자서는 할 수 없습니다. 번역을 더 쉽게 찾을 수 있도록 개발자 가이드에 PR을 통해 이 표를 업데이트하십시오. 항목에 번역자를 위한 지침이나 기타 자료의 링크도 포함할 수 있습니다.

저장소

번역을 시작하려면 임의의 계정 아래에 올바른 Git 계층 구조와 폴더 구조를 갖춘 GitHub 저장소를 생성하십시오. 이 작업은 여러 방법으로 수행할 수 있으며, 사용하려는 번역 절차에 따라 달라집니다.

각 번역에는 적절한 소문자 IETF language tag가 할당됩니다. 태그에는 대시로 연결된 선택적 하위 태그가 포함될 수 있습니다. 예를 들면 pt(포르투갈어) 또는 pt-br(브라질 포르투갈어)입니다. 그러면 저장소 이름은 python-docs-TAG입니다.

각 브랜치의 이름은 번역을 포함하는 Python 버전이어야 하며, 예를 들면 3.14입니다. 파일은 CPython/Doc의 소스 파일과 같은 구조로 구성해야 합니다. 올바르게 설정된 저장소는 다음과 같습니다: python-docs-pl

아래에서는 저장소를 시작하는 권장 방법을 설명합니다. 원한다면 다른 방법을 선택할 수도 있으며, 선택은 여러분에게 달려 있습니다.

Cookiecutter/bootstrapper

cookiecutter 또는 bootstrapper를 사용하여 새 번역을 부트스트랩할 수 있습니다. 그러면 이 저장소를 풀 리퀘스트 기반 번역 프로세스에 사용할 수 있습니다.

번역 플랫폼

Transifex를 사용하여 번역을 시작할 수도 있습니다. 이를 통해 웹 인터페이스에서 번역하고 자동으로 업데이트되는 공유 소스 파일을 사용할 수 있습니다.

번역을 주기적으로 확인하는 워크플로를 사용하는 것이 가장 좋습니다. 지침이 포함된 예시는 python-docs-tx-automations documentation에서 확인할 수 있습니다. 이를 수동으로 수행하는 방법에 관한 상세한 안내서도 같은 문서의 commands page에서 확인할 수 있습니다.

해당 언어의 Transifex 코디네이터로 추가되려면 tracker에 이슈를 등록하십시오.

용어집

각 번역 팀은 일관성을 보장하기 위해 용어 번역을 저장하는 방법을 마련해야 합니다. 일반적으로 용어집을 사용합니다. 용어집 사용에 관한 자세한 내용은 스타일 가이드에서 확인할 수 있습니다.

저장소를 python 조직으로 이전하기

이렇게 하면 번역을 docsbuild-scripts에 연결할 수 있으며, docs.python.org/LANG/에서 찾을 수 있지만 언어 전환기에는 표시되지 않습니다.

언어 전환기에 추가하기

다음 리소스를 모두 번역하고 나면:

  • 언어 저장소의 이슈 추적기로 연결되는 올바른 링크가 포함된 bugs.po

  • tutorial/ 폴더의 모든 파일

  • 내장 함수를 문서화하는 페이지인 library/functions.po

번역을 언어 전환기에 추가할 수 있습니다. 번역이 이전에 빌드되었지만 언어 전환기에는 없었다면 this commit과 같이, 처음 추가하는 경우라면 this commit과 같이 docsbuild-scripts에 풀 리퀘스트를 제출하여 이를 수행할 수 있습니다.

PEP 545 요약

관련 PEP 545의 핵심 사항은 다음과 같습니다:

  • 각 번역에는 적절한 소문자 IETF 언어 태그가 할당됩니다. 태그에는 대시로 연결된 선택적 지역 하위 태그가 포함될 수 있습니다. 예를 들면 pt (포르투갈어) 또는 pt-br (브라질 포르투갈어)입니다.

  • 각 번역은 CC0에 따라 제공되며 README에 그렇게 표시됩니다.

  • 번역 파일은 Python 조직 아래의 저장소에서 호스팅됩니다: https://github.com/python/python-docs-{LANGUAGE_TAG}

  • bugs, tutorial/library/functions 번역을 완료한 번역본은 언어 전환기에 추가됩니다.

Sphinx 번역하기

문서에 표시되는 일부 메시지는 Sphinx 프로젝트 (Transifex의 sphinx-doc) 또는 Python Docs Sphinx 테마에서 번역해야 합니다. 코디네이터는 문서가 완전히 번역되도록 일부 번역자를 그곳으로 안내해야 합니다.

조정 FAQ

저장소 관리에 도움이 되는 도구가 있습니까?

다음 도구를 사용하고 있습니다:

  • 다음을 포함하는 poutils:

    • 한 파일의 번역을 다른 파일로 전파하는 pomerge입니다.

    • .po 파일의 오타를 검사하는 pospell입니다.

    • 커밋하기 전에 .po 파일을 다시 줄 바꿈하는 powrap입니다. 이는 Git diff를 짧게 유지하는 데 도움이 됩니다.

    • 번역해야 할 항목을 나열하는 potodo입니다.

  • 번역 파일의 reST 문법을 검증하는 sphinx-lint입니다.

더 많은 관련 도구와 프로젝트는 GitHub의 python-docs-translations 조직에서 찾을 수 있습니다.

번역을 어떻게 테스트해야 합니까?

테스트는 가능하면 저장소에 설정해야 하며, 오류를 조기에 발견하고 번역 품질을 보장하는 데 도움이 됩니다. 테스트는 일반적으로 빌드와 sphinx-lint를 사용한 린팅으로 구성됩니다.

사용 가이드가 포함된 예제 워크플로는 이 문서를 참고하십시오.

대시보드에서도 번역을 테스트하고 오류 로그를 업로드합니다.

조정 팀은 어떻게 선정됩니까?

각 번역 팀에서 코디네이터 수를 결정합니다. 두세 명의 코디네이터를 권장하지만, 한 명으로 시작해도 됩니다.

  • 코디네이터 요청은 Python Discourse의 translations 카테고리에 공개해야 합니다.

  • 해당 언어를 모어로 사용하는 코어 팀 구성원이 있다면 코디네이터 요청에 의견을 제시할 수 있습니다.

  • 자신의 모어를 위한 코디네이터가 되기를 원하고 번역과 커뮤니티 구축으로 의지를 보이는 사람은 누구나 코디네이터로 임명됩니다.

  • 지역 커뮤니티가 코디네이터와 기여자를 자체적으로 구성하기를 기대합니다. 질문이 있으면 메일링 리스트나 Discourse에서 문의하십시오.

  • 코디네이터가 장기간 활동하지 않거나 연락이 닿지 않으면 다른 사람이 Python Discourse의 번역 카테고리에서 주 코디네이터로 추가해 달라고 요청할 수 있습니다. 커뮤니티 자원으로서 코디네이터를 비롯한 활발한 기여자들과 함께 번역을 최신 상태로 유지하는 것을 목표로 합니다.

번역본이 있지만 Git에는 없습니다. 어떻게 해야 합니까?

관련 소통/도움말 채널 중 한 곳에서 도움을 요청하면 팀에서 적절한 저장소를 만들 수 있도록 도와드립니다. 원한다면 Transifex와 같은 도구를 계속 사용할 수도 있습니다.

제 Git 계층 구조가 여기의 계층 구조와 일치하지 않습니다. 그대로 유지해도 됩니까?

안 됩니다. 봇이 모든 번역을 빌드할 수 있도록 github.com/python 조직 내의 모든 저장소는 정확히 동일한 계층 구조를 사용해야 합니다. 따라서 한 계층 구조를 다른 계층 구조로 변환해야 할 수도 있습니다. 변환 방법을 잘 모르겠다면 소통/도움말 채널 중 한 곳에서 도움을 요청하십시오.

GitHub 저장소에서 어떤 계층 구조를 사용해야 합니까?

모든 프로젝트와 마찬가지로 버전마다 브랜치를 둡니다. gettext_compact=0 방식을 사용하여 저장소 루트에 .po 파일을 저장합니다.

어떤 버전의 Python 문서를 번역해야 합니까?

Python의 현재 안정 버전이나 베타 버전을 대상으로 작업하는 것이 가장 좋습니다. 그런 다음 pomerge를 사용하여 한 브랜치의 번역을 다른 브랜치로 전파할 수 있습니다.

제 번역 항목이 누락되었거나 최신 상태가 아닙니다.

항목을 업데이트하려면 devguide에 PR을 만드십시오.

번역은 어떻게 빌드됩니까?

번역은 docsbuild-scripts로 빌드되며 docs.python.org에서 호스팅됩니다.

번역에 사용할 수 있는 Weblate 인스턴스가 있습니까?

현재 Python 번역용 Weblate 인스턴스는 없습니다. 최신 소식은 이 Discourse 스레드에서 확인하십시오.