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"); 

互換性

表 1. setLocale() の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 sysLib.setLocale() 関数はサポートされていません。
JavaScript 生成 sysLib.setLocale() 関数はサポートされていません。