これを行うサンプルコードを見てきました:
getString(R.string.title_section1).toUpperCase(l)
1はそこで何をしますか?
このパラメーターは整数 1 であってはなりません。私には l のように見えますが、これは実際には、この文字列が大文字に変換される規則を使用するロケールです。
整数ではありません。Uppercase メソッドには 2 つのバリエーションしかありません。
String toUpperCase() デフォルトのロケールの規則を使用して、この String 内のすべての文字を大文字に変換します。
String toUpperCase(Locale locale) 指定された Locale の規則を使用して、この String 内のすべての文字を大文字に変換します。
Locale オブジェクトは、以下に説明するフィールドで論理的に構成されます。
language ISO 639 alpha-2 または alpha-3 言語コード、または最大 8 文字の英字の登録済み言語サブタグ (将来の拡張用)。言語に alpha-2 コードと alpha-3 コードの両方がある場合は、alpha-2 コードを使用する必要があります。有効な言語コードの完全なリストは、IANA 言語サブタグ レジストリで確認できます (「Type: language」を検索してください)。言語フィールドは大文字と小文字を区別しませんが、Locale は常に小文字に正規化されます。
整形式の言語値の形式は [a-zA-Z]{2,8} です。extlang を除外しているため、これは完全な BCP47 言語生成ではないことに注意してください。現代の 3 文字の言語コードがそれらを置き換えるため、それらは必要ありません。
例: "en" (英語)、"ja" (日本語)、"kok" (コンカニ)
script ISO 15924 alpha-4 スクリプト コード。有効なスクリプト コードの完全なリストは、IANA 言語サブタグ レジストリで確認できます (「Type: script」を検索してください)。スクリプト フィールドでは大文字と小文字が区別されませんが、Locale では常にタイトルの大文字と小文字が正規化されます (最初の文字は大文字で、残りの文字は小文字です)。
整形式のスクリプト値の形式は [a-zA-Z]{4} です。
例: "Latn" (ラテン語)、"Cyrl" (キリル文字)
国 (地域) ISO 3166 alpha-2 国コードまたは UN M.49 数値 3 市外局番。有効な国コードと地域コードの完全なリストは、IANA 言語サブタグ レジストリで確認できます (「Type: region」を検索してください)。国 (地域) フィールドは大文字と小文字を区別しませんが、Locale は常に大文字に正規化されます。
整形式の国/地域の値の形式は [a-zA-Z]{2} | [0-9]{3}
例: 「US」(米国)、「FR」(フランス)、「029」(カリブ)
variant Locale のバリエーションを示すために使用される任意の値。それぞれが独自のセマンティクスを示す 2 つ以上のバリアント値がある場合、これらの値は重要度の高い順に並べる必要があります。最も重要なものが最初で、アンダースコア ('_') で区切られます。バリアント フィールドでは、大文字と小文字が区別されます。
注: IETF BCP 47 は、バリアント サブタグに構文上の制限を設けています。また、BCP 47 サブタグは、言語、スクリプト、および地域のサブタグの組み合わせではカバーされない言語または方言を定義する追加のバリエーションを示すために厳密に使用されます。有効なバリアント コードの完全なリストは、IANA 言語サブタグ レジストリで確認できます (「タイプ: バリアント」を検索してください)。ただし、ロケールのバリアント フィールドは歴史的に、言語のバリエーションだけでなく、あらゆる種類のバリエーションに使用されてきました。たとえば、Java SE ランタイム環境で使用できるサポートされている一部のバリアントは、カレンダーの種類や数字のスクリプトなど、別のカルチャの動作を示しています。BCP 47 では、言語を識別しないこの種の情報は、拡張サブタグまたは私用サブタグによってサポートされています。
整形式のバリアント値の形式は、SUBTAG (('_'|'-') SUBTAG)* です。ここで、SUBTAG = [0-9][0-9a-zA-Z]{3} | [0-9a-zA-Z]{5,8}。(注: BCP 47 では区切り文字としてハイフン ('-') のみを使用します。これはより寛大です)。
例: "polyton" (ポリトニック ギリシャ語)、"POSIX"
extensions 単一文字キーから文字列値へのマップで、言語識別とは別の拡張機能を示します。Locale の拡張機能は、BCP 47 拡張サブタグと私用サブタグのセマンティクスと構文を実装します。拡張機能は大文字と小文字を区別しませんが、Locale はすべての拡張キーと値を小文字に正規化します。拡張子に空の値を指定できないことに注意してください。
整形式のキーは、セット [0-9a-zA-Z] からの 1 文字です。整形式の値の形式は SUBTAG ('-' SUBTAG)* で、キー 'x' SUBTAG = [0-9a-zA-Z]{1,8} およびその他のキー SUBTAG = [0-9a-zA -Z]{2,8} (つまり、「x」は単一文字のサブタグを許可します)。
例: key="u"/value="ca-japanese" (日本のカレンダー)、key="x"/value="java-1-7" 注: BCP 47 ではフィールド値を IANA 言語に登録する必要がありますが、 Subtag Registry、Locale クラスは検証機能を提供しません。Builder は、個々のフィールドが構文要件を満たしている (整形式である) かどうかのみをチェックし、値自体は検証しません。詳細については、Locale.Builder を参照してください。