지원되고 있는 로케일 - xrath.com 에서 번역됨

#
지원되고 있는 로케일

지원되는 로케일세트는, Java SE (Java Platform Standard Edition)의 구현이나 기능 범위의 차이에 의해 다릅니다.

여기에서는, 다음의 분야에 있어 Sun 의 JDK (Java SE Development Kit) 6 및 JRE (Java SE Runtime Environment) 6 으로 지원되는 로케일에 대해 설명합니다.

1. java.util 및 java.text 기능으로 유효한 로케일
2. Java Foundation Class (JFC)로 유효한 서기 체계
   1. 개요
   2. 텍스트 입력
   3. 텍스트의 렌더링
   4. 드래그＆드롭
3. 사용자 인터페이스의 번역

Sun 의 Java SE Runtime Environment 6 의 Windows 판은, 완전한 국제판과 유럽 언어판의 어느 쪽의 버젼에서도 인스톨 할 수가 있습니다. JRE 의 인스톨 프로그램은, 호스트 operating system가 유럽 언어만을 지원하고 있는 것을 식별하면(자), 디폴트로 유럽 언어판을 인스톨 합니다. 인스톨 프로그램이 다른 언어의 필요성을 식별했을 경우, 또는 커스터마이즈 된 인스톨로 사용자가 유럽 언어 이외의 지원를 요구했을 경우는, 완전한 국제화판이 인스톨 됩니다. Solaris 및 Linux 판의 JRE 와 모든 플랫폼판의 JDK 에서는, 완전한 국제화판이 항상 인스톨 됩니다.

## 1. java.util 및 java.text 기능으로 유효한 로케일

java.util 및 java.text 패키지에서의 로케일에 의존하는 동작의 지원는, 거의 완전하게 플랫폼으로부터 독립하고 있습니다. 그 때문에, 모든 로케일은, 호스트의 operating system와 그 지역에는 의존하지 않고, 같은 방법으로 동시에 지원됩니다. 플랫폼에 의존하고 있는 유일한 기능은, 호스트 operating system의 로케일과 타임 존에 근거한, 최초의 디폴트의 로케일 및 최초의 디폴트의 타임 존의 설정입니다.

Sun 의 Java SE Development Kit 6 으로 국제화판의 Java SE Runtime Environment 6 은, 다음에 나타내는 로케일을 모두 지원하고 있습니다. 유럽 언어판의 Java SE Runtime Environment 6 은, 다음의 언어에 대응하는 로케일을 모두 지원하고 있습니다. 알바니아어, 베로르시아어, 불가리아어, 카타로니아어, 크로아티아어, 체코어, 덴마크어, 네델란드어, 영어, 에스토니아어, 핀란드어, 프랑스어, 독일어, 희랍어, 헝가리어, 아이슬랜드어, 인도네시아어, 이탈리아어, 라트비아어, 리투아니아어, 마케도니아어, 말레이어, 몰타어, 노르웨이어, 폴란드어, 포르투갈어, 루마니아어, 러시아어, 세르비아어 (키릴), 슬로바키아어, 슬로베니아어, 스페인어, 스웨덴어, 터키어, 우크라이나어.

#### 지원되고 있는 로케일

언어 | 국 | 로케일 ID
--- | --- | ---
알바니아어 | 알바니아 | sq_AL
아라비아어 | 알제리아 | ar_DZ
아라비아어 | 바레인 | ar_BH
아라비아어 | 이집트 | ar_EG
아라비아어 | 이라크 | ar_IQ
아라비아어 | 요르단 | ar_JO
아라비아어 | 쿠웨이트 | ar_KW
아라비아어 | 레바논 | ar_LB
아라비아어 | 리비아 | ar_LY
아라비아어 | 모로코 | ar_MA
아라비아어 | 오만 | ar_OM
아라비아어 | 카타르 | ar_QA
아라비아어 | 사우디아라비아 | ar_SA
아라비아어 | 수단 | ar_SD
아라비아어 | 시리아 | ar_SY
아라비아어 | 튀니지 | ar_TN
아라비아어 | 아랍 수장국 연방 | ar_AE
아라비아어 | 예멘 | ar_YE
베로르시아어 | 베로르시아 | be_BY
불가리아어 | 불가리아 | bg_BG
카타로니아어 | 스페인 | ca_ES
중국어 (중공에서 정식으로 쓰는 약자체� | 중국 | zh_CN
중국어 (중공에서 정식으로 쓰는 약자체� | 싱가폴 | zh_SG(*)
중국어 (번체자) | 홍콩 | zh_HK
중국어 (번체자) | 대만 | zh_TW
크로아티아어 | 크로아티아 | hr_HR
체코어 | 체코 공화국 | cs_CZ
덴마크어 | 덴마크 | da_DK
네델란드어 | 벨기에 | nl_BE
네델란드어 | 네델란드 | nl_NL
영어 | 오스트레일리아 | en_AU
영어 | 캐나다 | en_CA
영어 | 인도 | en_IN
영어 | 아일랜드 | en_IE
영어 | 몰타 | en_MT(*)
영어 | 뉴질랜드 | en_NZ
영어 | 필리핀 | en_PH(*)
영어 | 싱가폴 | en_SG(*)
영어 | 남아프리카 | en_ZA
영어 | 영국 | en_GB
영어 | 미국 | en_US
에스토니아어 | 에스토니아 | et_EE
핀란드어 | 핀란드 | fi_FI
프랑스어 | 벨기에 | fr_BE
프랑스어 | 캐나다 | fr_CA
프랑스어 | 프랑스 | fr_FR
프랑스어 | 룩셈부르크 | fr_LU
프랑스어 | 스위스 | fr_CH
독일어 | 오스트리아 | de_AT
독일어 | 독일 | de_DE
독일어 | 룩셈부르크 | de_LU
독일어 | 스위스 | de_CH
희랍어 | 사이프러스 | el_CY(*)
희랍어 | 그리스 | el_GR
헤브라이어 | 이스라엘 | iw_IL
힌디어 | 인도 | hi_IN
헝가리어 | 헝가리 | hu_HU
아이슬랜드어 | 아이슬랜드 | is_IS
인도네시아어 | 인도네시아 | in_ID(*)
아일랜드어 | 아일랜드 | ga_IE(*)
이탈리아어 | 이탈리아 | it_IT
이탈리아어 | 스위스 | it_CH
일본어 (태양력) | 일본 | ja_JP
일본어 (일본이 달력) | 일본 | ja_JP_JP
한국어 | 한국 | ko_KR
라트비아어 | 라트비아 | lv_LV
리투아니아어 | 리투아니아 | lt_LT
마케도니아어 | 마케도니아 | mk_MK
말레이어 | 말레이지아 | ms_MY(*)
몰타어 | 몰타 | mt_MT(*)
노르웨이어 (보크 몰 å) | 노르웨이 | no_NO
노르웨이어 (니노스크) | 노르웨이 | no_NO_NY
폴란드어 | 폴란드 | pl_PL
포르투갈어 | 브라질 | pt_BR(*)
포르투갈어 | 포르투갈 | pt_PT(*)
루마니아어 | 루마니아 | ro_RO
러시아어 | 러시아 | ru_RU
세르비아어 (키릴) | 보스니아 - 헤르트고비나 | sr_BA(*)
세르비아어 (키릴) | 세르비아 - 몬테네그로 | sr_CS(*)
슬로바키아어 | 슬로바키아 | sk_SK
슬로베니아어 | 슬로베니아 | sl_SI
스페인어 | 아르헨티나 | es_AR
스페인어 | 볼리비아 | es_BO
스페인어 | 칠레 | es_CL
스페인어 | 콜롬비아 | es_CO
스페인어 | 코스타리카 | es_CR
스페인어 | 도미니카 공화국 | es_DO
스페인어 | 에콰도르 | es_EC
스페인어 | 엘살바도르 | es_SV
스페인어 | 과테말라 | es_GT
스페인어 | 온두라스 | es_HN
스페인어 | 멕시코 | es_MX
스페인어 | 니카라과 | es_NI
스페인어 | 파나마 | es_PA
스페인어 | 파라과이 | es_PY
스페인어 | 페루 | es_PE
스페인어 | 푸에르 토르코 | es_PR
스페인어 | 스페인 | es_ES
스페인어 | 미국 | es_US(*)
스페인어 | 우루과이 | es_UY
스페인어 | 베네주엘라 | es_VE
스웨덴어 | 스웨덴 | sv_SE
타이어 (서양 숫자) | 타이 | th_TH
타이어 (타이어 숫자) | 타이 | th_TH_TH
터키어 | 터키 | tr_TR
우크라이나어 | 우크라이나 | uk_UA
베트남어 | 베트남 | vi_VN

(*) 이러한 로케일에 관한 데이터는, Unicode Consortium 의 Common Locale Data Repository 릴리스 1.4 로부터 그대로 발췌한 것입니다.

## 2. Java Foundation Class (JFC)로 유효한 서기법

### 2.1 개요

Java Foundation Classes (AWT, Swing, 2 D, Input Method Framework, 드래그＆드롭)의 경우는, 일반적으로, 로케일은 서기 체계에 의해서만 특징지울 수 있어 나라나 언어에 의한 특별한 차이는 없습니다. JFC 내의 서기 체계의 지원는, 호스트 operating system에 있는 정도 의존하고 있어, 복수 언어의 동시 사용은, 항상 완전하게 지원된다고는 할 수 없습니다.

여기에서는, 어느 서기 체계에 대해서, JFC 에 의한 모든 기능이 다음의 상황으로 적절히 동작하는 경우에, 그 서기 체계가 JFC 로 지원되고 있으면(자) 간주합니다.

- Windows 98 의 경우, 그 서기법을 사용하는 언어에 의해 로컬라이즈 된 Windows 시스템으로 실행될 때.
- Windows 2000, XP, 및 2003 의 경우, 사용자 로케일 및 시스템 로케일의 양쪽 모두가 그 서기법을 사용하는 언어로 설정된 Windows 시스템으로 실행될 때
- Solaris 및 Linux 의 경우, 그 서기 체계를 사용하는 언어, 및 아래의 겉(표)에 나타나고 있는, 그 서기 체계의 인코딩의 1 개로 설정된 로케일을 사용해, 호스트 operating system로 실행될 때

Sun 의 Java SE Development Kit 6 으로 국제화판의 Java SE Runtime Environment 6 은, 다음에 나타내는 서기법을 모두 지원하고 있습니다. 유럽 언어판의 Java SE Runtime Environment 6 은, 키릴, 희랍어, 및 라틴의 서기법만을 지원하고 있습니다. 피어 AWT 컴퍼넌트는, 서기 체계의 부분집합 에 대해서만 지원됩니다. 겉(표)의 우단의 열을 참조해 주세요.

기능의 각각의 범위에 대해서는, 후의 각 항에서 자세하게 설명합니다.

#### 지원되는 서기법

서기 체계 | 언어 | Windows 인코딩 | Solaris 인코딩 | Linux 인코딩 | 피어 AWT 컴퍼넌트
--- | --- | --- | --- | --- | ---
아라비아어 | 아라비아어 | 1256 | 8859-6, UTF-8 | UTF-8(4) | 비지원
중국어 (중공에서 정식으로 쓰는 약자체� | 중국어 | 936, GB18030 | gb2312, UTF-8, GBK, gb18030 | GB2312(2) , GB18030(3) (5) , UTF-8(4) (5) (7) | 지원
중국어 (번체자) | 중국어 | 950, HKSCS | cns11643, UTF-8, BIG5, BIG5HK | Big5(2) (3) , UTF-8(4) (5) | 지원
키릴 | 베로르시아어, 러시아어 등 | 1251 | 8859-5, KOI8-R, UTF-8 | 비지원 | 지원
데이 배너 개리 | 힌디어 | UTF-8 | UTF-8 | 비지원 | 비지원
희랍어 | 희랍어 | 1253 | 8859-7 | 비지원 | 지원
헤브라이어 | 헤브라이어 | 1255 | 8859-8 | UTF-8(4) | 비지원
일본어 | 일본어 | 932 | eucJP(1) , UTF-8, PCK | eucJP(1) (2) (3) , UTF-8(4) (5) (7) | 지원
한국어 | 한국어 | 949 | 5601, UTF-8 | EUC-KR(2) (3) , UTF-8(4) (5) | 지원
라틴 - 발트 어파의 부분집합 | 라트비아어, 리투아니아어 | 1257 | 8859-13 | 비지원 | 지원
라틴 - 중부 유럽 어파 부분집합 | 체코어, 헝가리어, 폴란드어 등 | 1250 | 8859-2, UTF-8 | 비지원 | 지원
라틴 - 몰타 어파 부분집합 | 몰타어 | UTF-8 | UTF-8 | 비지원 | 지원
라틴 - 터키 어파 부분집합 | 터키어 등 | 1254 | 8859-9, UTF-8 | 비지원 | 지원
라틴 - 서구 어파 부분집합 | 영어, 프랑스어, 독일어, 이탈리아어, 스페인어, 스웨덴어 등 | 1252 | 8859-1, 8859-15, UTF-8 | ISO-8859-1(2) , UTF-8(3) (4) (5) (6) , | 지원
타이어 | 타이어 | 874 | TIS620. 2533, UTF-8 | 비지원 | 비지원

(1) Solaris 상의 eucJP 는 JIS 캐릭터 세트의 X 0201, X 0208, 및 X 0212 를 지원해, Linux 상의 eucJP 는 X 0201 으로 X 0208 만을 지원한다. (2) Red Hat Enterprise Linux AS 2.1 상에서 지원한다
(3) Red Hat Enterprise Linux 3 AS, ES, WS 상에서 지원한다.
(4) Red Hat Enterprise Linux 4 AS, ES, WS 상에서 지원한다.
(5) Sun Java Desktop System 릴리스 3 상에서 지원한다
(6) SuSE Linux 10, SuSE Linux Enterprise Server 9 상에서 지원한다.
(7) Turbolinux 10 Desktop 상에서 지원한다

### 2.2 텍스트 입력

텍스트 입력에 대한 지원는, 키보드 배열의 해석과 입력 메소드를 사용한 텍스트 변환의, 2 개의 부분으로부터 구성됩니다. Java SE 에서는, 키보드 배열의 해석은, 호스트 operating system에 전면적으로 의존하고 있습니다. 입력 메소드를 사용한 텍스트 변환에 대해서는, Java SE 에서는, Java 프로그램 언어로 개발된 입력 메소드 외에, 호스트 operating system의 입력 메소드 매니저를 사용한, 네이티브 입력 메소드도 지원됩니다.

Java 프로그램 언어에 의해 구현된 입력 메소드에 의한 로케일의 지원는, 인스톨 되고 있는 입력 메소드세트에게만 의존해, 호스트 operating system와 그 로컬라이제이션에는 의존하지 않습니다. 다만, Java 프로그램 언어에 의해 구현된 입력 메소드를 피어 컴퍼넌트로 사용하는 경우의 지원는, 이하와 같이, 그 구현 방법으로 의존합니다.

키보드 배열과 네이티브 입력 메소드의 지원는, 플랫폼에 따라서 다릅니다.

#### Windows

Windows 98 에서는, JRE 는, 모든 키보드 배열과 특정 로컬라이즈판의 호스트 operating system에 인스톨 가능한, IMM 베이스의 입력 메소드의 사용을 지원합니다.

Windows 2000, XP, 및 2003 에서는, JRE 는, 모든 키보드 배열과 IMM 베이스의 입력 메소드의 사용을 지원합니다.

글로벌 IME 는 지원되지 않습니다.

Java 프로그램 언어에 구현된 입력 메소드는, Windows 의 모든 버젼의 모든 컴퍼넌트로 지원됩니다.

#### Solaris 및 Linux

JRE 는, 모든 키보드 배열과 특정의 Solaris 또는 Linux 로케일로 사용 가능한 입력 메소드의 사용을 지원합니다.

Java 프로그램 언어에 구현된 입력 메소드는, Swing 텍스트 컴퍼넌트등의 경량 컴퍼넌트로 지원됩니다만, AWT 텍스트 컴퍼넌트등의 피어 컴퍼넌트에서는 지원되지 않습니다.

### 2.3 텍스트의 렌더링

어플리케이션에는, 폰트를 선택하는 2 개의 옵션이 있습니다.

- 논리 폰트명의 Serif, SansSerif, Dialog, DialogInput, 및 Monospaced 의 사용
- 물리 폰트의 사용 (이름을 지정해 요구하는지,`Font.createFont` 메소드로 인스턴스를 생성한다)

#### 경량 컴퍼넌트내에서의 텍스트의 렌더링

논리 폰트명을 사용하는 경우는, 적어도, 호스트의 로케일의 서기 체계라고 라틴 서기 체계의 서구 어파 부분집합에 의한 텍스트가 지원됩니다.

물리 폰트를 사용하는 경우는, 단순 서기 체계와 복잡 서기 체계를 구별할 필요가 있습니다. 단순 서기 체계에서는 문자와 Glyph가 1 대 1 으로 대응해, 각 Glyph는 baseline상에 왼쪽에서 오른쪽으로 연속해 배치되고 있습니다. 복잡 서기법에서는, 같은 문자에서도 문맥에 따라서 다른 Glyph가 사용되거나 합자가 사용되거나 금방 다른 곳으로라고 쓰여지는 경우가 있습니다. 또, 행의 레이아웃중에 재배치되거나 결합 기호등에 의해, Glyph의 배치에 다른 규칙이 적용되는 일도 있습니다.

2D 의 텍스트 렌더링 시스템에서는,위의 겉(표)에 일람표 나타나고 있는 단순 서기 체계와 복잡 서기 체계의 어떠한 편성에서도 지원됩니다. 이러한 제한내로는, 지원되는 서기 체계의 범위는 폰트에 의해 정해집니다. 1 개의 TrueType 폰트로, Unicode 전체에 대응하는 Glyph와 Unicode 베이스의 문자로부터 Glyph에의 1 개의 매핑 정보를 제공할 수 있습니다. 이러한 폰트에 의해, 2D 에서는 모든 단순 서기 체계외, 복잡 서기 체계도 지원할 수 있습니다. 그 외의 복잡 서기 체계는 지원되지 않습니다.

#### 피어 컴퍼넌트내에서의 텍스트의 렌더링

논리 폰트명을 사용하는 경우는, 적어도, 호스트 operating system의 로케일의 서기법에 따르는 텍스트가 지원됩니다.

피어 컴퍼넌트에서는, 물리 폰트는 지원되지 않습니다.

#### 인쇄시의 텍스트의 렌더링

인쇄 API 에는, 다음의 3 개가 있습니다.

- java.awt.print.PrinterJob.getPrinterJob 메소드를 사용하는 2D 인쇄 API
- java.awt.Toolkit.getPrintJob 메소드를 사용하는 AWT 인쇄 API
- javax.print 패키지를 사용하는, 플러그 가능 서비스의 인쇄 API

AWT 및 2D 의 인쇄 API 를 사용한 텍스트 렌더링은, 화면상의 텍스트 렌더링과 동등의 기능입니다. 플러그 인 기능 서비스의 인쇄 API 를 사용한 텍스트 렌더링은, 사용하는 인쇄 서비스에 따라서 다릅니다. JRE 에 의해 제공되는 서비스는, 화면상의 텍스트 렌더링과 동등의 기능입니다.

### 2.4 드래그＆드롭

Windows 98 의 경우, 호스트 operating system의 로컬라이즈 된 서기법에 따르는 텍스트는, 어플리케이션간에 전송 할 수 있습니다.

Windows 2000, XP, 및 2003 의 경우, 모든 Unicode 캐릭터 세트를 사용한 텍스트를 어플리케이션간에 전송 할 수 있습니다.

Solaris 및 Linux 의 경우, 호스트 operating system의 로케일의 문자 인코딩에 의한 텍스트를 어플리케이션간에 전송 할 수 있습니다.

호스트 operating system로부터 독립한 임의의 텍스트를 전송 할 필요가 있는 어플리케이션에서는, 직렬화를 사용해 텍스트를 전송 합니다. 거기에는, DataFlavor.stringFlavor 후레이바만을 지원하는 Transferable 를 작성합니다. 이 후레이바는, String 의 직렬화 표현을 나타냅니다. 전송처에서도 stringFlavor 가 지원되고 있는 것을 확인해 주세요. 전송시에, AWT 는 전송원으로 String 를 직렬화해, 전송처에서 직렬화를 해제합니다. 이 동작은 네이티브 플랫폼의 텍스트 전송보다 꽤 저속입니다만, 네이티브의 전송을 이용할 수 없는 경우에 유효합니다.

## 3. 사용자 인터페이스의 번역

#### Java SE Runtime Environment

Java SE Runtime Environment 6 으로 제공되는 사용자 인터페이스 요소에는, Swing 다이얼로그나, 실행 환경에 의해 표준 출력 스트림과 표준 에러 스트림에 써내지는 메세지외, JRE 의 부속 툴에 의해 생성되는 메세지도 포함됩니다. 사용자 인터페이스 요소는 다음의 언어에 로컬라이즈 됩니다.

언어 | 로케일 ID
--- | ---
중국어 (중공에서 정식으로 쓰는 약자체� | zh_CN
중국어 (번체자) | zh_TW
영어 | en
프랑스어 | fr
독일어 | de
이탈리아어 | it
일본어 | ja
한국어 | ko
스페인어 | es
스웨덴어 | sv

#### Java SE Development Kit

Java SE Development Kit 6 으로 제공되는 사용자 인터페이스 요소에는, JRE 로 제공되는 요소에 가세해, JDK 전용 툴에 의해 생성되는 메세지도 포함됩니다. 추가의 사용자 인터페이스 요소는, 이하의 언어에 로컬라이즈 됩니다.

언어 | 로케일 ID
--- | ---
중국어 (중공에서 정식으로 쓰는 약자체� | zh_CN
영어 | en
일본어 | ja

Copyright © 2004 Sun Microsystems, Inc. All Rights Reserved. 피드백 | Java Software