[첫화면으로]"UseModWiki번역화일" 페이지의 변경 내역

마지막으로 [b]


현재 버전 . . . . (수정) 2007-1-8 12:19 pm 수정한 사람: Raymundo
3 번째 수정본 . . . . (수정) 2002-11-25 5:01 pm 수정한 사람: Raymundo
 

변경사항 (가장 최근의 "일반적인 수정"부터) (소소한 수정)

-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 에 몇 가지가 올라와 있다.