오픈프레임웍스 한글번역 참여하는 방법


#1

업데이트

본 글은 ofSite가 업데이트되어 구조가 조금 달라졌습니다.
**업데이트된 튜토리얼**을 읽어주시기 바랍니다.

오픈프레임웍스 한글 번역 프로젝트

안녕하세요. 오픈프레임웍스 포럼 운영자 입니다.
현재 오픈프레임웍스 한글페이지 번역을 맡고 있습니다.

오픈프레임웍스 페이지 번역은 원래 원본 markdown/asciidoc 문서를 번역하여 컴파일한 뒤 html의 파일형대로 렌더링된 파일들을 서버에 올려 제공하는 방식이었습니다. 모든 페이지의 콘텐츠는 ofSite 깃허브 저장소에서 제공되었고, 이를 fork한 뒤 파일 구조 그대로를 유지하고, 원본 저장소의 md/markdown/asciidoc 파일을 한글로 번역해서 운영해왔습니다. 원본 저장소와는 독립적으로 운영되왔습니다.

최근, 페이지번역이 늘어나자, 웹사이트 운영자인 arturoc이 번역이 쉽고 멀티랭귀지를 지원하는 시스템으로 전환하였습니다. 이전에는 blogofile이라는 정적페이지 렌더링 엔진을 이용했지만, 현재는 nikola라는 정적 페이지 렌더링 엔진을 사용하고 있습니다. 이에 따라서 별도의 서버가 필요하지 않고, 모든 다중언어페이지가 openframeworks.cc에서 제공되게 되며, 저장소 관리 역시 ofSite 깃허브 저장소에서 제공되게 되었습니다.

github을 사용하여 번역 참여하기

번역에 참여하는 방법은 크게 다르지 않습니다. 오히려 간단해졌다고 보는게 나을지도 모르겠네요.
일단 ofSite 깃허브 저장소를 fork하고 로컬에 clone하게 되면 아래와 같은 디렉토리 구조를 갖게 됩니다.

이미지에 설명을 첨부한 곳이 실제로 번역작업에 필요한 곳입니다.
다른 파일들은 미리 세팅된 곳이므로 만질 필요가 없습니다.

폴더내부에 들어가면 렌더링될 파일들이 담겨있습니다. md/markdown 파일로 되어있습니다.

각 md파일은 엔진에서 렌더링되어 최종적으로 html로 완성되어 페이지에 업로드 됩니다.
이미지에 주석을 달아둔 것을 보시면, 각 파일들은 모두 md로 되어있으며, 번역된 페이지는 ko 라는 확장자(엄밀히 확장자는 아니지만)가 추가됩니다.

즉, community.md라는 원본파일을 한글로 번역하려면 community.ko.md 이런식으로 .ko 을 붙인 새 파일을 하나 만들어서 작성해주시면 됩니다.

아래의 스크린샷처럼 작업해주시면 됩니다.

번역된 파일이 잘 동작하는지 확인하기

ofSite 깃허브 저장소를 로컬에 clone하게 되면, 몇가지 스크립트 파일들이 있습니다. nikola시스템을 사용하기 때문에, 실제로 작업한 번역작업이 어떻게 보이는지 미리 확인할려면 nikola를 셋업해주어야 합니다.

nikola는 현재 매킨토시 및 리눅스에서만 가능하며, 윈도우에서는 테스트되지 않았습니다.

nikola 설치

install.sh를 관리자 권한으로 실행합니다.
매킨토시의 경우 이곳의 내용을 따라주시면 됩니다.

$ sudo ./install.sh

페이지 렌더링 하기

$ sudo ./auto_build.sh

위 스크립트를 실행하면 페이지들을 렌더링하여 cache폴더 및 output 폴더에 html을 생성합니다.

documentation페이지의 경우 양이 많아 생각보다 많은 시간이 소모됩니다(처음 렌더링할 경우 20분정도 소요될겁니다). 렌더링이 완료가 되면 아래의 스크린샷처럼 …done! 이라는 메시지가 출력될 것입니다.

렌더링을 마치고 난뒤에는 변경된 파일들이 있는지 계속 모니터링하여 자동으로 렌더링 해주기 때문에 콘솔에 실행한 채로 두시면 됩니다.

페이지를 로컬에서 확인하기

serve.sh를 실행하면 웹서버를 로컬에 구동하여 임시로 확인할 수 있게 합니다.

$ sudo ./serve.sh

콘솔에 출력된 메시지에서 알려주는대로 8000포트로 접속하면 로컬상에서 확인이 가능합니다.

auto_build.sh 및 serve.sh 가 실행중인 상태에서 콘텐츠파일(md)가 변경되면 자동으로 렌더링하고 서버에 반영되므로 그냥 켜주시면 됩니다. 종료할 때에는 콘솔창에서 Ctrl+C를 눌러 중단해주시면 됩니다.

번역된 결과를 저장소에 반영하기

최종으로 번역한 결과가 제대로 렌더링되었는지 확인되었다면, github에 Pull Request를 요청합니다.

  1. 자신의 fork 저장소에 업로드 합니다.
  2. 자신의 github 저장소에 가셔서 Create Pull Request를 눌러 Pull Request를 요청합니다.
    제목/ 내용에는 자신이 작업한 내용을 간략하게 작성해주시면 됩니다. 영어로 작성해주시는것이 좋을것 같습니다.
  3. github.com/openframeworks/ofSite 저장소 관리자가 검토하여 Merge되면 번역작업이 완료됩니다. Merge와 별도로 서버상에 반영되는것은 약간 시간이 걸릴 수 있습니다.

주의사항

작업하기 전에 항상 원본 저장소의 최신내용을 반영해주셔야 합니다.
fetch한후 작업브랜치에 merge한 뒤 작업해주시는 것이 좋습니다.
이를 위해서는 원본저장소 (openframeworks/ofSite)를 별도의 remote로 추가해줍니다

  1. 원본 저장소를 upstream이라는 remote로 추가

     $ git remote add upstream http://github.com/openframeworks/ofSite.git
    
  2. remote 확인

     $ git remote -v
     origin	http://github.com/icq4ever/ofSite (fetch)
     origin	http://github.com/icq4ever/ofSite (push)
     upstream	http://github.com/openframeworks/ofSite (fetch)
     upstream	http://github.com/openframeworks/ofSite (push)
    

    remote가 잘 등록되면 위와 같이 출력됩니다.

  3. remote에서 최신반영 내역을 가져오기

     $ git fetch upstream
    
  4. 로컬의 현재 브랜치에 merge하기

     $ git merge upstream/master
    

최종 반영이 확인되면 작업해주시면 됩니다.


문의사항이 있으시면 댓글로 남겨주십시오.


#2

#3

#4

#5