setLocale()
sysLib.setLocale() システム関数は、実行単位の Java™ ロケールを設定します。
Java ロケールにより、ランタイムの振る舞いに関する以下の特徴が決定されます。
- ラベルおよびメッセージで使用する国の言語
- デフォルトの日時形式
sysLib.setLocale() を呼び出すと、strLib.defaultDateFormat および strLib.defaultTimeFormat が EGL により初期化されます。
例えば、言語のリストを表示して、ユーザーが選択した言語に基づいて Java ロケールを設定する場合があります。
新規 Java ロケールは、以下のいずれかが起きるまでは使用中のままになります。
- sysLib.setLocale() を再度呼び出す。
- ブラウザー・セッションが終了する。
- その他の理由で、新規 Web ページが表示される。
前述のケースの場合、デフォルトでは、次の Web ページが、ブラウザーで指定した Java ロケールに復帰します。
ユーザーが書式を送信した場合、または新規ウィンドウを開くリンクをクリックした場合、 元のウィンドウの Java ロケールは、新規ウィンドウのロケールの影響を受けません。 ただし、ページ Bean の実行単位内にあるすべての Java コードが、sysLib.setLocale() で行った変更を共有します。 同じセッション内の他のページのロケール (または他のページ Bean の実行単位) には影響しません。
言語コードは ISO 639-2 規格に、国別コードは ISO 3166 規格に準じます。 このトピックの終わりにある『関連参照』のリンクおよび java.util.Locale クラスの文書を参照してください。
構文
sysLib.setLocale(
languageCode CHAR(2) in,
countryCode CHAR(2) in
[, variant CHAR(2) in])
- languageCode
- リテラルとして指定されたか CHAR 変数に含まれている 2 文字の言語コードです。ISO 639-2 で定義されている言語コードのみが有効です。
- countryCode
- リテラルとして指定されたか CHAR 変数に含まれている 2 文字の国別コードです。 ISO 3166 で定義されている国別コードのみ有効です。
- variant
- リテラルとして指定されたか CHAR 変数に含まれているバリアント・コードです。このコードは、通常は、大文字のストリングであり、languageCode および countryCode と組み合わせて使用してロケールの識別子を作成します。以下に例を示します。
例
次の例では、Windows のカナダ・フランス語にロケールを変更します。
sysLib.setLocale("fr", "CA", "WIN");
互換性
| プラットフォーム | 問題 |
|---|---|
| COBOL 生成 | sysLib.setLocale() 関数はサポートされていません。 |
| JavaScript 生成 | sysLib.setLocale() 関数はサポートされていません。 |
