Translations-ko KR

From AMule Project FAQ
Jump to: navigation, search

English | 汉语 | Deutsch | Español | 포르투갈어 | 한국어 | 러시아어

소개

어뮬은 어느 언어로도 번역하기 매우 쉽습니다. 그리고 이제 유니코드도 지원하기 때문에 동양 문자 세트에 대한 제한도 더 이상 없습니다. 중국어, 한국어, 아랍어, 히브리어 등등의 어느 언어로도 번역이 가능합니다!

하지만 번역은 번역자가 필요한 법인지라, 어뮬의 모험에 주저하지 말고 동참하세요!


C++Klingon 같은 프로그래밍 언어를 알 필요도 없습니다! 단지 당신의 모국어(!!)와 약간의 평범한 영어만 알면 됩니다!

흥미가 생기셨나요? 가 봅시다!

진행하는 법

때때로 (한 달에 한 번) 우리는 source_strings.po라는 텍스트 파일을 번역 포럼에 게재합니다.

그냥 다운로드받으시고 KDE에서는 KBabel, Gnome에서는 PoEdit 또는 gTranslator으로 여십시오.

그 전에 KBabel, PoEdit 또는 gTranslator의 환경설정에 당신의 이름, 이메일, 문자 세트 등등을 설정하는 것을 잊지 마십시오.

이 장면이 KBabel에서 볼 화면입니다.:


http://www.amule.org/dev-up/kb1.png


왼쪽 구석에 영문이 있습니다.

오른쪽 구석에 이 문자열의 원시 파일 이름이 있습니다.

그러니까 번역된 문장을 왼쪽 아래 구석에 이렇게 쓰시면 됩니다:


http://www.amule.org/dev-up/kb2.png


특히 특수문자, 가령 &, %i, \n 등을 번역한 문장에 잘 포함시키는 일과, 시작과 끝에 있는 공백을 지키는 일에 신중해 주십시오!

부탁드립니다. 이 문서를 보시고 어떤 문자가 변경되면 안 되는 지 확인하시기 바랍니다.

이런 식으로 모든 문자열에 진행하시고 파일을 저장하시면...

번역이 끝났습니다! 이제 어뮬 번역 포럼에 게재하시고 수천의 사람들이 당신에게 고마워할 것입니다. :)

이미 시작된 번역을 계속하는 법

번역이 시작되면, 이전의 source_strings.po에 기존에 번역된 문자열을 모두 다시 기록할 필요는 없습니다!

그래서 이미 번역된 문자열을 새 source_strings.po에 섞는 방법은 자동화되어 있습니다.

예를 들어, 불어 번역을 계속하고 싶다고 상상해 봅시다:

  • source_strings.po포럼에서 받고, 옛날 fr.po를 이전 aMule 릴리즈에서 가져옵니다.
  • 예전과 새 파일을 다응과 같은 명령을 입력하여 섞습니다:

msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po

이 방법 외에도 KBabel 또는 PoEdit에 내장된 병합 도구를 사용할 수도 있습니다 (각각의 도움말을 참조하십시오).

그 후에 병합된 new_fr.po를 처음에 source_strings.po처럼 작업하시되 새로 추가된 문자열만 번역하시면 됩니다.

번역 결과물 테스트

주의

번역을 끝낸 다음, 그냥 어뮬을 재컴파일하거나, 또는 먼저 번역한 파일이 정상적인지 별도로 테스트(이 단계는 어뮬 컴파일 시에 자동으로 됩니다)해 볼 수 있습니다.

후자의 좋은 점은 전제 어뮬을 빌드할 필요가 없으며 단지 새 번역본의 바이너리만을 생성한다는 점입니다.

추천하는 방법은 번역 파일만 테스트하여 성공할 때 까지 하고, 그 후에 어뮬과 번역본을 같이 컴파일하여 어떻게 작동하는 지 관찰하는 것입니다.

번역 파일만 테스트

새로운 방법

당신의 새 번역 파일이 있는 디렉토리에서 다음과 같이 입력하십시오.

msgfmt -c --statistics -o 번역한_언어.gmo 번역한_언어.po

예를 들어,

[~/aMule/amule-dev-cvs/po]$ msgfmt -c --statistics -o ko_KR.gmo ko_KR.po
번역된 메시지 1433개, 번역되지 않은 메시지 48개.

이후 발생하는 메세지에 대해서는 #이전 방법을 참조하십시오. 이 방법은 컴파일 환경이 갖춰지지 않은 컴퓨터에서 번역 파일만을 테스트할 때에 유용합니다. 왜냐면 ./configure를 실행하는 데에 컴파일 환경을 요구하기 때문입니다.

이전 방법

먼저 ./configure를 실행합니다.

이제 일단 당신의 번역 파일을 po/ 디렉토리에 옮기고, make 번역한_언어.gmo 라고 입력합니다. (예를 들어 make en_GB.gmo)

만약 번역한 것이 옲다면, 이렇게 보일 것입니다.

[~/aMule/amule-dev-cvs/po]$ make en_GB.gmo
rm -f en_GB.gmo && /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po
1354 translated messages

상기 예제는 성공적이고 완전한 번역의 경우입니다.

"성공적"이라는 단어는 번역이 완전하든 그렇지 않든, 내부에 번역 체계에 위배되는 문법 오류가 없기 때문에 사용할 수 있는 상태라는 것으로 이해해야 합니다.

성공적이지만 불완전한 번역이 이번 다른 예제가 되겠습니다:

[~/aMule/amule-dev-cvs/po]$ make ru.gmo
rm -f ru.gmo && /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po
1333 translated messages, 79 untranslated messages.

당신이 보시다시피, 79줄은 여전히 번역이 필요합니다.

또한 약간의 'fuzzy'한 번역을 보실 수도 있습니다. 'Fuzzy' 번역이란 gettext(번역을 위한 내부 체계 프로그램)이 약간의 추정을 더한 것인데, (대체로 비슷하게 번역함에도) 틀렸을 수가 있습니다. 이렇게 된 번역은 그 위에 #, fuzzy'라는 줄을 삽입해서 표시됩니다. 따라서 만약 'fuzzy' 번역을 보시면, 그 줄을 찾아서 고치십시오 (혹 번역이 괜찮다면 #, fuzzy 줄을 지우십시오).

'Fuzzy' 번역의 예는 다음과 같습니다:

[~/aMule/amule-dev-cvs/po]$ make hr.gmo
rm -f hr.gmo && /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po
544 translated messages, 412 fuzzy translations, 443 untranslated messages.

마지막으로 당신의 번역에 상기한 내부 문법 오류가 있을 수 있습니다. 그런 경우에, 모든 에러와 각각에 대한 설명을 보고받을 것입니다:

[~/aMule/amule-dev-cvs/po]$ make de.gmo
rm -f de.gmo && /usr/bin/msgfmt -c --statistics -o de.gmo de.po
de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match
/usr/bin/msgfmt: found 1 fatal error
make: *** [de.gmo] Error 1

위와 같은 예제에서, 번역의 88번째 줄에 오류가 있어서, 그것이 고쳐질 때까지는 바이너리 번역 파일이 생성되지 않을 것입니다.

어뮬과 함께 테스트

이제 번역본을 어뮬을 재컴파일하여 테스트하고 어떻게 동작하는 지 볼 수 있습니다.

만약 당신의 언어가 어뮬에서 이전에 사용 가능하지 않았다면, 데이터베이스에 추가하뎌 어뮬이 그 존재를 알고 같이 컴파일하도록 해야 합니다. 그렇게 하려면 당신의 언어 코드를 po/LINGUAS 파일에 추가하십시오 (한 줄에 한 언어).

이제 어뮬을 정상적으로 컴파일하십시오. 도움이 필요하다면 이 가이드를 따르십시오.

고급 사용자를 위한 번역법

만약 당신이 프로그램 개발과 리눅스 사용의 초보가 아니거나 참을성이 없어서 항상 최신의 번역을 손에 넣고 싶다면...

당신의 source_strings.po를 직접 생성하십시오!

어떻게 진행합니까?

  • 압축을 풀어 루트 디렉토리로 이동, Makefile 들을 생성합니다:

tar -xjf aMule-cvs-20041009.tar.bz2
cd amule-cvs
./configure

  • POTFILE.in 파일을 업데이트:

grep -m 1 '_(' `find * -name "*.cpp"` | cut -d: -f1 > po/POTFILES.in

  • 새로운 source_strings.po 생성:

cd po
mv amule.pot amule.pot.old
make amule.pot
mv amule.pot source_strings.po
mv amule.pot.old amule.pot



--Thepolish 22:46, 9 Oct 2004 (CEST), Translated in 11:45, 30 July 2006 (KST)