-1,6 +1,6 |
UseModWiki 의 wiki.pl 프로그램을 들여다보면, 거의 모든 메세지 또는 메뉴 링크 들이 다음과 같이 T() 또는 Ts() 함수로 만들어져 있다. |
{{{perl |
{{{#!vim perl |
$fullHtml .= '<b>' . Ts('Revision %s not available', $revision) |
. ' (' . T('showing current revision instead') |
. ')</b><br>'; |
-8,7 +8,7 |
T와 Ts의 정의는 각각 다음과 같다. |
{{{perl |
{{{#!vim perl |
sub T { |
my ($text) = @_; |
-35,7 +35,7 |
따라서, UseModWiki 의 각종 출력 메세지를 번역하고 싶다면, 프로그램 소스는 건드릴 필요 없이, %Translate 해쉬 변수에다가 해당하는 메세지를 키로 하고 번역된 메세지를 값으로 갖는 엔트리를 추가해 주면 된다. |
{{{perl |
{{{#!vim perl |
%Translate = ("원문1", "번역문1", "원문2", "번역문2", ... ); |
}}} |
-57,13 +57,13 |
END_OF_TRANSLATION <-- 마지막 줄은 첫 줄에서 명시한 limit string 으로 끝낸다. |
}}} |
이렇게 번역화일을 작성했으면, wiki.pl 이 이 화일을 읽어들이도록 한다. config.pl 화일 제일 마지막에 다음 라인을 추가한다. |
{{{perl |
{{{#!vim perl |
do "./translations/korean.pl"; |
}}} |
또는, wiki.pl 화일에 직접 명시해 줄 수도 있다. (그다지 권장하지는 않는다) |
{{{perl |
{{{#!vim perl |
sub DoWikiRequest { |
if ($UseConfig && (-f "config.pl")) { |
do "config.pl"; # Later consider error checking? |
-78,13 +78,13 |
}}} |
이제는, 자기가 원하는 부분만 얼마든지 한글 또는 다른 언어로 출력되게 할 수 있다. 영어로 나오는 메세지가 있다면, wiki.pl 소스 내에서 그 메세지를 검색하여, 메세지가 T() 또는 Ts() 안에 들어가 있는 형태인지 확인한다. 만약에 이 함수들 안에 들어 있지 않고 바로 출력되는 문자열이라면 (일부 메세지들은 이렇게 되어 있다) 수정한다. |
{{{perl |
{{{#!vim perl |
print 'Original Message'; 이렇게 되어 있다면 |
print T('Original Message'); 이렇게 바꾼다 |
}}} |
그 다음은 자신이 사용할 번역화일에다가 엔트리를 추가해 주면 된다. |
이 홈페이지에서 사용하는 번역화일은 GyparkPDS:korean.txt 이다. 여기에는 오리지널 UseModWiki 소스에 나오는 메세지들 2백여개와, 이 홈페이지에서 사용되는 소스에 추가된 메세지 수십개가 엔트리로 들어가 있다. 그 중 몇 개는 번역이 되어 있지 않은 채로 빈 줄로 남겨져 있다. 이 화일을 다운받아 확장자를 pl 로 바꾼 후 사용하면 된다. |
이 홈페이지에서 사용하는 번역화일은 GyparkPDS:wiki/korean.txt 이다. 여기에는 오리지널 UseModWiki 소스에 나오는 메세지들 2백여개와, 이 홈페이지에서 사용되는 소스에 추가된 메세지 수십개가 엔트리로 들어가 있다. 그 중 몇 개는 번역이 되어 있지 않은 채로 빈 줄로 남겨져 있다. 이 화일을 다운받아 확장자를 pl 로 바꾼 후 사용하면 된다. |
프랑스어 등 다른 언어의 번역화일을 사용하고 싶다면 UseMod:UseModWiki/Translations 에 몇 가지가 올라와 있다. |