210 likes | 383 Views
Linux 에서의 소프트웨어 국제화/지역화. 최준호 (웹데이터뱅크) ’99 Korea Linux Conference & Expo. 차례. 국제화와 지역화의 개념 Linux의 국제화/지역화 문제 해결되어야 할 점 우리의 할 일. 소개. 국제화( Internationalization, i18n, Globalization, Enabling) 다국어 환경 내에서 수정 없이 동작하도록 소프트웨어를 설계하고 개발하는 일 지역화( Localization, L10n)
E N D
Linux에서의 소프트웨어국제화/지역화 최준호 (웹데이터뱅크) ’99 Korea Linux Conference & Expo
차례 • 국제화와 지역화의 개념 • Linux의 국제화/지역화 문제 • 해결되어야 할 점 • 우리의 할 일 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
소개 • 국제화(Internationalization, i18n, Globalization, Enabling) • 다국어 환경 내에서 수정 없이 동작하도록 소프트웨어를 설계하고 개발하는 일 • 지역화(Localization, L10n) • 소프트웨어를 특정 지역/언어/문화의 요구사항에 맞도록 수정하는 일. CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
소개 (2) • 다국어화(Multilingualization, M17n) • 시스템에서 몇 개의 언어를 동시에 사용할 수 있도록 만드는 일 • 국제화와는 달리 한번에 여러 언어를 동시에 유지해야 할 필요가 있음 • 8-bit clean • 바이트의 모든 비트를 존중 • 국제화의 가장 기본적인 프로그래밍 수칙 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux에서의 문제 • 커널/파일 시스템 • 사용자 인터페이스 • 어플리케이션 • 시스템간 통신 • 텍스트 입출력 • 로케일 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: 커널/파일시스템 • 커널은 다국어 처리와 큰 관련 없음 • 사용자 수준 처리로 대부분 가능 • 커널 메시지의 번역 • 번역된 메시지: 코드의 선택, 용량 문제 • 콘솔에서 메시지를 볼 수 있는가? • 파일 시스템 • 파일시스템의 언어 인코딩 선택 • 비 ASCII 코드 사용의 경우? CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: 사용자 인터페이스 • 콘솔와 X윈도우 시스템 • 콘솔 • 비 1바이트 언어권 처리 불가 • 최근의 프레임버퍼 콘솔: • 콘솔에서 임의의 그림 표시 가능 • 실험적인 한글 콘솔 패치 있음 • X윈도우 시스템 • X11R5이후 국제화에 대한 표준 존재 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: 어플리케이션 • 다국어 처리의 여러 면에 크게 영향받음 • 글자 처리, 정렬, 통화 기호, 시간 등 • 입출력 시스템 • 대부분 C라이브러리 수준의 로케일 API를 사용(locale) • 잘 정의된 인터페이스 • 2바이트 언어권에서는 아직 문제 있음 • 모질라: 독립적인 로케일 구현 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: 어플리케이션 (2) • 메시지의 번역 • catopen(), gettext()등 • 실행시간에 해당 언어로의 메시지 전환 • GNU gettext • GNU 프로젝트의 다국어 메시지 시스템 • 번역 팀 • GNU 프로그램의 메시지 번역 • 한국어 팀: 현재 약 10여가지의 프로그램 번역 • http://yellow.kreonet.re.kr/~nlsko CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
GNU gettext: in glibc CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: 시스템간 통신 • 서로 다른 시스템간의 통신 • 윈도우 <-> 유닉스 <-> 매킨토시 • 서로 쓰고 있는 코딩 시스템이 다름 • 중간의 적절한 변환 계층 필요 • 어느 수준에서? • 전자우편, 뉴스, WWW 등의 일상적인 인터넷 사용에서도 발생 • 국제 표준안의 수용 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: 텍스트 입력 • 어떤 인코딩으로? • 어느 수준에서? • X11은 입력기 표준이 있음 • 콘솔의 경우 정해진 표준이 없음 • X11용 한글 입력기 • 자판 지원 • 한자 사전 등의 처리 • X11: hanIM, KIMS, 벼루 등 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: 텍스트 출력 • 세가지 수준에서 생각 가능 • 콘솔, X11, 프린터 • 글꼴과 인코딩의 분리 • 글자의 모양이 중요 • Linux의 경우 • X11은 잘 갖추어져 있으나, 콘솔/프린터의 경우 정해진 표준이 없음 • 각 어플리케이션에서 스스로 구현해야 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
X11의 한글 입력 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: locale in glibc2 • Locale • 특정 지역 내에서 정의되는 언어와 관습에 따라 결정되는 요소들 • C라이브러리의 locale • LC_CTYPE, LC_TIME, LC_MESSAGES.. • GNU libc 2 • locale환경의 올바른 구현을 위해 노력중 • 더 많은 도움 필요 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Linux: locale in glibc2 (2) • Libc5 • 초기 리눅스 C 라이브러리 • 로케일 지원 미약 • GNU libc 2.0.7 • libwcsmbs: 2바이트권을 위한 별도의 패치 - 넷스케이프에서의 입력등을 위해 사용 • GNU libc 2.1 • 최근 발표, 하지만 여전히 지원 미약 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
UNICODE 최근 널리 받아들여지고 있음(NT, Win98등) 단점 유니코드 스트림에서는 언어의 구분 불가 다국어화(m17n)에 여러움 ISO-2022 오래된 표준. 다국어 처리에 적합 단점 context-depenent encoding 처리가 어려움 UNICODE vs ISO-2022 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Wish List • 한국어 지원 추가 • 번역물(GNU gettext에 의한 메시지 번역) • GNU-NLS 한국어 프로젝트에 참여 • glibc의 한국어 구현 문제 • 시험과 조언 • X윈도우상에서의 한국어 입출력 • 입력: X Input Method(hanIM, 벼루 etc) • 잘 동작하는 오픈 소스 입력기필요 • 공개된 글꼴: 화면 & 출력용 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Wish List (2) • 운영체제 수준 • 커널 수준의 다국어 메시지 처리 • 다국어 처리 콘솔 • 프레임퍼버 콘솔의 등장으로 가능성 커짐 • fbcon 한글패치 존재 • 콘솔에서의 다국어 입력 프레임워크 • 콘솔 입력 API의 표준화(X윈도우처럼) • 일반 상용 어플리케이션(StarOffice등) CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
마치며 • 국제화/지역화 문제는 모든 나라에서 공통적으로 겪는 문제임 • 사용자의 인식과 관심이 중요 • 身土不二? • 단순 지역화보다는 국제화 조류에 동참 • 표준의 준수 • 오픈 소스 개발 과정은 이를 더욱 편하게 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK
Q&A 질문과 토론 CHOI, Junho <cjh@wdb.co.kr> / WEB DATA BANK