Language

PluralFormat クラス

定義

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

[Android.Runtime.Register("android/icu/text/PluralFormat", ApiSince=24, DoNotGenerateAcw=true)]
public class PluralFormat : Android.Icu.Text.UFormat
[<Android.Runtime.Register("android/icu/text/PluralFormat", ApiSince=24, DoNotGenerateAcw=true)>]
type PluralFormat = class
    inherit UFormat
継承
属性

注釈

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。 複数 形の選択に基づいています。つまり、呼び出し元は、ユーザーの言語で表示できる複数形のケースごとにメッセージを指定し、 PluralFormat は番号に基づいて適切なメッセージを選択します。

<h3>国際化メッセージにおける複数形の問題</h3>

言語によって、複数形を取り込む方法が異なります。 複数形を含む国際化メッセージの作成は、フレームワーク がすべての 言語の複数形を正しく処理できる場合にのみ可能です。 ChoiceFormat は、各メッセージに数値の間隔を添付し、その間隔に特定の番号が含まれるメッセージを選択するため、この処理を適切に行いません。 これは、有限の間隔のみを処理できます。 ただし、ポーランド語などの一部の言語では、1 つの複数形のケースが無限に多くの間隔に適用されます (たとえば、12、13、または 14 で終わる数値を除き、2、3、または 4 で終わる数値に一時停止ケースが適用されます)。 したがって、 ChoiceFormat は十分ではありません。

PluralFormat これは、問題を 2 つの部分に分割することによって対処します。 <ul><li>単一の間隔よりも複数形のケースに対してより複雑な条件を定義できる PluralRules を使用します。 これらの複数形の規則は、言語に存在する複数形のケースと、これらのケースに適用される数値の両方を定義します。 <li>多くの言語に対して定義済みの複数形ルールを提供します。 したがって、プログラマは言語の複数形のケースについて心配する必要はありませんし、複数形のケースを定義する必要はありません。定義済みのキーワードを使用できます。 メッセージの複数形全体の書式設定は、リソース バンドルのローカライズされたパターンを使用して行うことができます。 定義済みの複数形ルールについては、「CLDR 言語の複数形ルール 」ページ ( https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/language_plural_rules.html</ul) を参照してください。>

<h4>PluralFormat</h4 の使用>

注: 通常、複数形の書式設定は、スタンドアロンのMessageFormatを使用するのではなく、plural引数型のPluralFormatを使用して行われます。

この説明では、定義済みの複数形ルールのセットで PluralFormat を使用することを前提としています。 ULocale オブジェクトを受け取るコンストラクターのいずれかを使用して作成できます。 メッセージ パターンを指定するには、それをコンストラクターに渡すか、 applyPattern() メソッドを使用して明示的に設定します。 format()メソッドは、数値オブジェクトを受け取り、一致する複数形のケースのメッセージを選択します。 このメッセージが返されます。

<h5>パターンとその解釈</h5>

パターン テキストは、指定されたロケールの複数形のケースごとにメッセージ出力を定義します。 構文: <blockquote>

pluralStyle = [offsetValue] (selector '{' message '}')+
            offsetValue = "offset:" number
            selector = explicitValue | keyword
            explicitValue = '=' number  // adjacent, no white space in between
            keyword = [^[[:Pattern_Syntax:][:Pattern_White_Space:]]]+
            message: see {@link MessageFormat}

<構文要素間の /blockquote> Pattern_White_Space は無視されます。{中かっこ} とそのサブメッセージの間、および '=' と explicitValue の数の間を除きます。

CLDR/ICU には、"zero"、"one"、"two"、"few"、"many"、"other" の 6 つの定義済みのケース キーワードがあります。 すべてのルール セットに含まれる既定の複数形ケース "other" のメッセージ テキストを常に定義する必要があります。 特定の複数形のケースにメッセージ テキストを指定しない場合は、複数形のケース "other" のメッセージ テキストがこの複数形のケースに割り当てられます。

書式設定時に、最初に入力番号が explicitValue 句と照合されます。 正確な数値が一致しない場合は、オフセットPluralRules/em<の入力番号>em<minus で>を呼び出すことによってキーワードが選択されます。 (パターン文字列から省略すると、オフセットの既定値は 0 になります)。そのキーワードを持つ句がない場合は、"other" 句が返されます。

選択したサブメッセージ自体 (つまり、サブメッセージに入れ子になった引数の外側) の引用符で囲まれていないシャープ記号 (#) は、入力番号からオフセットを引いた値に置き換えられます。 数値マイナス オフセット値は、NumberFormatのロケールのPluralFormatを使用して書式設定されます。 特殊な数値書式が必要な場合は、 MessageFormat を使用し、 NumberFormat 引数を明示的に指定する必要があります。 <strong>Note:</strong> この引数はオフセットを減算せずに書式設定されます。 カスタム形式が必要で、オフセットが 0 以外の場合は、数値から負のオフセット値を別のパラメーターとして渡す必要があります。

使用例については、 MessageFormat クラスのドキュメントを参照してください。

<h4>カスタム複数形ルールの定義</h4>

カスタム 規則で PluralFormat を使用する必要がある場合は、 PluralRules オブジェクトを作成し、それを PluralFormatのコンストラクターに渡すことができます。 このコンストラクターでロケールも指定した場合、このロケールはメッセージ テキスト内の数値の書式設定に使用されます。

PluralRules の詳細については、「PluralRules」を参照してください。

Javaドキュメント。

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

コンストラクター

名前 説明
PluralFormat()

既定のPluralFormat ロケールの新しいカーディナル番号FORMATを作成します。

PluralFormat(IntPtr, JniHandleOwnership)

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

PluralFormat(Locale, PluralRules)

特定の規則のセットに対して新しいカーディナル番号 PluralFormat を作成します。

PluralFormat(Locale, PluralRules+PluralType)

複数形型の新しい PluralFormat を作成します。

PluralFormat(Locale)

特定のPluralFormatの新しいカーディナル番号java.util.Localeを作成します。

PluralFormat(PluralRules, String)

特定のルールセットとパターンの新しいカーディナル番号 PluralFormat を作成します。

PluralFormat(PluralRules)

特定の規則のセットに対して新しいカーディナル番号 PluralFormat を作成します。

PluralFormat(String)

指定されたパターン文字列の新しいカーディナル番号 PluralFormat を作成します。

PluralFormat(ULocale, PluralRules, String)

特定のルール、パターン、ロケールの新しいカーディナル番号 PluralFormat を作成します。

PluralFormat(ULocale, PluralRules)

特定の規則のセットに対して新しいカーディナル番号 PluralFormat を作成します。

PluralFormat(ULocale, PluralRules+PluralType, String)

複数形の型、パターン、およびロケールの新しい PluralFormat を作成します。

PluralFormat(ULocale, PluralRules+PluralType)

複数形型の新しい PluralFormat を作成します。

PluralFormat(ULocale, String)

指定されたパターン文字列とロケールの新しいカーディナル番号 PluralFormat を作成します。

PluralFormat(ULocale)

特定のロケールの新しいカーディナル番号 PluralFormat を作成します。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
JniPeerMembers

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

ThresholdType

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

メソッド

名前 説明
ApplyPattern(String)

この複数形の形式で使用されるパターンを設定します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 _Format)
Construct(JniObjectReference, JniObjectReferenceOptions)

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
Equals(Object)

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Equals(PluralFormat)

指定された PluralFormat と等しい場合は true を返します。

Format(Double)

指定した数値の複数形メッセージを書式設定します。

Format(Object, StringBuffer, FieldPosition)

指定した数値の複数形メッセージを書式設定し、書式設定されたメッセージを指定した StringBufferに追加します。

Format(Object)

文字列を生成するオブジェクトを書式設定します。

(継承元 _Format)
FormatToCharacterIterator(Object)

AttributedCharacterIteratorを生成するオブジェクトを書式設定します。

(継承元 _Format)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Parse(String, ParsePosition)

このメソッドは、 PluralFormatではまだサポートされていません。

ParseObject(String, ParsePosition)

このメソッドは、 PluralFormatではまだサポートされていません。

ParseObject(String)

指定された文字列の先頭からテキストを解析して、オブジェクトを生成します。

(継承元 _Format)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetNumberFormat(NumberFormat)

このフォーマッタで使用される数値書式を設定します。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToPattern()

この PluralFormat のパターンを返します。

ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
IJavaPeerable.Finalized()

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

(継承元 _Format)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

PluralFormat は、複数の変曲を伴う国際化メッセージの作成をサポートしています。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象