일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- json parser
- JPA
- IntelliJ
- 단축키
- shortcuts
- cubrid
- 위경도계
- 캘리그라피
- join
- 자바
- spring
- Hibernate
- mysql polygon
- Query
- mybatis polygon mapper
- 쿼리
- mybatis
- Java
- 하이버네이트
- JSON 변환
- 사진
- 좌표계변환
- 큐브리드
- mybatis polygon
- 파이어폭스41
- QGIS
- 엽서
- mysql gis
- 여행
- 좌표변환
- Today
- Total
쏘댕
[다국어지원] i18n = Internationalization 본문
T9n: Translation
G11n: Globalization
I18n: Internationalization
L10n: Localization
단순히 첫자와 마지막글자 사이에 몇 글자가 들어갔는지에 대한 약자이다..
아래는 검색하다 찾은 정리 내용!
T9n: Translation - 일반적인 번역을 말한다. GILT 작업 이외에 MT까지 포함한 영역, 즉 비전문가를 위한 자동 번역까지 포함된 영역이며 상대적인 용어로 GIL을 언급할때 상대적으로 MT 번역을 의도한 말로 쓰이기도 한다.이 경우 좀더 직접적으로 MT(Machine translation)이란 말을 쓴다. 정확히 말해서 전혀 소프트웨어의 도움 없이 하는 번역까지 포함이겠지만, '대충 그렇다'
말나온김에 MT를 언급하자면,
MT: Machine Translation -
기계번역. 사용자의 개입이 주가 되지 않는* 번역을 의미한다. 이 경우 구문을 분석하고, 문법적인 룰을 파악하여 번역하게
되는데, 당연한 말이겠지만 문법이 제 멋대로인** 대부분의 언어를 생각해 보았을때 번역이 제대로 되지 않는 것은 당연한 일이다.
지금 대부분의 자동 번역 방법의 결과가 꾸질꾸질 한것은, 당금의 기술이 부족해서가 아니라 앞으로도 기존의 문법에 구속적인 자동
번역으로는 큰 성과를 기대하기 힘들단 말을 하고 싶은게다.
*. 배제한다고 적고 싶지만, 많은 MT소프트웨어는 어느정도의 사용자 개입을 허락 한다.
**. 모든 언어가 그렇지만 한글역시 엄청나게 지멋대로이다. 이를테면 '나는 밥먹으러 간다'나, '나 밥먹으러 간다'나 심지어는 '밥먹으러 간다.나' 라고 써도 문법적으로 틀리다고 딴지 걸 수 없다.
CAT: Computer Added Translation -
약자를 풀어 놓은 것에서 이미 어떤 늬앙스인지는 느꼈으리라 믿는다. MT의 번역이 컴퓨터가 번역하고 사람이 손봐주는 정도라면
이는 반대로, 사람이 번역을 하고 컴퓨터가 도와주는 것을 말한다. 얕은 의미로는 영어단어에 손꾸락을 올려놓았을때 사전을 띄워주는
정도로도 생각 될 수 있지만, 그 핵심에는 TM을 통한 번역 시스템이 존재한다.
TM: Translation Memory -
TM을 이용한 번역은 그 발상 자체는 간단하다. 이전에 번역한 내용을 찾아서 보여 주는 것이다. 내용이 완벽하게 동일하다면
10분짜리 코딩으로도 구현 가능하겠지만, 문제가 복잡해지는것은 '유사한' 번역 내용을 찾아주는 것이다. 기존에 지금 번역하려는
문장과 아주 유사한 문장을 가지고 있다면, 비슷한 문장을 꺼내서 보여주는데, 보통은 Fuzzy 알고리즘을 이용해서 '대충 이정도는
비슷하다'고 보여준다. 예를 들어보자. (나는 프로그래머지 영문학을 하는 사람이 아닙니다. 예의 조잡함은 신경쓰지말아 주세요
:( )
'I am a boy' : '나는 소년이다' 라고 처음 번역을 했다.
다음번에 'I am a girl'을 만났다.
컴퓨터는 문법따위 모르고, 단어의 뜻도 모른다. (기본적으로는 그렇지만. 많은 응용이 있을 수 있고, 또 문법이나 단어의 뜻과 어느정도 메칭 시키도록 시도한 예도 있다.)
CAT는 'I am a boy' : '나는 소년이다' 80%
를 여전히 제시해 주지만, 전과 다른 문장임을 표시해준다. 80퍼센트 정도는 비슷한 문장이라면서...
번역자는 저 문장을 보고 'boy'에 해당하는 '소년'만을 수정하여 번역을 완료 시킨다. 번역 결과물을 내면서 동시에 해당 결과를 학습시킨다. - 즉 TM의 내용을 보강한다.
이러한 작업을 무수히 반복한 후에는 대부분의 번역을 한두문장만 수정함으로써 결과물을 얻어 낼 수 있을것이다.
손
으로 번역한 내용이기 때문에 그 번역 품질은 사람이 느끼기에 이질감이 없을수 밖에 없다. (애시당초 번역을 잘못해나가고 있다면
문제가 다르지만... - 때문에 필자는 CAT 소프트웨어를 소개 할 때 '전문가용 번역기'라 표현한다.)
여기까지 말했으니 자연스레 L10n을 설명 할 수 있다.
L10n: Localization -
위와 같은 전문가의 손길을 거쳐서 만들어지는 번역을 의미한다. 일반으로 말하는 '번역'(T9n)과 비교해서 덧붙이자면, 지역
문화에 대한 고려까지 포함하는데, 유럽권 속담을 그 지역 속담으로 번역하는 경우가 좋은 예라 할 수 있다.
I18n: Internationalization - 처음 이 단어를 보고 혼란스러웠던 것은 단어가 너무 길어서 G11n
과 비교하여 범위가 모호했기 때문이었다. I18n은 그 말하고자 하는 포커스가 '번역'에 있는 것이 아니라 '시스템'에 있다.
I18n이 안된 가장 쉬운 예는 UTF-8 코드이다. 인터넷 익스플러에서 '항상 -utf8로 보냄 을 첵해놓으면 한글로 적힌
이미지가 표시 안되는 것을 볼 수 있는데 (ie는 분명 이부분에 대해 선택 사항을 줬기 때문에 i18n이 안되있다 말하진
못한다.) 이런 문제는 사실 Unicode가 표준화 되기 전까지는 대부분의 소프트웨어가 가진 문제였다.
I18n
은 지역적 언어 표현 방법을 모두 수용할 수 있도록 만들어주는 것을 말한다. 얕은 의미로는 위에 예를 든 바와 같이 단순히 다른
언어로 문자의 표현을 지원하는 것까지도 될 수 있겠고, 깊은 의미로는 하나의 시스템으로 다국어를 표현 할 수 있는 환경을 구성
하는 것이다. 최근 MS OS제품들이 따로 한국어 버젼을 구하지 않아도 국가 인식만 하면 알아서 그나라 언어로 표시되는것이 좋은
예가 될 것이다. 구글에서 사용자에 따라 알아서 해당 국가의 언어로 보여주는 것도 역시 좋은 예이다. 다국어로 표현 하는 과정에
생기는 '사소한'문제는 표현되는 글자들이 차지하는 영역이 다르다는 것이다. 한글과 영어를 비교해 보자면 보통 문장을 번역 했을때
상대적으로 한글은 줄 사이의 간격이 빠듯해 보이며, 영문보다 길이를 짧게 차지한다. 다음 두 단어를 보자. '국제화'
'internationalization'! 이렇듯 다른 형태의 언어를 소프트웨어나, 웹페이지에 모두 적절히 배치되도록 설계 하는
것도 I18n작업의 범주에 들어간다.
G11n: Globalization -
흔히 G11n = I18n + L10n 이라고 표현 하지만 이는 정의가 되지 못한다. G11n을 어떻게 구성하느냐 하는
설명정도가 되겠다. 하지만 굳이 정의를 하지 않더라도 다국어를 포함하는 시스템 없이는 다국어 서비스를 하지 못할 것이며, 시스템만
가지고 번역이 이루어지지 않는다면 역시 기능이 없는 것이기 때문에 충분히 무엇을 의미하는지는 알 수 있으리라 생각된다.
G11n
은 다국어 시스템를 구성하는 것을 의미한다. '시스템'은 XML문서가 될 수도 있고, 다국어 소프트웨어가 될 수도 있고, 글로벌 웹
사이트가 될 수도 있다. 또한 G11n은 다국 언어를 유기적으로 연결시켜 줄 수 있고 번역 시켜 줄 수 있는 시스템까지 포함하여
말한다.
[출처] 커블 블로그