알토바 미션킷을 활용한 국제화

다음 글은 피터 레인즈 님이 작성했으며, 그는 TM-Global의 CEO이자 번역 관리 컨설턴트이며, Kilgray Translation Technologies의 이사입니다. 폴란드 바르샤바에 거주하는 그는 아일랜드 국적이며, 오픈 대학교에서 학사 및 MBA 학위를 취득했습니다. 그는 현지화 및 번역 산업 분야의 베테랑입니다. 피터는 이전에 Idiom Technologies Inc. (현재 SDL PLC)에서 근무했습니다. Idiom의 LSP 파트너 프로그램 이사로서, 그는 회사의 글로벌 LSP 파트너 프로그램을 성공적이고 혁신적인 사업으로 발전시키는 데 기여했습니다. Idiom 이전에, 그는 Lionbridge, Bowne Global Solutions, Berlitz GlobalNET 등 여러 글로벌 현지화 회사에서 언어 기술 개발 업무를 담당했습니다. 그는 더블린 개발팀을 관리하며, BerlitzIT, Elcano, Freeway 2.0 기술 솔루션, 그리고 내부 프로젝트 및 벤더 관리 도구를 개발했습니다. 피터는 10년 이상 동안, 주로 OASIS에서 표준 개발 및 홍보에 적극적으로 참여해 왔습니다 (특히 XLIFF). XLIFF가 발표되기 전인 2008년까지, 그는 OASIS의 XLIFF 기술 위원회에서 사무총장을 맡았으며, Translation Web Services 기술 위원회를 이끌었습니다. 현재 그는 OASIS, TILP에 참여하고 있으며, ISO SC2 및 SC4의 아일랜드 전문가로서 활동하고 있으며, EN 15038 표준에 대한 감사 교육을 담당하고 있습니다.

소개글

모든 개발자는 자신이 개발한 애플리케이션이 널리 사용되기를 바라며, 많은 사람들에게 인기를 얻기를 희망합니다. 미국 메인 주 시골 지역에서 개발된 웹 애플리케이션은 인근 지역에 사는 사람뿐만 아니라 말레이시아, 뉴질랜드, 독일, 폴란드 등 다양한 국가에 있는 사람들도 쉽게 사용할 수 있습니다. 애플리케이션이 번역되지 않았더라도, 지역에 따라 데이터가 표현되는 방식에 중요한 차이점이 존재합니다. W3C에서 정의하는 국제화는 "다양한 문화, 지역 또는 언어를 사용하는 대상 사용자를 위해 설계되고 개발된 제품"을 의미합니다. 이는 제품이 반드시 대상 사용자의 언어로 번역되어야 한다는 의미는 아니며, 오히려 대상 사용자가 애플리케이션을 사용하고 데이터가 어떻게 표현되는지 이해할 수 있도록 설계되어야 함을 의미합니다. 국제화의 목적은 애플리케이션을 최대한 많은 사람들이 사용할 수 있도록 하고, 번역 작업을 더 쉽고 저렴하게 만드는 것입니다.

이 글에서는 국제화를 소개하고, Altova MissionKit을 사용하여 애플리케이션을 국제화하는 방법을 설명합니다. Altova MissionKit은 XMLSpy, StyleVision, MapForce 등 XML, 데이터베이스, UML 도구를 통합한 제품군입니다. 만약 XMLSpy나 StyleVision과 같은 도구를 사용하고 있다면, 이미 국제화된 XML 애플리케이션을 개발하고 있을 가능성이 높습니다.

제가 제안하는 전략은 애플리케이션의 대상 사용자를 사전에 파악하고, 그에 맞춰 국제화를 적용하는 것입니다. 이 글에서는 먼저 XML 국제화를 위한 전략을 설명하고, 그 후 국제화 태그 세트를 소개하며, XML 국제화와 관련된 문제들을 살펴보겠습니다.

XML 국제화를 위한 전략

국제화를 계획하는 첫 번째 단계는 필요한 국제화 수준에 대해 충분히 고려한 후 결정을 내리는 것입니다. 조직 내에 이 결정을 내리는 데 도움을 줄 수 있는 사람들이 있을 수 있으며, 특히 다른 나라에 거주하는 사람들의 의견을 구하는 것이 도움이 될 것입니다. 아래에 제시된 세 가지 수준의 접근 방식은 귀하가 어떤 수준의 국제화를 적용할지 결정하는 데 도움이 될 것입니다. 그러나 문서나 애플리케이션이 국제화되지 않으면 문제가 발생할 수 있다는 점을 기억해야 합니다. 반면, 완전히 국제화한다면 그러한 문제는 발생하지 않을 것입니다. 국제화의 세 가지 수준은 다음과 같습니다

  • 1단계: 귀하의 애플리케이션은 비교적 적은 사용자층을 대상으로 할 가능성이 높으며, 사용자 수가 증가할 수 있지만, 애플리케이션이 번역되거나 국제적으로 사용될 가능성은 낮습니다. 이 경우, 본 문서에 제시된 제안을 따르고 Altova MissionKit의 기능을 활용하여 국제화를 지원하는 것이 좋습니다.
  • 2단계: 귀하의 애플리케이션은 광범위한 사용자층을 대상으로 하며, 번역되어 국제적으로 활용될 수 있습니다. Altova MissionKit의 기능을 사용하는 것 외에도, 국제화를 위한 태그 세트(Internationalization Tag Set)를 활용하는 것이 좋습니다. 이는 W3C에서 국제화를 위해 제공하는 스키마입니다.
  • 3단계: 귀하의 애플리케이션은 국제적으로 사용될 가능성이 높으며, 다양한 언어로 번역될 것입니다. 콘텐츠와 코드를 분리하여 현지화 프로세스를 개선하고, 번역가가 최종 사용자가 보는 것과 동일한 방식으로 문서나 애플리케이션을 볼 수 있도록 하는 방법을 고려해야 합니다. 이 내용은 본 문서의 범위를 벗어나지만, 아래의 참고 자료에서 관련 정보를 찾아보실 수 있습니다.

Altova MissionKit에 포함된 소프트웨어 도구들은 국제화를 지원하는 다양한 기능을 제공합니다. 이러한 도구를 사용하시면 국제화된 XML 문서를 만드는 데 매우 유리합니다. XMLSpy XML 편집기에서 생성되는 애플리케이션의 기본 인코딩은 유니코드이며, 이 문자 세트를 사용하는 것을 강력히 추천합니다.

국제화 태그 세트

W3C에서 권장하는 국제화 태그 세트(ITS)는 국제화되어 있으며 쉽게 현지화할 수 있는 XML 문서를 만드는 데 사용됩니다. 만약 현지화가 필요한 XML 문서를 다루고 있다면, ITS를 사용하는 것을 추천합니다. 이 기술을 사용하면 어떤 텍스트가 번역이 필요한지 지정하고, 번역가에게 지침을 제공하며, 텍스트의 방향을 설정할 수 있습니다. ITS에 포함된 7가지 데이터 카테고리는 다음과 같습니다

  • ** 번역:** 문서의 어떤 부분이 번역 가능한 영역으로 지정되는지 정의합니다.
  • 현지화 참고 사항: 번역가들을 위한 참고 사항 및 유용한 정보를 제공합니다.
  • ** 용어:** 문서에 사용된 용어를 식별합니다.
  • ** 방향성:** 문서 또는 문서의 특정 부분이 작성되고 읽혀지는 방향을 나타냅니다.
  • 루비: 문서의 어떤 부분을 루비 텍스트로 표시해야 하는지 지정합니다. (루비는 기본 텍스트 옆에 짧게 표시되는 텍스트로, 주로 동남아시아 언어 문서에서 발음을 나타내거나 간단한 설명을 제공하는 데 사용됩니다).
  • 언어 정보: 문서의 각 부분에 사용된 언어를 식별합니다.
  • 텍스트 내 요소: 언어적 분할과 관련하여 요소들이 어떻게 처리되어야 하는지를 나타냅니다.

W3C는 XML 문서를 국제화하는 방법에 대한 모범 사례 가이드라인을 발표했으며, 이 가이드라인은 ITS(Internationalization Tag Suite)의 사용 방법을 자세히 설명합니다. 해당 내용은 W3C 웹사이트에서 확인할 수 있습니다: http://www.w3.org/TR/2007/WD-xml-i18n-bp-20070427/ 사양은 다음 섹션에서 확인할 수 있습니다: http://www.w3.org/TR/2007/REC-its-20070403/ 국제화 작업을 진행하기 전에 이 문서들을 읽어보시는 것을 강력히 추천합니다.

국제화 관련 문제들

다음 표는 국제화 과정에서 발생할 수 있는 몇 가지 문제점을 설명합니다. 이어서, 이러한 문제점에 대한 보다 자세한 설명과 Altova MissionKit을 사용하여 이러한 문제점을 해결할 수 있는 방법에 대한 제안을 제공하겠습니다.

문제 설명
인코딩 사용되는 코드 페이지는 모든 문자를 지원해야 합니다. 유니코드는 대부분의 언어에 사용되는 문자를 지원하는 인코딩 방식입니다.
날짜 및 시간 국가별로 날짜와 시간을 표현하는 방식이 다릅니다.
숫자 국가별로 소수점과 천 단위 구분자를 표현하는 방식이 다릅니다.
통화 일부 국가에서는 숫자를 표현하는 방식 외에도, 통화 기호나 단어가 숫자 뒤에 표시되는 반면, 대부분의 국가에서는 숫자 앞에 표시됩니다.
인사말 및 이름 국가별로 인사말 방식에 차이가 있으며, 헝가리와 같은 일부 국가에서는 사람의 이름을 성을 먼저 쓰는 경우가 있습니다. 일본에서는 중간 이름이 사용되지 않습니다.
주소 주소 표기 방식에도 차이가 있습니다. 일부 국가에서는 건물 번호가 도로 이름 앞에 표시되는 반면, 다른 국가에서는 뒤에 표시됩니다. 또한, 일부 국가에서는 우편번호를 사용하는 반면, 다른 국가에서는 다른 형태의 우편 코드를 사용합니다.
텍스트 방향 (RTL) 대부분의 언어에서는 텍스트를 왼쪽에서 오른쪽으로 읽지만, 히브리어와 아랍어와 같은 일부 언어에서는 텍스트를 오른쪽에서 왼쪽으로 읽습니다 (양방향).
정렬 및 비교 문자 배열 방식에 차이가 있습니다. 일부 스칸디나비아 언어에는 'aa'라는 문자가 있으며, 일반적으로 알파벳의 끝에 정렬되지만, 항상 그런 것은 아닙니다.
느낌표 및 물음표 영어에서는 질문과 느낌표가 항상 문장의 끝에 위치하지만, 스페인어에서는 문장의 시작과 끝에 물음표가 위치합니다.

인코딩

모든 전자 텍스트는 문자를 숫자로 표현하는 문자 인코딩 시스템을 사용합니다. 유니코드의 널리 사용되기 전, 이것은 국제화에서 가장 중요한 문제 중 하나였습니다. 애플리케이션이 특정 코드 페이지에 없는 문자를 표시하려고 할 때, 해당 문자는 의미 없는 텍스트로 나타날 수 있습니다. 이러한 문제는 서로 다른 언어뿐만 아니라, 서로 다른 운영 체제를 사용하는 컴퓨터에서 문자가 잘못 표시되는 경우에도 발생했습니다. 유니코드는 플랫폼, 프로그램 또는 언어에 관계없이 단일 코드 페이지를 사용하여 이러한 문제의 대부분을 해결했습니다. XML은 기본적으로 유니코드를 코드 페이지로 사용합니다. XMLSpy에서 생성하는 모든 XML 문서는 기본적으로 "encoding="UTF-8” 선언을 포함합니다. 파일이 XMLSpy에서 생성되지 않은 경우, 해당 파일이 UTF-8로 저장되었는지 확인해야 합니다. UTF는 "Unicode transformation format"의 약자로, UTF-8은 유니코드의 한 종류이며, 문자를 저장하기 위해 1, 2 또는 4바이트를 사용합니다. UTF-8은 가장 일반적으로 사용되는 방식이며, XML 및 웹 환경에서 널리 사용됩니다. XMLSpy에서 지원하는 다른 유니코드 버전은 다음과 같습니다

  • UTF-7. 이는 유니코드의 7비트 버전입니다. 이 방식은 이메일과 같이 7비트 전송 방식에서만 사용해야 합니다.
  • ** ISO 1064 UCS – 2 및 UTF – 16.** UCS는 "Universal Character Set"의 약자로, UCS-2는 각 문자를 표현하는 데 2바이트를 사용합니다. UTF-16은 UCS-2의 확장 버전으로, 문자를 표현하는 데 2바이트 또는 4바이트를 사용합니다. UTF-16은 주로 Windows와 Java에서 사용됩니다. 새로운 문서를 작성할 때는 UTF – 16을 UCS – 2보다 사용하는 것이 좋습니다.
  • ISO 1064 UCS-4. 각 문자에 대해 4바이트를 사용하며, UTF-32와 동일합니다. UTF-32는 유닉스 시스템에서 자주 사용됩니다.

UTF-8 이외의 다른 기본 인코딩을 사용하는 이유가 있을 수 있습니다. XMLSpy에서 기본 인코딩을 설정하려면 "도구(Tools) | 옵션(Options)"으로 이동한 다음 "인코딩(Encoding)" 탭을 선택하십시오.

특정 XML 문서의 인코딩을 변경하려면, 해당 문서를 XMLSpy에서 열고 "파일(File) > 인코딩(Encoding)" 메뉴를 선택하십시오.

언어

XML 네임스페이스는 xml:lang 속성을 사용하여 XML 문서의 언어를 식별합니다. xml:lang 속성의 값은 ISO 언어 코드(ISO 639-2)여야 합니다. 만약 XML 문서가 주로 한 언어로 작성되었지만 다른 언어의 일부 내용이 포함되어 있다면, 문서의 최상위 요소에서 xml:lang 속성을 사용하여 문서의 주요 언어를 지정하고, 다른 언어로 작성된 텍스트가 포함된 요소에서 해당 속성을 사용하여 해당 언어를 식별할 수 있습니다.

날짜

나라마다 날짜와 시간을 표현하는 방식이 매우 다릅니다. 예를 들어, 10/09/08이라는 날짜를 살펴보겠습니다

In most European countries this means the 10th of September 2008. In the United States this means the 9th of October 2008. In Japan this means 8th of October 2009.

이 문제를 해결하는 방법은 애플리케이션 내에서 날짜와 시간을 지정할 때 ISO 8601 표준을 사용하는 것입니다. ISO 8601은 날짜와 시간을 "YYYY-MM-DDTHH:MM:SS[±HH:MM]" 형식으로 표현하는 표준 방식입니다

YYYY- represents year
MM- represents month
DD - represents day
T signifies that Time follows this
HH- represents hours
MM- represents minutes
SS- represents seconds.

그런 다음 StyleVision을 사용하여 스타일 시트를 생성하여, 대상 고객에게 적합한 방식으로 날짜를 표시할 수 있습니다. StyleVision은 그래픽 기반 스타일 시트 디자인 도구로, XSLT 및 XSL:FO 스타일 시트를 드래그 앤 드롭 방식으로 디자인하여 XML 데이터를 HTML, Microsoft Word, PDF 및 기타 형식으로 렌더링할 수 있습니다. StyleVision에서 날짜 서식 기능을 사용하려면 다음과 같이 하십시오

  • 노드의 내용 표시 영역 또는 입력 필드를 선택하십시오.
  • 속성 사이드바에서 콘텐츠 항목을 선택한 다음, "콘텐츠" 속성 그룹을 선택합니다.
  • 입력 형식 속성의 "편집" 버튼을 클릭하세요.
  • "입력 형식" 대화 상자가 나타납니다

  • "형식 지정" 라디오 버튼을 선택하세요. 이렇게 하면 사용할 데이터 유형을 선택할 수 있으며, 날짜를 선택한 경우 날짜의 형식을 지정할 수 있습니다.

여기에서 다른 날짜 및 시간 형식을 선택할 수도 있습니다. 날짜 선택 도구를 사용하는 것을 강력히 추천합니다. 날짜 선택 도구를 삽입하려면 커서가 xs:date 또는 xs:dateTime 노드 사이에 위치해야 합니다. 그런 다음, 상단 메뉴에서 "삽입"을 선택하고 "날짜 선택 도구 삽입"을 선택합니다. 만약 커서가 xs:date 또는 xs:dateTime 노드 사이에 있지 않으면 "날짜 선택 도구 삽입" 메뉴 항목이 회색으로 표시됩니다.

숫자

소수점은 지역 설정에 따라 점(.) 또는 쉼표(,)로 표현될 수 있습니다. 또한, 천 단위로 숫자를 표현하는 방식에도 차이가 있습니다. StyleVision은 사용자가 원하는 대상 독자에 맞춰 숫자를 서식 지정할 수 있는 기능을 제공합니다

  • 노드의 내용 표시 영역 또는 입력 필드를 선택하십시오.
  • 속성 사이드바에서 콘텐츠 항목을 선택한 다음, "콘텐츠" 속성 그룹을 선택합니다.
  • 입력 형식 속성의 "편집" 버튼을 클릭하세요.
  • "입력 형식" 대화 상자가 나타납니다

  • "형식 지정" 라디오 버튼을 선택하세요. 이렇게 하면 숫자 형식을 선택할 수 있습니다.

숫자와 관련된 문제는 화폐에도 적용되지만, 이 외에도 통화 기호를 나타내는 다양한 방식이 존재합니다. 일부 통화는 동일한 이름과 기호를 사용하기도 하지만, 호주 달러, 캐나다 달러, 싱가포르 달러는 서로 다른 통화이며, 이는 명확하게 구분되어야 합니다. 위에서 설명한 것처럼 숫자를 처리할 수 있지만, 통화 이름이나 기호가 숫자 앞에 올지 뒤에 올지는 번역 과정에서 별도로 처리될 가능성이 높습니다.

주소

온라인 구매 시 외국 회사로부터 제품을 구매하는 고객들이 겪는 문제 중 하나는 시스템이 고객들이 정확하게 주소를 입력할 수 있도록 지원하지 않는다는 것입니다. 주소 입력 방식에는 여러 가지 차이가 있는데, 예를 들어 건물 번호가 도로명 앞에 오거나 뒤에 올 수 있고, 주소 구성 요소의 순서가 다를 수 있으며, 우편번호 형식이 다를 수 있습니다. CEN(유럽 표준 기구)은 주소 구성 요소를 나열하는 표준을 개발했으며, UPU(세계우편연합)는 이를 더욱 발전시켜 이름 및 주소 요소에 대한 포괄적인 목록을 만들고 있습니다. 저는 귀사가 주요 타겟 시장에 필요한 데이터를 확보하는 동시에, 다른 나라의 고객도 자신의 주소를 정확하게 입력할 수 있도록 하는 것이 중요하다고 생각합니다. 국가별로 주소 입력 방식을 고려하여, 필요한 주소 구성 요소에 대한 오류 검사를 수행하고, 다른 나라의 주소 구조를 알 수 없는 경우에도 오류가 발생하지 않도록 국가 선택 드롭다운 목록을 사용하는 것을 권장합니다.

신용카드

일부 미국 기반 웹사이트는 미국 외 지역에서 발급된 신용카드를 받지 않습니다. 보안상의 이유로, 이들은 유효한 미국 내 주소를 요구합니다. 만약 신용카드 결제를 받고, 자국 외 지역의 사람들과 사업을 하고 싶다면, 해외에서 발급된 신용카드를 사용할 수 있는지 확인해야 합니다.

RTL (양방향 텍스트)

많은 언어에서 텍스트는 왼쪽에서 오른쪽으로 읽히지만, 이는 보편적인 현상은 아닙니다. 아랍어와 히브리어는 오른쪽에서 왼쪽으로 쓰입니다. XML 문서에서는 이러한 차이로 인해 혼란이 발생할 수 있는데, XML 요소는 왼쪽에서 오른쪽으로 읽히지만, 텍스트는 오른쪽에서 왼쪽으로 읽혀야 합니다. ITS 네임스페이스에는 "방향(direction)" 속성이 있으며, 이를 사용하여 어떤 방향으로 읽어야 하는지 지정할 수 있습니다. <its:span dir="rtl">낚시의 즐거움!</its:span>

정렬

알파벳 정렬 방식에는 차이가 있습니다. 일부 스칸디나비아어에는 'aa'라는 문자가 있으며, 일반적으로 알파벳의 맨 뒤에 정렬되지만, 항상 그런 것은 아닙니다. XML 문서에서 언어를 설정하고 XSL 문서에서 xsl:sort를 사용하는 경우, 해당 언어의 정렬 규칙에 따라 정렬이 이루어져야 합니다. 하지만, 처리기가 실제로 그렇게 작동하는지 확인해야 합니다. StyleVision에 포함된 예제 파일에는 정렬 관련 예제가 있습니다. StyleVision 예제를 선택한 다음, 튜토리얼 폴더, 그리고 정렬 폴더로 이동하여 "SortingOnTwoTextKeys.sps" 파일을 엽니다. 정렬이 어떻게 작동하는지 확인하려면 디자인 뷰에서 멤버 요소를 마우스 오른쪽 버튼으로 클릭합니다. 그런 다음 컨텍스트 메뉴에서 "정렬 기준" 옵션을 선택합니다. 여기서 이 특정 목록에 대한 정렬 방식을 제어할 수 있습니다.

감탄부호와 물음표

영어에서는 질문 부호와 느낌표가 항상 문장의 끝에 위치하지만, 스페인어에서는 문장의 시작과 끝에 모두 나타날 수 있습니다. 이러한 점은 번역 과정에서 일반적으로 수정됩니다.

결론

글로벌화를 추진하는 것은 애플리케이션의 잠재 사용자를 최대한 확대하고, 번역 작업을 가능한 한 효율적이고 간편하게 만드는 데 중요한 단계입니다. 이 과정에 대한 접근 방식은 매우 실용적이어야 합니다. 초기 단계에서 글로벌화를 위한 준비에 투자하는 것은 전체 과정에서 큰 이점을 가져다줄 뿐만 아니라, 제품의 마케팅 잠재력을 크게 향상시킬 것입니다. 본 글의 목적은 글로벌화에 대한 개요를 제공하고, 여러분을 이 주제에 소개하는 것입니다. 아래에 제시된 참고 자료에서 더 많은 유용한 정보를 얻을 수 있습니다.

Altova MissionKit 소프트웨어 제품군에 포함된 XMLSpy와 StyleVision과 같은 도구들은 XML 문서의 국제화 과정을 훨씬 쉽게 만들어줍니다. 이러한 도구들은 국제화를 위한 다양한 기능을 내장하고 있습니다. W3C에서 제공하는 국제화 태그 세트(Internationalization Tag Set, ITS)는 개발자가 국제화된 XML 애플리케이션을 구축하고자 할 때 매우 유용한 혁신적인 기능이며, 개발 도구 모음에 큰 도움이 됩니다. XML은 처음부터 국제화 및 번역을 염두에 두고 개발된 기술입니다. XML의 기본 인코딩으로 유니코드를 사용하는 것은 매우 중요하며, 국제화 과정에서 발생할 수 있는 다양한 문제를 해결하는 데 큰 도움이 됩니다. Altova MissionKit, ITS, 그리고 유니코드의 기능들은 훌륭한 국제화된 애플리케이션을 만드는 데 필수적인 기반이 됩니다.

참고 자료 다음은 국제화에 대한 추가 정보를 제공하는 유용한 웹사이트 및 기타 자료 목록입니다. 선도적인 XML 도구 제공업체인 Altova: https://www.altova.com/. 이들은 MissionKit의 무료 체험 버전을 제공합니다: https://www.altova.com/download.

유니코드 웹사이트: http://www.unicode.org/

국제화 태그 세트 http://www.w3.org/TR/2007/REC-its-20070403/

W3C 국제화 관련 모범 사례 http://www.w3.org/TR/2007/WD-xml-i18n-bp-20070427/

Open Tag (이브 사부렐의) http://www.opentag.com/

이브 사부렐의 "XML 국제화 및 지역화"는 훌륭한 정보 자료를 제공하는 책입니다. 더 자세한 내용은 다음 웹사이트에서 확인할 수 있습니다: http://www.opentag.com/xmli18nbook.htm

TM-Global 연구 및 자료 웹사이트는 번역, 현지화, 그리고 업계 표준에 관한 유용한 기사, 의견, 설문조사 등 다양한 정보를 제공합니다. http://www.tm-global.com/

국제화 전문가 텍스 텍신의 웹사이트: http://www.xencraft.com/http://www.i18nguy.com/

현지화 프로세스 – 국제화 전문가 웹사이트 http://www.locflowtech.com/

킬그레이 트랜슬레이션 테크놀로지스와 같은 회사에서 합리적인 가격으로 제공되는 XML 기반의 번역 지원 도구(TEnTs) 및 번역 도구를 이용하실 수 있습니다 http://www.kilgray.com/