조정

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

소통/도움 채널

번역에 관한 논의는 Python 문서 Discord의 #translations 채널과 Python Discourse의 번역 카테고리에서 이루어집니다.

관리 관련 문제는 @python/editorial-board 팀을 핑하십시오.

새 번역 시작하기

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

다음 절에서는 번역을 준비하는 과정을 안내합니다. 질문이 있거나 도움이 필요하면 도움 채널 중 한 곳에 문의하십시오.

공지

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

조정 팀

코디네이터 수는 각 번역 팀이 결정합니다. 처음에는 한 명으로도 충분하지만, 코디네이터를 두세 명으로 늘리기를 권장합니다. 코디네이터 선정에 관한 자세한 내용은 이 페이지의 FAQ 섹션에서 확인할 수 있습니다.

번역 팀

번역자 수가 늘어날수록 번역자 개인의 작업량이 줄어든다는 것을 과장해서 보여 주는 차트입니다.

함께 번역할 사람들을 모으십시오. 혼자서는 할 수 없습니다. 번역을 더 쉽게 찾을 수 있도록 devguide에 PR을 보내 이 표를 갱신하십시오. 항목에는 번역자를 위한 가이드나 기타 자료의 링크도 포함할 수 있습니다.

저장소

번역을 시작하려면 올바른 Git 계층 구조와 폴더 구조를 갖춘 GitHub 저장소를 아무 계정에나 만드십시오. 이 작업은 여러 가지 방법으로 할 수 있으며, 어떤 번역 절차를 사용할 계획인지에 따라 달라집니다.

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

각 브랜치의 이름은 해당 브랜치에 담긴 번역이 대상으로 하는 Python 버전이어야 합니다. 예를 들면 3.14입니다. 파일은 CPython/Doc에 있는 소스 파일과 같은 구조로 배치해야 합니다. 올바르게 설정된 저장소는 다음과 같습니다: python-docs-pl

아래에서는 저장소를 시작하는 데 권장되는 방법을 설명합니다. 원한다면 다른 방법을 선택해도 됩니다. 이는 여러분의 자유입니다.

Cookiecutter/bootstrapper

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

번역 플랫폼

Transifex를 사용하여 번역을 시작할 수도 있습니다. 이렇게 하면 웹 인터페이스를 통해 번역할 수 있고, 자동으로 갱신되는 공유 소스 파일을 사용할 수 있습니다.

이 작업은 번역을 주기적으로 확인하는 워크플로로 수행하는 것이 가장 좋습니다. 설명이 포함된 예제는 python-docs-tx-automations 문서에서 찾을 수 있습니다. 이 작업을 수동으로 수행하는 방법에 관한 자세한 안내서도 같은 문서의 명령 페이지에서 찾을 수 있습니다.

여러분 언어의 Transifex 코디네이터로 추가되려면 추적기에 이슈를 여십시오.

용어집

각 번역 팀은 일관성을 보장하기 위해 용어의 번역을 저장하는 방법을 갖추어야 합니다. 이는 흔히 용어집으로 이루어집니다. 용어집 사용에 관한 자세한 정보는 스타일 가이드에서 찾을 수 있습니다.

저장소를 python 조직으로 옮기기

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

언어 전환기에 추가하기

다음 리소스가 완전히 번역되고 나면:

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

  • tutorial/ 폴더의 모든 파일

  • 내장 함수를 설명하는 페이지인 library/functions.po

번역을 언어 전환기에 추가할 수 있습니다. 이는 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 저장소에서는 어떤 계층 구조를 사용해야 합니까?

다른 모든 프로젝트와 마찬가지로, 버전마다 브랜치를 하나씩 둡니다. .po 파일은 gettext_compact=0 스타일로 저장소 루트에 저장합니다.

Python 문서의 어느 버전을 번역해야 합니까?

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

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

항목을 갱신하려면 devguide에 PR을 올리십시오.

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

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

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

현재 Python 번역을 위한 Weblate 인스턴스는 없습니다. 최신 소식은 이 Discourse 스레드를 참고하십시오.