지금도 즐겨 쓰는 text 기반 브라우져 lynx. 예전의 기숙사 nongraphical dummy terminal 환경에서도 웹서핑을 lynx 를 이용하여 대단히 편리하게 즐겼었다.
2008.9월 현재 지금은 2.8.6 버전대가 존재한다. 아직도 cygwin 상에서 즐겨쓰곤 한다. (http://lynx.isc.org/)
아래는 1997년도에 동아리 전시회에 lynx 한글화 작업한 결과물을 낸 것. 원래는 제대로 gettxt 형태의 i18n 을 구현하고 싶었지만 시간에 쫓겨서 결국 소스코드 레벨에서의 번역정도 수준이었지만, 나름 재미난 경험이었다.
http://sparcs.kaist.ac.kr/exhibition/1997/ex07.html
Lynx 2.6 한글화
'94 김휘강(sakai)
서론
Lynx는 텍스트 모드에서 구동 되는 Web browser로 유명하다. 이것은 많이 사용되기는 하지만 한국인 사용자를 위한 고려가 되어 있지 않아 한글화의 필요성을 절실히 느끼게 되었다. Lynx 2.6 부터는 국제화 (Internalization, I18n)를 조금씩 고려한 흔적이 보이지만, 상당히 불완전한 형태이다. 이에 따라 현지화(Localization, L10n)가 더더욱 필요하다고 느끼게 되었고, Lynx-dev (Lynx 개발자들의 메일링 리스트)에 가입하여 의사를 타진한 결과 아직 까지는 국제화를 고려하고 있지 않다는 것도 알게 되었다.
작업 내용
현재까지 이루어진 작업은 단순한 메시지의 번역이다. 사용자에게 보여주는 상당량의 메시지가 LYMessages_en.h에 들어있는데, 우선 이를 한글 메시지로 바꾼 LYMessages_ko.h를 제작하였다. 또한 LYMessages_en.h에 들어있는 메시지 이외에 상당부분의 메시지가 src/*.c 파일과 src/*.h 파일에 분산되어 있다. 이 메시지들 역시 한글로 바꾸어 두었다. 한글 Lynx를 이용하려면 컴파일 시에 userdef.h에서 LY_MESSAGES.en을 LY_MESSAGES.ko로 바꾸고, 설치화일에 들어있는 LY_MESSAGES.ko 를 이용하면 된다.
보완점 및 앞으로의 발전 가능성
진정한 L10n 및 I18n 을 위해 catgets또는, gettext를 사용하여 프로그램을 보완할 예정이며, 현재 작업 중에 있다. 참고로 현재 PGP가 이와 유사한 방법으로 I18n 되어 있다.
- userdef.h
- 현재 배포되는 소스코드에서는 이미 userdef.h가 LYMESSAGES.ko를 이용하도록 수정되어 있다. catgets
- catgets를 이용한 방법은 X/Open Portability Guide 3권에 정의되어 있으며, 오늘날 대부분의 유닉스 시스템상에서 구현되어 있다. 기본 개념은 번역 가능한 메시지마다 번호를 부여하는 것으로서, 번역자가 Database에 저장된 번역문에 번호를 매겨 놓으면, 프로그램이 실행될 때 catgets 함수를 통해 적절한 메시지를 선택하게 된다. catgets 인터페이스는 catopen(), catgets() , catclose() 등의 함수를 이용하여 구현된다. 이들 함수의 proto type은 nl_types.h 에 정의되어 있다. gettext
- gettext 방식은 Uniforum에서 제안되었으며, SUN에서 채택, 구현한 방식이다. 이 방법의 가장 큰 특징은 일반적인 파일 처리 방식을 명시적으로 거치지 않고 메시지 자체를 ID화 한다는 데 있다.
댓글 없음:
댓글 쓰기