번역 가이드 - ShinHyunjin/www.html5rocks.com GitHub Wiki

원문 링크 : https://github.com/html5rocks/www.html5rocks.com/wiki/Localization-Guide

번역본 원문 링크 : https://github.com/cwdoh/www.html5rocks.com/wiki/번역-가이드

일반적으로 HTML5Rocks의 텍스트는 2가지 그룹으로 나뉘어 집니다. 하나는 글, 튜토리얼, 사례연구 등이고 다른 하나는 사이트의 UI(메뉴 같은 것들)를 꾸미는 문자열입니다. 이 문서는 이 2가지에 대한 번역 작업 흐름을 설명하고 어떻게 프로세스에 참여할 수 있는지를 기술합니다.

당신이 어떻게 도움을 주실 수 있을까요?

HTML5Rocks를 전세계 사용자들이 보다 쉽게 접근할 수 있도록 만들어주세요! 우리는 적어도 다음과 같은 3종류의 도움을 필요로 하고 있습니다.

  • 기존 번역의 교정 :
  • 우리는 영어 외의 다른 언어들의 전문가가 아닙니다. (그리고 사실 우리의 능숙한지조차도 이론의 여지가 있습니다.)
  • 만약 당신이 사이트에 있는 번역이 이해할만하며 표현이 어색하지 않다는 것을 알려주실 수 있다면 매우 감사할 것입니다.
  • 똑같이 사이트의 UI에 빼먹은 문자열이 있다면 알려주세요.
  • 글 전체의 번역 :
  • 우리는 내부적으로 문서를 번역할 수 있는 일련의 작업 흐름을 보유하고 있지만 시간이 필요합니다.
  • 만약 도와주실 수 있다면 우리는 당신을 영원히 사랑할 것입니다.
  • 언어의 추가 지원 :
  • 우리는 영어, 독일어, 스페인어, 일본어, 포르투칼어, 러시아어 그리고 중국어와 같은 언어들을 공식적으로 지원하고 있습니다. - 역주: 한국어도 추가되었습니다. :) Merged #625
  • 나중에 요구가 있으면 다시 논의를 할 수도 있겠지만 바로 지금 (언어의 추가 지원을) 하고 싶습니다.
  • 만약 위의 7개 언어 외의 어떤 언어라도 추가해준다면 어떤 언어던지 간에 기쁘게 번역 문서를 받아들일 것입니다. :)

이런 모든 것에 대해 우리는 공헌을 받아들일 준비가 되어있습니다. 만약 우리가 바꾸어야 할 것을 발견하시면 새로운 버그로 신고해주시면, 수정하도록 하겠습니다. 만약 프로젝트를 fork하고 직접 수정하셨다면 변경 사항을 기쁘게 Pull해주시면 됩니다. 이와 마찬가지로 문서를 번역하시면 간단하게 Pull Request를 날려주세요!

기술 상세

UI 문자열

이 사이트에서 볼 수 있는 대부분의 정적인 텍스트(글과 바로 연결되어 있지 않은 텍스트)는 Django 국제화 메커니즘에 의해 자동으로 언어가 변환됩니다. 문서에 아주 많이 추가하지 않아도 몇가지 적절한 상세만 호출해주세요.:

  • 모든 페이지 템플릿 내의 문자열은 가능하면 {% trans "[STRING]"}이나 {% blocktrans %}[LONGER, MULTILINE STRING]{% endblocktrans %}로 감싸져야 합니다. 예제를 보시려면 /templates/tutorial.html를 확인하시기 바랍니다.
  • 파이썬 코드 내의 문자열은 반드시 _("[STRING]")으로 감싸져야 합니다. 예제를 보시려면 main.py를 확인하시기 바랍니다.
  • 자바스크립트 내의 문자열은 절대로 변환되지 않습니다. HTML 내의 컨텐츠처럼 자바스크립트 내의 컨텐츠는 피해주시기 바랍니다.

이 문자열들은 저장소의 기본 디렉토리의 'make messages'의 실행에 의해 "메세지 파일"이라 불리는 패키지에 수집됩니다. 로케일 당 하나의 메세지 파일이 작성되며 conf/locale/[LOCALE]/LC_MESSAGES/django.po에 기록됩니다. 예를 들어 '영어' 메세지 파일은 conf/locale/en/LC_MESSAGES/django.po입니다. 여러분은 이 파일들을 직접 수정하거나 PO 파일을 수정할 수 있는 다양한 프로그램 중에 하나를 사용할 수 있습니다. 가장 많이 사용되는 무료 프로그램인 Poedit가 그 예입니다.

PO 파일을 변경한 뒤에 기본 프로젝트 저장소 디렉토리에서 'make compile'를 호출하여 그와 부합하는 MO 바이너리 파일로 재컴파일해야 합니다. Makefile은 여러분의 Google AppEngine 밑에 Django가 설치되어 있다고 가정하고 있습니다. - 만약 동작하지 않는다면 Makefile을 열어 'DJANGO_ROOT' 변수를 확인해보시기 바랍니다.

글(Articles)

사이트의 각 문서들은 각자 URL과 일치하는 '/content' 밑의 디렉토리에 존재합니다. 예를 들어 http://www.html5rocks.com/en/mobile/touch/ URL은 저장소의 content/mobile/touch/와 매핑됩니다. (영문 원본을 포함하여) 각 글의 번역본은 로케일로 명명된 서브디렉토리에 존재합니다. 위 문서의 일본어 버전은 파일시스템의 www.html5rocks.com/content/mobile/touch/ja/index.html와 매핑되며 웹 상에서는 http://www.html5rocks.com/ja/mobile/touch/에서 확인할 수 있습니다.

문서의 번역은 문서의 영문 버전을 적당한 이름의 서브디렉토리에 복사하고새로운 파일에서 텍스트를 직접 수정하면 됩니다. 새로운 번역본을 시스템에서 처리하기 위해 특별히 필요한 일은 없습니다. - 파일시스템 안에 존재하면 사이트에서도 제공됩니다.

메타 데이터(Article Metadata)

전통적인 이유로 인해 문서의 메타 데이터(제목, 설명 등)은 글 자체에 포함되어 있지 않지만 사이트의 데이터베이스에는 존재합니다. 데이터베이스의 정보는 백업을 목적으로 database/tutorials.yaml에 복사됩니다. 이 파일은 새로운 문서가 사이트에 추가될 때마다 업데이트된 상태로 유지됩니다.

메세지 파일 생성 프로세스의 일부로써, 문서의 제목과 설명은 이 YAML 파일로부터 발췌되고 번역을 위한 메세지 파일 속에 위치하게 됩니다. 이것들은 UI 문자열과 같은 방법으로 수정할 수 있습니다.