KDE에서 gettext를 이용해서 메시지 한글화하기
다음의 링크를 먼저 읽고 오시면 제가 벌이고 있는 '짓'을 이해하시는데 도움이 될 듯합니다. 이번에는 dialog의 출력방법이 아닌 gettext에 대한 질문이므로 새로운 주제로 쓰레드를 엽니다.
http://bbs.kldp.org/viewtopic.php?t=65055
한동안 zenity의 gdialog를 이용해서 메시지를 출력하고자 애를 쓰고 있었습니다만... 메시지 번역도 굉장히 많은 부분이 진척되고... 결국 남은것은 스크립트에서 메시지 출력부분만 약간 수정하면 되는, 노가다만 남았구나하고 들떠있었습니다.
결국 또 문제가 터지고 말았습니다. 이번에는 Xdialog에는 있지만gdialog에는 없는 --password 대화상자 문제입니다. http://bbs.kldp.org/viewtopic.php?t=66310 dialog, Xdialog, kdiaolg, gdialog가 각각 사용법이 다르다는 점이 정말 머리를 돌아버리게 만듭니다. 물론 Xnix만의 다양성의 철학은 인정합니다만 이처럼 초기 진입장벽이 높을 때는 사람을 곤란하게 만들때가 많죠.
최후의 수단으로 gettext를 이용해서 메시지를 번역해볼 것을 고려중입니다. 경험이 없어서 할 수 있을지는 미지수입니다만... kldp wiki에 있는 문서와 인터넷에 있는 gettext 관련 자료를 살펴보고 있는 중입니다. 문서에 따르면 C소스, 쉘스크립트를 번역하는 것이 가능하더군요.
knoppix의 스크립트들은 다음과 같은 형식으로 대화상자를 화면에 뿌립니다.
Xdialog --title "$TITLE1" --password --password --2inputsbox "$HEADER" 15 60 "$ENTER" "" "$AGAIN" ""
이런 형식의 스크립트에서도 gettext를 이용해서 번역하는 방법이 통할까요? (위의 경우 $TITLE1, $HEADER, $ENTER, $AGAIN등이 메시지로 정의되어 있습니다.)
제가 가능성을 엿보는 것은 http://wiki.kldp.org/wiki.php/DebianInstallUsingKnoppix 문서에 나와있는 knoppix-install 스크립트의 대화상자가 Xdialog을 통해 한글로 아주 잘 출력되고 있다는 점입니다. 가능은 할것 같은데... 구체적으로 어떻게 해야할지...
혹시 KDE 환경에서 gettext를 이용해서 메시지를 번역해본 경험을 갖고 계신 분들이라면 조언 부탁드립니다.
[url]http://wiki.kldp.org/wiki.php/Docbo
http://wiki.kldp.org/wiki.php/DocbookSgml/Gettext-KLDP gettext howto 문서를 참고해서 시도해보고 있는데 잘 안되네요.
쉘스크립트를 로케일에 따라 출력해야하기 때문에 gettext howto 문서의 2번에 나와있는데로 다음과 같이 메시지를 바꾸었습니다.
일단 TEXTDOMAIN이라는 환경변수를 export하라고 했으므로 다음과 같이 쉘스크립트 처음에 넣어주었습니다.
그리고나서 출력되는 메시지중 하나를 다음과 같이 바꿔주었습니다.
원래는 다음과 같은 출력문을
다음처럼 gettext로 둘러쌌습니다.
걱정되는 것은 gettext howto 문서처럼 echo등을 이용해서 출력하는 것이 아니라 위와 같이 메시지는 환경변수를 통해서 받아두고 아래 코드처럼 xdialog를 이용해서 출력하므로 문제가 발생하는 것은 아닌가 하는 점입니다.
$DIALOG --yesno "$MESSAGE2" 8 45
일단은 해당 쉘스크립트의 확장명을 제대로 인식하지 못해서 C소스로 받아들이고 있기 때문에 po파일을 제대로 생성하지 못하고 있는 듯이 보입니다. 왜 그럴까요? 확장자가 없으면 쉘스크립트로 인식해야 옳지 않을까요?
gettext를 사용해본적이 한번도 없어서 이렇게 해매고 있습니다. 어휴~~~~ 도와주세요. 또 새벽 3시네;;;
大逆戰
댓글 달기