다국어 지원

사용자에게 종교적, 문화적 관습에 따라 정보를 표현할 수 있는 애플리케이션을 세계화되었다고 말합니다. 이 애플리케이션은 지방색이 다른 사용자가 문화적으로 적합한 방식에 의해 서로 상호작용하도록 구성될 수 있습니다. 세계화된 애플리케이션에서, 한 지역의 사용자는 요청된 언어로 오류 메시지, 출력 및 인터페이스 요소를 조회합니다. 통화뿐만 아니라 날짜 및 시간 형식이 지정된 지역의 사용자에게 적합하게 표현됩니다. 또다른 지역의 사용자는 해당 지역의 관습적인 언어 또는 형식에 따라 출력을 조회합니다. 세계화는 두 단계, 국제화(애플리케이션 컴포넌트의 다중 문화 지원 가능) 및 로컬화(번역 및 특정 지역의 규약 구현)로 구성됩니다.

지금까지 다국어 지원 애플리케이션 작성은 복잡한 시스템을 작성하는 큰 회사로만 제한되었습니다. 그렇지만 분산 컴퓨팅의 성장 및 월드 와이드 웹(WWW)의 사용으로 인해 애플리케이션 개발자는 다양한 애플리케이션에 대해 다국어 지원 제공에 대한 압력을 받고 있습니다. 이런 경향은 애플리케이션 개발자에게 다국어 지원 기술에 더 쉽게 액세스할 수 있도록 요청하고 있습니다.

애플리케이션의 세계화는 시간대 및 로케일의 두 변수로 구동됩니다. 시간대는 로컬 시간을 GMT(Greenwich Mean Time)와 같은 표준 시간대에서 오프셋으로 계산하는 방법을 표시합니다. 로케일은 언어, 통화, 날짜와 같은 정보를 표시하는 규칙에 대한 정보의 콜렉션입니다. 시간대는 많은 로케일을 포함하며 한 개의 로케일은 시간대로 확산 가능합니다. 시간대와 로케일 모두를 사용하여 특정 지역의 사용자를 위한 날짜, 시간, 통화, 언어를 판별할 수 있습니다.

관례적으로 제공된 로케일은 다른 표준으로 관리되는 코드 쌍(언어 및 지역)으로 지정됩니다. ISO-639 표준은 언어 코드를 관리합니다. ISO-3166 표준은 지역 코드를 관리합니다. 표기 시에 두 코드는 일반적으로 밑줄(_) 문자로 결합됩니다(예: 미국 영어의 경우 en_US). Java™ 코드에서 로케일은 java.util.Locale 클래스를 사용하여 설정 및 검색됩니다.

첫 번째 단계: 인터페이스 문자열 현지화

다국어로 지원되지 않는 애플리케이션에서 사용자 인터페이스는 수정할 수 없는 애플리케이션 코드로 작성됩니다. 사용자 인터페이스에 대한 세계화 지원은 애플리케이션 디자인에 추상 계층을 추가합니다. 추상에 대한 추가 계층을 사용하면 애플리케이션에 지원해야 하는 각 로케일에 대해 애플리케이션을 현지화할 수 있습니다.

현지화된 애플리케이션에서 로케일은 애플리케이션이 메시지 문자열을 검색하는 메시지 카탈로그를 판별합니다. 오류 메시지를 인쇄하는 대신 애플리케이션은 언어에 중립된 정보가 포함된 오류 메시지를 표시합니다. 가장 단순하게 각 오류 조건은 키에 대응합니다. 사용 가능한 오류 메시지를 인쇄하기 위해 애플리케이션은 메시지 카탈로그에서 키를 검색합니다. 각 메시지 카탈로그는 연관된 문자열이 포함된 키 목록입니다. 다른 메시지 카탈로그는 지원되는 다른 언어의 문자열을 제공합니다. 애플리케이션은 적절한 카탈로그에서 키를 검색하고 요청된 언어로 해당 오류 메시지를 검색하며 사용자에게 문자열을 인쇄합니다.

텍스트 현지화는 오류 메시지 번역 이상으로 사용 가능합니다. 예를 들어, 키를 사용하여 그래픽 사용자 인터페이스(GUI)에서 각 요소를 표시하고 적절한 메시지 카탈로그를 제공하여 GUI(단추, 메뉴 등)는 여러 언어를 지원할 수 있습니다. 추가 언어 지원 확장을 위해서는 해당 언어에 대한 메시지 카탈로그를 제공해야 하며 여러 면에서 애플리케이션을 추가로 수정할 필요는 없습니다.

현지화 가능 텍스트 패키지는 분산 애플리케이션에서 더 쉽게 문자열의 현지화를 지원할 수 있는 Java 클래스 및 인터페이스의 세트입니다. 언어 특정 문자열 카탈로그는 중앙 집중식으로 저장하여 효율적으로 유지보수할 수 있습니다.

분산 애플리케이션에서 다국어 지원 문제

인터넷 기반의 비즈니스 컴퓨팅의 출현으로 애플리케이션은 점점 더 다른 지역에서 작동되는 클라이언트와 서버로 구성됩니다. 이 차이로 인해 순수하게 클라이언트 서버 인프라를 디자인하는 태스크에 다음과 같은 문제가 발생할 수 있습니다.

클라이언트와 서버가 다른 엔디안 아키텍처 또는 코드 세트를 사용하는 컴퓨터에서 실행될 수 있습니다.

클라이언트와 서버가 다른 엔디안 아키텍처를 사용하는 컴퓨터에서 상주할 수 있습니다. 클라이언트는 리틀 엔디안 CPU에 상주하지만 서버 코드는 빅엔디안 CPU에서 실행될 수 있습니다. 클라이언트는 클라이언트와 다른 코드 세트에서 실행 중인 서버에서 비즈니스 메소드를 호출하려고 합니다.

클라이언트 서버 인프라는 정밀도 엔디안과 코드 세트 추적 및 변환 규칙을 정의해야 합니다. Java 플랫폼은 모든 문자열 데이터를 USC-2 형식으로 인코딩하고 모두를 빅엔디안 형식으로 구체화하는 자체적인 JVM(Java virtual machine)이라는 고유 방식으로 이런 문제를 거의 해결했습니다. JVM은 기본 플랫폼과 인터페이스할 때 플랫폼 고유 프로그램 세트를 사용합니다. 이 프로그램은 USC-2와 플랫폼의 기본 코드 세트 사이에서 필요한 모든 코드 세트 변환을 수행합니다.

클라이언트와 서버는 다른 로케일 설정의 컴퓨터에서 실행 가능

클라이언트와 서버 프로세스는 다른 로케일 설정을 사용할 수 있습니다. 예를 들어, 스페인어 클라이언트는 미국 영어 서버에 상주하는 오브젝트에서 비즈니스 메소드를 호출할 수 있습니다. 일부 비즈니스 메소드는 기본적으로 로케일에 민감합니다. 예를 들어, 문자열에 대해 정렬된 목록을 리턴하는 비즈니스 메소드인 경우 스페인어 클라이언트는 서버의 영어 조합 순서가 아니라 스페인어의 조합 순서에 따라 정렬된 목록을 예상합니다. 데이터 검색 및 정렬 프로시저가 서버에서 실행되기 때문에 클라이언트의 로케일은 적합한 정렬을 수행하기 위해 사용 가능해야 합니다.

서버가 날짜, 시간, 통화, 예외 메시지 등을 포함하는 문자열을 리턴해야 하는 인스턴스에서도 마찬가지로 이는 클라이언트의 문화적인 기대에 적합하게 형식화되어야 합니다.

클라이언트와 서버는 다른 시간대에 상주할 수 있음

클라이언트와 서버 프로세스는 다른 시간대에서 실행할 수 있습니다. 현재까지 모든 세계화 문서 및 자원은 코드 세트 및 로케일 관련 문제에만 집중되었습니다. 비즈니스 메소드가 시간대와 로케일 모두에 대해 민감할 수 있지만 시간대 문제는 거의 무시했습니다.

예를 들어, 벤더가 오후 2시 이전의 주문은 같은 날 오후 5시까지 처리하도록 요청할 수도 있습니다. 물론 지정되는 시간은 주문을 처리하는 서버의 시간대입니다. 다른 시간대의 고객에게 같은 날 처리를 위한 올바른 시간을 제공하려면 클라이언트의 시간대를 아는 것이 중요합니다.

다른 시간대에 민감한 조작에는 서버에 로깅하는 시간소인이 포함된 메시지 및 파일이나 데이터베이스 자원 액세스가 포함됩니다. 일광절약시간의 개념은 더 복잡한 시간대 관련 문제를 야기합니다.

Java EE(Java Platform, Enterprise Edition)는 다른 엔디언 아키텍처와 코드 세트를 사용하는 컴퓨터에서 실행되는 애플리케이션 컴포넌트를 지원합니다. 다른 로케일이나 시간대가 있는 컴퓨터에서 실행되는 애플리케이션 컴포넌트에 대해서는 전용 지원을 제공하지 않습니다.

원격 애플리케이션 컴포넌트 사이의 로케일 및 시간대 불일치에 대한 관례적인 방법은 클라이언트 측 로케일이나 시간대가 서버에 전달되기 위해 필요한 모든 비즈니스 메소드에서 하나 이상의 추가 매개변수를 전달하는 방법입니다. 단순하지만 이 기술은 EJB(Enterprise JavaBeans) 애플리케이션에서 사용되는 경우 다음과 같은 제한사항이 있습니다.
  • 이는 하나 이상의 매개변수가 호출 체인에서 로케일에 민감하거나 시간대에 민감한 모든 메소드에 대해 모든 Bean 메소드에 추가되어야 하기 때문에 번거롭습니다.
  • 이는 기본적으로 오류가 발생하기 쉽습니다.
  • 레거시 애플리케이션과 같이 수정을 지원하지 않는 애플리케이션에서는 실질성이 없습니다.

국제화 서비스는 기존의 기술을 제한하지 않고 로케일 및 시간대의 불일치 문제를 해결합니다. 서비스는 클라이언트 애플리케이션, 엔터프라이즈 Bean 및 서블릿을 포함하여 EJB 애플리케이션의 다양한 컴포넌트 간 국제화 컨텍스트 분배를 체계적으로 관리합니다. 자세한 정보는 태스크 개요: 국제화 애플리케이션 컴포넌트(국제화 서비스)의 내용을 참조하십시오.


주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cin_main
파일 이름:cin_main.html