Locale.ToLanguageTag メソッド

定義

このロケールを表す整形式の IETF BCP 47 言語タグを返します。

[Android.Runtime.Register("toLanguageTag", "()Ljava/lang/String;", "")]
public string ToLanguageTag ();
[<Android.Runtime.Register("toLanguageTag", "()Ljava/lang/String;", "")>]
member this.ToLanguageTag : unit -> string

戻り値

ロケールを表す BCP47 言語タグ

属性

注釈

このロケールを表す整形式の IETF BCP 47 言語タグを返します。

IETF Locale BCP 47 言語タグの構文要件を満たさない言語、国、またはバリアントがある場合、このメソッドは次のようにこれらのフィールドを処理します。

<b>言語:</b> 言語が空の場合、または整形式でない場合 (例: "a" や "e2")、"und" (未確定) として出力されます。

<b>Country:</b> country が整形式でない場合 ("12" や "USA" など)、省略されます。

<b>Variant:</b> バリアント <b>が</b> 整形式の場合、各サブセグメント ('-' または '_') がサブタグとして出力されます。 それ以外の場合: <ul>

<>li すべてのサブセグメントが一致[0-9a-zA-Z]{1,8}する場合 ("WIN" や "Oracle_JDK_Standard_Edition"など)、最初の正しくない形式のサブセグメントと、次のすべてのサブセグメントがプライベート使用サブタグに追加されます。 最初に追加されたサブタグは "lvariant" になり、その後にサブセグメントが順に続き、ハイフンで区切られます。 たとえば、"x-lvariant-WIN"、"Oracle-x-lvariant-JDK-Standard-Edition" などです。

<li>サブセグメントが一致 [0-9a-zA-Z]{1,8}しない場合、バリアントは切り捨てられ、問題のあるサブセグメントと、次のすべてのサブセグメントが省略されます。 剰余が空でない場合は、上記のようにプライベート使用サブタグとして出力されます (剰余が整形式である場合でも)。 たとえば、"Solaris_isjustthecoolestthing" は "solaris" ではなく "x-lvariant-Solaris" として出力されます。</li></ul>

<b>Special Conversions:</b> Java では、互換性のために非推奨の ISO 言語コードなど、一部の古いロケール表現がサポートされています。 このメソッドは、次の変換を実行します: <ul>

<li>非推奨の ISO 言語コード "iw"、"ji"、および "in" は、それぞれ "he"、"yi"、および "id" に変換されます。

<li>ノルウェー語 (ノルウェー) を表す言語 "no"、country "NO"、およびバリアント "NY" を持つロケールが、言語タグ "nn-NO" に変換されます。</li></ul>

<b>注:</b> このメソッドによって作成される言語タグは整形式ですが (IETF BCP 47 仕様で定義されている構文要件を満たしています)、必ずしも有効な BCP 47 言語タグであるとは限りません。 たとえば、オブジェクトに適用された

new Locale("xx", "YY").toLanguageTag();

は "xx-YY" を返しますが、IANA 言語サブタグ レジストリに登録されていないため、言語サブタグ "xx" とリージョン サブタグ "YY" は無効です。

1.7 で追加されました。

java.util.Locale.toLanguageTag()Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象