Share via


Locale 클래스

정의

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

[Android.Runtime.Register("java/util/Locale", DoNotGenerateAcw=true)]
public sealed class Locale : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/Locale", DoNotGenerateAcw=true)>]
type Locale = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
상속
Locale
특성
구현

설명

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다. 작업을 수행 해야 Locale 하는 작업은 em>로캘 구분</em> 이라고 <하 고 사용 하 여 Locale 사용자에 대 한 정보를 맞춤화 합니다. 예를 들어 숫자를 표시하는 것은 mdash에&로캘을 구분하는 작업입니다. 번호는 사용자의 모국, 지역 또는 문화권의 세관 및 규칙에 따라 형식이 지정되어야 합니다.

클래스는 Locale LDML(UTS#35, "유니코드 로캘 데이터 태그 언어") BCP 47 호환 확장을 지원하는 RFC 4647 "언어 태그 일치"RFC 5646 "언어 식별 태그"로 구성된 IETF BCP 47을 구현합니다.

개체는 Locale 논리적으로 아래에 설명된 필드로 구성됩니다.

<dl><dt>"def_language"><b>language</b></dt>

<dd>ISO 639 alpha-2 또는 alpha-3 언어 코드 또는 등록된 언어 하위 태그는 최대 8개의 알파 문자(향후 향상된 기능을 위해)입니다. 언어에 alpha-2 코드와 alpha-3 코드가 모두 있는 경우 alpha-2 코드를 사용해야 합니다. IANA 언어 하위 태그 레지스트리에서 유효한 언어 코드의 전체 목록을 찾을 수 있습니다("형식: 언어"를 검색). 언어 필드는 대/소문자를 구분하지 않지만 Locale 항상 소문자로 정식화됩니다.</Dd>

<dd>올바른 형식의 언어 값에는 형식 [a-zA-Z]{2,8}이 있습니다. 이 언어는 extlang을 제외하므로 전체 BCP47 언어 프로덕션이 아닙니다. 최신 세 글자 언어 코드가 대체되므로 필요하지 않습니다.</Dd>

<dd>예제: "en"(영어), "ja"(일본어), "kok"(Konkani)</dd>

<dt>"def_script"><b>script</b></dt>

<dd>ISO 15924 alpha-4 스크립트 코드. IANA 언어 하위 태그 레지스트리에서 유효한 스크립트 코드의 전체 목록을 찾을 수 있습니다("Type: script"를 검색). 스크립트 필드는 대/소문자를 구분하지 않지만 Locale 항상 제목 대/소문자로 정규화됩니다(첫 번째 문자는 대문자이고 나머지 문자는 소문자임).</Dd>

<dd>올바른 형식의 스크립트 값에는 /dd 형식 [a-zA-Z]{4}<이 있습니다.>

<dd>예제: "Latn"(라틴 문자), "Cyrl"(키릴 자모)</dd>

<dt>"def_region"><b>country(지역)</b></dt>

<dd>ISO 3166 alpha-2 국가 코드 또는 UN M.49 numeric-3 지역 코드입니다. IANA 언어 하위 태그 레지스트리에서 유효한 국가 및 지역 코드의 전체 목록을 찾을 수 있습니다("유형: 지역"을 검색). 국가(지역) 필드는 대/소문자를 구분하지 않지만 Locale 항상 대문자로 정식화됩니다.</Dd>

<dd>잘 구성된 국가/지역 값에는 /dd 형식 [a-zA-Z]{2} | [0-9]{3}<이 있습니다.>

<dd>예제: "US"(미국), "FR"(프랑스), "029"(카리브해)</dd>

<dt>"def_variant"><b>variant</b></dt>

<dd>의 변형을 나타내는 데 사용되는 임의의 값입니다 Locale. 각각 고유한 의미 체계를 나타내는 두 개 이상의 변형 값이 있는 경우 이러한 값은 중요도에 따라 순서를 지정해야 하며, 가장 중요한 값은 먼저 밑줄('_')로 구분됩니다. 변형 필드는 대/소문자를 구분합니다.</Dd>

<dd>참고: IETF BCP 47은 변형 하위 태그에 구문 제한을 적용합니다. 또한 BCP 47 하위 태그는 언어, 스크립트 및 지역 하위 태그의 조합으로 다루지 않는 언어 또는 언어를 정의하는 추가 변형을 나타내는 데 엄격하게 사용됩니다. IANA 언어 하위 태그 레지스트리에서 유효한 변형 코드의 전체 목록을 찾을 수 있습니다("Type: variant"를 검색).

그러나 의 변형 필드는 Locale 지금까지 언어 변형뿐만 아니라 모든 종류의 변형에 사용되었습니다. 예를 들어 Java SE 런타임 환경에서 사용할 수 있는 지원되는 일부 변형은 달력 유형 또는 숫자 스크립트와 같은 대체 문화권 동작을 나타냅니다. BCP 47에서 언어를 식별하지 않는 이러한 종류의 정보는 확장 하위 태그 또는 프라이빗 사용 하위 태그에서 지원됩니다.</Dd>

<dd>잘 구성된 변형 값에는 형식 SUBTAG (('_'|'-') SUBTAG)* 이 있습니다. 여기서 SUBTAG = [0-9][0-9a-zA-Z]{3} | [0-9a-zA-Z]{5,8}입니다. (참고: BCP 47은 하이픈('-')만 구분 기호로 사용합니다. 더 관대합니다.<)/Dd>

<dd>예제: "polyton"(Polytonic Greek), "POSIX"</dd>

<dt>"def_extensions"><b>extensions</b></dt>

<dd>단일 문자 키에서 문자열 값으로 매핑되며 언어 식별과는 별도로 확장을 나타냅니다. 의 Locale 확장은 BCP 47 확장 하위 태그 및 프라이빗 사용 하위 태그의 의미 체계 및 구문을 구현합니다. 확장은 대/소문자를 구분하지 않지만 Locale 모든 확장 키와 값을 소문자로 정식화합니다. 확장에는 빈 값이 있을 수 없습니다.</Dd>

<dd>올바른 형식의 키는 집합 [0-9a-zA-Z]의 단일 문자입니다. 올바른 형식의 값에는 키 'x' SUBTAG = [0-9a-zA-Z]{1,8} 와 다른 키 SUBTAG = [0-9a-zA-Z]{2,8} (즉, 'x'는 단일 문자 하위 태그를 허용)에 대한 형식 SUBTAG ('-' SUBTAG)* 이 있습니다.</Dd>

<dd>예제: key="u"/value="ca-japanese"(일본어 달력), key="x"/value="java-1-7"</dd></dl>

<b>참고:</b> BCP 47에서는 필드 값을 IANA 언어 하위 태그 레지스트리 Locale 에 등록해야 하지만 클래스는 유효성 검사 기능을 제공하지 않습니다. 은 Builder 개별 필드가 구문 요구 사항(올바른 형식)을 충족하는지 확인하지만 값 자체의 유효성을 검사하지는 않습니다. 자세한 내용은 Builder를 참조하세요.

<h3>"def_locale_extension">유니코드 로캘/언어 확장</h3>

UTS#35, "유니코드 로캘 데이터 태그 언어"는 로캘과 연결된 기본 동작을 재정의하거나 구체화하기 위한 선택적 특성 및 키워드를 정의합니다. 키워드(keyword) 키와 형식 쌍으로 표시됩니다. 예를 들어 "nu-thai"는 태국어 로컬 숫자(value:"thai")를 숫자 서식 지정(key:"nu")에 사용해야 했음을 나타냅니다.

키워드는 확장 키 'u'(#UNICODE_LOCALE_EXTENSION)를 사용하여 BCP 47 확장 값에 매핑됩니다. 위의 예제인 "nu-thai"는 확장 "u-nu-thai"가 됩니다.

따라서 개체에 Locale 유니코드 로캘 특성 및 키워드 getExtension(UNICODE_LOCALE_EXTENSION) 가 포함된 경우 는 이 정보를 나타내는 String(예: "nu-thai")을 반환합니다. 클래스는 Locale 유니코드 로캘 특성 및 #getUnicodeLocaleType 키/형식 쌍에 직접 액세스할 수 있는 , #getUnicodeLocaleKeys및 를 제공합니다#getUnicodeLocaleAttributes. 문자열로 표현되는 경우 유니코드 로캘 확장은 사전순으로 특성을 나열한 다음, 키가 사전순으로 나열된 키/형식 시퀀스를 나열합니다(키의 형식을 구성하는 하위 태그의 순서는 형식이 정의될 때 수정됨).

올바른 형식의 로캘 키에는 형식 [0-9a-zA-Z]{2}이 있습니다. 올바른 형식의 로캘 형식에는 형식 "" | [0-9a-zA-Z]{3,8} ('-' [0-9a-zA-Z]{3,8})* 이 있습니다(비어 있거나 일련의 하위 태그 3-8 영숫자 길이일 수 있음). 올바른 형식의 로캘 특성에는 양식 [0-9a-zA-Z]{3,8} 이 있습니다(로캘 형식 하위 태그와 동일한 형식의 단일 하위 태그임).

유니코드 로캘 확장은 로캘에 민감한 서비스에서 선택적 동작을 지정합니다. LDML 사양은 다양한 키와 값을 정의하지만 Java 런타임 환경의 실제 로캘에 민감한 서비스 구현은 특정 유니코드 로캘 특성 또는 키/형식 쌍을 지원하지 않을 수 있습니다.

<h4>로캘< 만들기/h4>

개체를 만드는 방법에는 여러 가지가 있습니다 Locale .

<h5>Builder</h5>

를 사용하여 Builder BCP 47 구문을 준수하는 개체를 생성 Locale 할 수 있습니다.

<h5>생성자</h5>

클래스는 Locale blockquote의 세 가지 <생성자를 제공합니다.>

{@link #Locale(String language)}
                {@link #Locale(String language, String country)}
                {@link #Locale(String language, String country, String variant)}

</blockquote> 이러한 생성자를 사용하면 언어, 국가 및 변형을 사용하여 개체를 Locale 만들 수 있지만 스크립트 또는 확장을 지정할 수는 없습니다.

<h5>팩터리 메서드</h5>

메서드 #forLanguageTag 는 잘 구성된 BCP 47 언어 태그에 대한 개체를 만듭니다 Locale .

<h5>로캘 상수</h5>

클래스는 Locale 일반적으로 사용되는 로캘에 대한 개체를 만드는 Locale 데 사용할 수 있는 다양한 편리한 상수를 제공합니다. 예를 들어 다음에서는 미국 <대한 개체를 Locale 만듭니다. blockquote>

Locale.US

</인용구>

<h4>"LocaleMatching">로캘 일치</h4>

애플리케이션 또는 시스템이 국제화되고 여러 로캘에 대해 지역화된 리소스를 제공하는 경우 각 사용자의 특정 기본 설정을 충족하는 하나 이상의 로캘(또는 언어 태그)을 찾아야 하는 경우가 있습니다. "언어 태그"라는 용어는 이 로캘 일치 설명서의 "로캘"과 서로 바꿔서 사용됩니다.

사용자가 선호하는 로캘을 언어 태그 집합과 일치시키기 위해 RFC 4647 언어 태그 일치 는 필터링 및 조회라는 두 가지 메커니즘을 정의합니다. <em>Filtering</em>은 일치하는 모든 로캘을 가져오는 데 사용되지만>< em lookup</em>은 가장 일치하는 로캘을 선택하는 것입니다. 일치는 대/소문자를 구분하지 않습니다. 이러한 일치 메커니즘은 다음 섹션에 설명되어 있습니다.

사용자의 기본 설정은 em>언어 우선 순위 목록</em>이라고 <하며 언어 범위 목록으로 표현됩니다. 구문적으로 두 가지 유형의 언어 범위, 즉 기본 및 확장이 있습니다. 자세한 내용은 Locale.LanguageRange Locale.LanguageRange를 참조하세요.

<h5>필터링</h5>

필터링 작업은 일치하는 모든 언어 태그를 반환합니다. RFC 4647에서 다음과 같이 정의됩니다. "필터링에서 각 언어 범위는 허용 가능한 일치 항목인 최소 특정 언어 태그(즉, 하위 태그 수가 가장 적은 언어 태그)를 나타냅니다. 일치하는 태그 집합의 모든 언어 태그는 언어 범위보다 같거나 더 많은 수의 하위 태그를 갖습니다. 언어 범위의 모든 비 와일드카드 하위 태그는 일치하는 언어 태그마다 표시됩니다."

필터링에는 기본 언어 범위 필터링("기본 필터링"이라고 함) 및 확장 언어 범위에 대한 필터링("확장 필터링"이라고 함)의 두 가지 유형이 있습니다. 지정된 언어 우선 순위 목록에 포함된 언어 범위 종류에 따라 다른 결과를 반환할 수 있습니다. Locale.FilteringMode 는 필터링을 수행하는 방법을 지정하는 매개 변수입니다.

<h5>Lookup</h5>

조회 작업은 가장 일치하는 언어 태그를 반환합니다. RFC 4647에서 다음과 같이 정의됩니다. "필터링과 달리 각 언어 범위는 허용되는 일치 항목인 가장 구체적인 태그를 나타냅니다. 사용자의 우선 순위에 따라 발견된 첫 번째 일치 태그는 가장 가까운 일치 항목으로 간주되며 반환되는 항목입니다."

예를 들어 언어 우선 순위 목록이 두 언어 범위와 "zh-Hant-TW""en-US"로 구성된 경우 우선 순위가 지정된 순서로 조회 메서드는 일치하는 언어 태그를 찾기 위해 아래의 언어 태그를 점진적으로 검색합니다. <인용구>

1. zh-Hant-TW
               2. zh-Hant
               3. zh
               4. en-US
               5. en

</blockquote> 위의 언어 범위와 완전히 일치하는 언어 태그가 있는 경우 언어 태그가 반환됩니다.

"*" 는 특수 언어 범위이며 조회에서 무시됩니다.

여러 언어 태그가 언어 범위에 포함된 하위 태그 '*' 의 결과로 일치하는 경우 언어 태그를 통해 Collection 에서 반환된 Iterator 첫 번째 일치 언어 태그는 가장 일치하는 언어 태그로 처리됩니다.

<h4>로캘< 사용/h4>

를 만든 Locale 후에는 자체에 대한 정보를 쿼리할 수 있습니다. 국가(또는 지역) 코드를 가져와서 언어 코드를 getLanguage 가져오는 데 사용합니다getCountry. 를 사용하여 getDisplayCountry 사용자에게 표시하기에 적합한 국가의 이름을 가져올 수 있습니다. 마찬가지로 를 사용하여 getDisplayLanguage 사용자에게 표시하는 데 적합한 언어의 이름을 가져올 수 있습니다. 흥미롭게 getDisplayXXX 도 메서드 자체는 로캘에 민감하며 기본 Locale.Category#DISPLAY DISPLAY 로캘을 사용하는 버전과 인수로 지정된 로캘을 사용하는 두 가지 버전이 있습니다.

Java 플랫폼은 로캘에 민감한 작업을 수행하는 여러 클래스를 제공합니다. 예를 들어 클래스는 NumberFormat 로캘을 구분하는 방식으로 숫자, 통화 및 백분율의 서식을 지정합니다. 와 같은 NumberFormat 클래스에는 해당 형식의 기본 개체를 만들기 위한 몇 가지 편리한 메서드가 있습니다. 예를 들어 클래스는 NumberFormat 기본 NumberFormat 개체를 만들기 위한 세 가지 <편의 메서드인 blockquote를 제공합니다.>

NumberFormat.getInstance()
                NumberFormat.getCurrencyInstance()
                NumberFormat.getPercentInstance()

</blockquote> 이러한 메서드 각각에는 두 가지 변형이 있습니다. 하나는 명시적 로캘이 있고 다른 하나는 없는 변형입니다. 후자는 기본 Locale.Category#FORMAT FORMAT 로캘인 <blockquote를 사용합니다.>

NumberFormat.getInstance(myLocale)
                NumberFormat.getCurrencyInstance(myLocale)
                NumberFormat.getPercentInstance(myLocale)

</blockquote> A Locale 는 가져올 개체(NumberFormat)의 종류를 식별하는 메커니즘입니다. 로캘은 <STRONG>just</STRONG> 개체를 식별하는 메커니즘이며, <STRONG>not</STRONG> 개체 자체에 대한 컨테이너입니다.

<h4>호환성</h4>

기존 사용량과의 호환성을 유지하기 위해 로캘의 생성자는 Java 런타임 환경 버전 1.7 이전의 동작을 유지합니다. 메서드의 경우도 toString 마찬가지입니다. 따라서 로캘 개체는 그대로 계속 사용할 수 있습니다. 특히 toString의 출력을 언어, 국가 및 변형 필드로 구문 분석하는 클라이언트는 스크립트 또는 확장이 있는 경우 변형 필드에 추가 정보가 있지만 계속 그렇게 할 수 있습니다(매우 권장되지는 않음).

또한 BCP 47은 로캘 생성자에 의해 부과되지 않는 구문 제한을 적용합니다. 즉, 일부 로캘과 BCP 47 언어 태그 간의 변환은 정보를 손실하지 않고는 수행할 수 없습니다. 따라서 toLanguageTag 언어, 국가 또는 변형이 BCP 47을 준수하지 않는 로캘의 상태를 나타낼 수 없습니다.

이러한 문제로 인해 클라이언트는 비준수 로캘을 생성하지 않고 대신 및 Locale.Builder API를 forLanguageTag 사용하는 것이 좋습니다. 전체 로캘의 문자열 표현을 바라는 클라이언트는 항상 이 목적을 위해 를 사용할 toLanguageTag 수 있습니다.

<h5>"special_cases_constructor">특수 사례</h5>

호환성을 위해 두 개의 비준수 로캘이 특별한 경우로 처리됩니다. 이들은 b<>ja_JP_JP/b> 및 <b>th_TH_TH</b>입니다.< 이들은 변형이 너무 짧기 때문에 BCP 47에서 잘못된 형식입니다. BCP 47로의 마이그레이션을 용이하게 하기 위해 이러한 항목은 건설 중에 특별히 처리됩니다. 이러한 두 경우(및 이러한 경우만)는 생성자가 확장을 생성하게 하며, 다른 모든 값은 Java 7 이전과 정확히 동일하게 작동합니다.

Java는 일본 제국 달력과 함께 일본에서 사용되는 일본을 나타내는 데 사용 ja_JP_JP 되었습니다. 이제 유니코드 로캘 키("일정"의 경우)를 지정하고 를 입력japanese하여 유니코드 로캘 ca 확장을 사용하여 표시할 수 있습니다. "ja", "JP", "JP" 인수를 사용하여 로캘 생성자를 호출하면 확장 "u-ca-japanese"이 자동으로 추가됩니다.

Java는 태국에서 태국 숫자와 함께 사용되는 태국을 나타내는 데 사용 th_TH_TH 되었습니다. 이제 유니코드 로캘 키 nu ("number")와 값 thai을 지정하여 유니코드 로캘 확장을 사용하여 표시할 수도 있습니다. 로캘 생성자가 "th", "TH", "TH" 인수로 호출되면 확장 "u-nu-thai"가 자동으로 추가됩니다.

<h5>Serialization</h5>

serialization 중에 writeObject는 확장을 포함하여 모든 필드를 출력 스트림에 씁니다.

역직렬화하는 동안 readResolve는 특수 사례에 설명된 대로 확장명을 추가하며, th_TH_TH 및 ja_JP_JP 두 가지 경우에만 확장이 추가됩니다.

<h5>레거시 언어 코드</h5>

로캘의 생성자는 항상 세 가지 언어 코드를 이전의 사용되지 않는 형식으로 변환했습니다. 즉 he , 에 매핑 iw되고, 에 yi 매핑 ji되고, id 에 매핑됩니다 in. 이는 이전 버전과의 호환성을 중단하지 않기 위해 계속 적용됩니다.

1.7에 추가된 API는 이전 언어 코드와 새 언어 코드 사이에 매핑되며, 로캘 getLanguage 내부(이전 코드를 반영하고 toString 반영)를 유지 관리하지만 BCP 47 언어 태그 API의 새 코드를 사용합니다( toLanguageTag 새 코드를 반영하도록). 이는 로캘을 생성하는 데 사용되는 코드 또는 API에 관계없이 로캘 간의 동등성을 유지합니다. Java의 기본 리소스 번들 조회 메커니즘도 이 매핑을 구현하므로 두 규칙 중 하나를 사용하여 리소스의 이름을 지정할 수 있습니다. 를 참조하세요 ResourceBundle.Control.

<h5>세 글자 언어/국가(지역) 코드</h5>

로캘 생성자는 언어와 국가 매개 변수의 길이가 2자임을 항상 지정했지만 실제로는 길이를 허용했습니다. 이제 2~8자의 언어 코드와 2~3자의 국가(지역) 코드, 특히 IANA 언어 하위 태그 레지스트리에 지정된 3자 언어 코드와 3자리 지역 코드를 허용하도록 사양이 완화되었습니다. 호환성을 위해 구현은 여전히 길이 제약 조건을 적용하지 않습니다.

"locale_data"><h4>로캘 데이터</h4>

로캘 데이터는 ICU에서만 제공됩니다. 사용자가 제공한 로캘 서비스 공급자(또는 java.util.spi 메커니즘 사용java.text.spi)는 지원되지 않습니다.

다음은 다양한 Android 릴리스<에서 사용되는 ICU(및 해당 CLDR 및 유니코드 버전)입니다. TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><tr><td>Android 1.5(Cupcake)/Android 1.6 (도넛형)/Android 2.0(Eclair)</td td><>ICU 3.8</td td>>< CLDR 1.5</td td<>> 유니코드 5.0</td></tr tr<><>td>Android 2.2(Froyo)</td><td>ICU 4.2</td td>><CLDR 1.7</td td<>>유니코드 5.1</td></tr tr><><td>Android 2.3(진저브레드)/Android 3.0(Honeycomb)</td td><>ICU 4.4</td td<>> CLDR 1.8</td td><> 유니코드 5.2</td></tr tr>><<td>Android 4.0(아이스크림 샌드위치)</td td><>ICU 4.6</td td><>CLDR 1.9</td td>><유니코드 6.0</td></tr tr<>><td>Android 4.1(Jelly Bean)</td td><> ICU 4.8</t td<>td> CLDR 2.0</td td><> 유니코드 6.0</td></tr tr><><td>Android 4.3 (Jelly Bean MR2)</td tdtd<>> ICU 50</td><td>CLDR 22.1</td td><>유니코드 6.2</td></tr tr><<>td>Android 4.4(KitKat)</td td<>> ICU 51</td td<>> CLDR 23</td td><> 유니코드 6.2</td></tr tr><><td>Android 5.0(Lollipop)</td td><> ICU53</Td><td>CLDR 25</td td>><유니코드 6.3</td></tr tr><><td>Android 6.0(Marshmallow)</td td<>> ICU 55.1</td td td<>> CLDR 27.0.1</td td><> 유니코드 7.0</td></tr tr><><td>Android 7.0(Nougat)</td td><> ICU 56.1</Td><td>CLDR 28</td td>><유니코드 8.0</td></tr tr>><<td>Android 8.0(Oreo)</td td<>> ICU 58.2</td td<>> CLDR 30.0.3</td td><> 유니코드 9.0</td></tr tr<>><td>Android 9.0(원형)</td tdtd<>> ICU 60.2</td><td>CLDR 32.0.1</td td<>>유니코드 10.0</td></tr tr><<>td>Android 10.0(Q)</td td>>< ICU 63.2</td td>>< CLDR 34</td td>>< 유니코드 11.0</td></tr></table>

"default_locale"><h4>기본 로캘</h3 주의>

기본 로캘을 자동으로 사용하는 편의 메서드가 많이 있지만 이를 사용하면 버그가 미묘해질 수 있습니다.

기본 로캘은 사용자에게 데이터를 표시하는 작업에 적합합니다. 이 경우 사용자의 날짜/시간 형식, 숫자 형식, 소문자로 변환하기 위한 규칙 등을 사용하려고 합니다. 이 경우 편의 메서드를 사용하는 것이 안전합니다.

기본 로캘은 컴퓨터에서 읽을 수 있는 출력에 적합하지 않습니다 . 가장 좋은 선택은 일반적으로 Locale.US – 이 로캘은 모든 장치에서 사용할 수 있도록 보장되며, 놀라운 특별한 경우가 없고 자주 사용된다는 사실은 (특히 컴퓨터-컴퓨터 통신의 경우) 가장 효율적인 선택인 경향이 있음을 의미합니다.

일반적인 실수는 컴퓨터에서 읽을 수 있는 출력을 생성할 때 기본 로캘을 암시적으로 사용하는 것입니다. 이는 개발자의 테스트 디바이스에서 작동하는 경향이 있지만(특히 많은 개발자가 en_US 사용하므로) 사용자가 더 복잡한 로캘에 있는 디바이스에서 실행하면 실패합니다.

예를 들어 정수의 서식을 지정하는 경우 일부 로캘은 ASCII가 아닌 소수 자릿수를 사용합니다. 또 다른 예로 부동 소수점 숫자의 서식을 지정하는 경우 일부 로캘은 소수점 및 '.' 숫자 그룹화에 사용합니다','. 이는 사람이 읽을 수 있는 출력에 적합하지만 다른 컴퓨터에 표시되는 경우 문제가 발생할 수 있습니다(Double#parseDouble 예를 들어 이러한 숫자를 구문 분석할 수 없음). 또한 터키에서 을 String#toLowerCase 사용하지 않는 및 String#toUpperCase 오버로드에 주의해야 합니다. 예를 들어 문자 'i''I' 는 및 'i''I' 변환되지 않습니다.Locale 이는 터키어 텍스트(예: 사용자 입력)에 대한 올바른 동작이지만 HTTP 헤더에는 적합하지 않습니다.

1.1에 추가되었습니다.

에 대한 Java 설명서입니다 java.util.Locale.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

Locale(String)

언어 코드에서 로캘을 생성합니다.

Locale(String, String)

언어 및 국가에서 로캘을 생성합니다.

Locale(String, String, String)

언어, 국가 및 변형에서 로캘을 생성합니다.

필드

PrivateUseExtension

프라이빗 사용 확장('x')의 키입니다.

UnicodeLocaleExtension

유니코드 로캘 확장('u')의 키입니다.

속성

Canada

국가에 유용한 상수입니다.

CanadaFrench

국가에 유용한 상수입니다.

China

국가에 유용한 상수입니다.

Chinese

언어에 유용한 상수입니다.

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Country

빈 문자열, 대문자 ISO 3166 2자 코드 또는 UN M이어야 하는 이 로캘의 국가/지역 코드를 반환합니다.

Default

Java Virtual Machine의 이 instance 대한 기본 로캘의 현재 값을 가져옵니다. -또는- Java Virtual Machine의 이 instance 대한 기본 로캘을 설정합니다.

DisplayCountry

사용자에게 표시하기에 적합한 로캘 국가 이름을 반환합니다.

DisplayLanguage

사용자에게 표시하기에 적합한 로캘 언어의 이름을 반환합니다.

DisplayName

사용자에게 표시하기에 적합한 로캘의 이름을 반환합니다.

DisplayScript

사용자에게 표시하기에 적합한 로캘 스크립트의 이름을 반환합니다.

DisplayVariant

사용자에게 표시하기에 적합한 로캘의 변형 코드에 대한 이름을 반환합니다.

English

언어에 유용한 상수입니다.

ExtensionKeys

이 로캘과 연결된 확장 키 집합 또는 확장이 없는 경우 빈 집합을 반환합니다.

France

국가에 유용한 상수입니다.

French

언어에 유용한 상수입니다.

German

언어에 유용한 상수입니다.

Germany

국가에 유용한 상수입니다.

Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
HasExtensions

확장이 Locale 있는 경우 를 반환 true 합니다.

ISO3Country

이 로캘의 국가에 대한 세 글자 약어를 반환합니다.

ISO3Language

이 로캘 언어의 약어 3자를 반환합니다.

Italian

언어에 유용한 상수입니다.

Italy

국가에 유용한 상수입니다.

Japan

국가에 유용한 상수입니다.

Japanese

언어에 유용한 상수입니다.

JniIdentityHashCode

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
JniPeerMembers

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

Korea

국가에 유용한 상수입니다.

Korean

언어에 유용한 상수입니다.

Language

이 로캘의 언어 코드를 반환합니다.

PeerReference

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
Prc

국가에 유용한 상수입니다.

Root

루트 로캘에 유용한 상수입니다.

Script

빈 문자열 또는 ISO 15924 4자 스크립트 코드여야 하는 이 로캘에 대한 스크립트를 반환합니다.

SimplifiedChinese

언어에 유용한 상수입니다.

Taiwan

국가에 유용한 상수입니다.

ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)
ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)
TraditionalChinese

언어에 유용한 상수입니다.

Uk

국가에 유용한 상수입니다.

UnicodeLocaleAttributes

이 로캘과 연결된 유니코드 로캘 특성 집합 또는 특성이 없는 경우 빈 집합을 반환합니다.

UnicodeLocaleKeys

이 로캘로 정의된 유니코드 로캘 키 집합을 반환하거나 이 로캘에 없는 경우 빈 집합을 반환합니다.

Us

국가에 유용한 상수입니다.

Variant

이 로캘의 변형 코드를 반환합니다.

메서드

Clone()

복제 가능을 재정의합니다.

Dispose()

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
Filter(IList<Locale.LanguageRange>, ICollection<Locale>)

RFC 4647에 정의된 필터링 메커니즘을 사용하여 일치하는 Locale 인스턴스 목록을 반환합니다.

Filter(IList<Locale.LanguageRange>, ICollection<Locale>, Locale+FilteringMode)

RFC 4647에 정의된 필터링 메커니즘을 사용하여 일치하는 Locale 인스턴스 목록을 반환합니다.

FilterTags(IList<Locale.LanguageRange>, ICollection<String>)

RFC 4647에 정의된 기본 필터링 메커니즘을 사용하여 일치하는 언어 태그 목록을 반환합니다.

FilterTags(IList<Locale.LanguageRange>, ICollection<String>, Locale+FilteringMode)

RFC 4647에 정의된 기본 필터링 메커니즘을 사용하여 일치하는 언어 태그 목록을 반환합니다.

ForLanguageTag(String)

지정된 IETF BCP 47 언어 태그 문자열에 대한 로캘을 반환합니다.

GetAvailableLocales()

설치된 모든 로캘의 배열을 반환합니다.

GetDefault(Locale+Category)

Java Virtual Machine의 이 instance 대한 기본 로캘의 현재 값을 가져옵니다.

GetDisplayCountry(Locale)

로캘에 지역화된 이 로캘의 국가 이름을 반환합니다 locale.

GetDisplayLanguage(Locale)

로캘로 지역화된 이 로캘 언어의 이름을 반환합니다 locale.

GetDisplayName(Locale)

로캘의 언어 이름, 국가 이름 및 변형을 로 지역화하여 반환합니다 locale.

GetDisplayScript(Locale)

사용자에게 표시하기에 적합한 로캘 스크립트의 이름을 반환합니다.

GetDisplayVariant(Locale)

사용자에게 표시하기에 적합한 로캘의 변형 코드에 대한 이름을 반환합니다.

GetExtension(Char)

지정된 키와 연결된 확장(또는 프라이빗 사용) 값을 반환하거나 키와 연결된 확장이 없는 경우 null을 반환합니다.

GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetISOCountries()

ISO 3166에 정의된 모든 2자 국가 코드 목록을 반환합니다.

GetISOCountries(Locale+IsoCountryCode)

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

GetISOLanguages()

ISO 639에 정의된 모든 2자 언어 코드 및 일부 3자 코드 목록을 반환합니다.

GetUnicodeLocaleType(String)

이 로캘에 대해 지정된 유니코드 로캘 키와 연결된 유니코드 로캘 형식을 반환합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Lookup(IList<Locale.LanguageRange>, ICollection<Locale>)

Locale RFC 4647에 정의된 조회 메커니즘을 사용하여 가장 일치하는 언어 태그에 대한 instance 반환합니다.

LookupTag(IList<Locale.LanguageRange>, ICollection<String>)

RFC 4647에 정의된 조회 메커니즘을 사용하여 가장 일치하는 언어 태그를 반환합니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetDefault(Locale+Category, Locale)

Java Virtual Machine의 이 instance 대해 지정된 범주의 기본 로캘을 설정합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
StripExtensions()

확장 없이 이 Locale 복사본을 반환합니다.

ToArray<T>()

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
ToLanguageTag()

이 로캘을 나타내는 올바른 형식의 IETF BCP 47 언어 태그를 반환합니다.

ToString()

아래와 같이 언어, 국가, 변형, 스크립트 및 확장으로 구성된 이 Locale 개체의 문자열 표현을 반환합니다. <blockquote> language + "" + country + "" + (variant + "#" | " #") + script + "" + extensions </blockquote>

        Language is always lower case, country is always upper case, script is always title
        case, and extensions are always lower case.
UnregisterFromRuntime()

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

GetJniTypeName(IJavaPeerable)

개체는 Locale 특정 지리적, 정치적 또는 문화적 지역을 나타냅니다.

적용 대상