説明
国 / 言語ロケールを設定します。このロケールは、ColdFusion の処理と、クライアントに返されるページに適用されます。言語および地域の表記規則に従って、日付、時刻、数値、および通貨値のデフォルト表示形式がロケール値によって決定されます。
戻り値
ロケールを設定する前に設定されていたロケール値を表す文字列
カテゴリ
International functions、システム関数
関数のシンタックス
SetLocale(new_locale) |
関連項目
GetHttpTimeString、GetLocale、GetLocaleDisplayName、『ColdFusion アプリケーションの開発』のロケール
履歴
ColdFusion MX 7:ColdFusion Java ランタイムがサポートするすべてのロケールに対応できるようになりました。ColdFusion MX:
- 形式設定の動作が変更されました。この関数では、以前のリリースと異なる値が返される場合があります。この関数では、すべてのプラットフォームで Java 標準のロケール決定ルールおよび形式設定ルールが使用されます。
- Spanish (Mexican) ロケールオプションが非推奨になりました。今後のリリースでは、動作せずにエラーとなる可能性があります。
- Spanish (Modern) オプションが変更されました。このロケールは Spanish (Standard) に設定されるようになりました。
パラメーター
パラメーター |
説明 |
---|---|
new_locale |
ロケール名です。例 :"English (US)" |
使用方法
Server.Coldfusion.SupportedLocales 変数にリストされている任意のロケール名を指定できます。この変数は、JVM がサポートするすべてのロケール名、および ColdFusion MX 7 より前の ColdFusion で必要であったロケール名のカンマ区切りリストです。次のロケール名は、ColdFusion MX 6.1 までの ColdFusion リリースで使用され、継続してサポートされます。これらの値のいずれかを SetLocale 関数で使用する場合は、対応する Java ロケール名ではなくユーザーが設定した名前を GetLocale 関数が返します。
Chinese (China mainland) |
French (Belgian) |
Korean |
Chinese (Hong Kong SAR of China) |
French (Canadian) |
Norwegian (Bokmal) |
Chinese (Taiwan region) |
French (Standard) |
Norwegian (Nynorsk) |
Dutch (Belgian) |
French (Swiss) |
Portuguese (Brazilian) |
Dutch (Standard) |
German (Austrian) |
Portuguese (Standard) |
English (Australian) |
German (Standard) |
Spanish (Modern) |
English (Canadian) |
German (Swiss) |
Spanish (Standard) |
English (New Zealand) |
Italian (Standard) |
Swedish |
English (UK) |
Italian (Swiss) |
|
English (US) |
Japanese |
|
ColdFusion では、ロケールの値を次のように決定します。
デフォルトでは、JVM ロケールが使用されます。デフォルトの JVM ロケールはオペレーティングシステムのロケールです。ColdFusion では、ColdFusion Administrator の [Java と JVM の設定] ページの [JVM 引数] フィールドで JVM ロケール値を明示的に設定できます。例 :
-Duser.language=de -Duser.region=DE.
- SetLocale 関数で設定されたロケールは現在のリクエストの終了まで、または現在のリクエストの途中で再度の SetLocale 呼び出しによる再設定がおこなわれるまで保持されます。
- リクエストに複数の SetLocale 関数がある場合、ロケールに依存する ColdFusion タグおよび関数(LS で始まる関数など)は、現在のロケール設定に基づいてデータを形式設定します。レスポンスの Content-Language HTTP ヘッダーの値は、リクエスター(通常はクライアントブラウザー)にレスポンスを送信する前に最後に処理された SetLocale 関数によって決まります。ページをリクエストしたブラウザーは、Content-Language ヘッダーで指定されている言語の規則に従ってレスポンスを表示します。
ColdFusion では、cfflush タグの後の SetLocale 関数は無視されます。
この関数は以前のロケール設定を返すので、元のロケール値を保存できます。元のロケールに戻すには、保存した変数を使用して SetLocaleagain 関数を呼び出します。例えば、次の行では、元のロケールを Session 変数に保存します。<cfset Session.oldlocale = SetLocale(newLocale)>
server.ColdFusion.SupportedLocales 変数は起動時に初期化され、ColdFusion およびオペレーティングシステムがサポートするロケールのカンマ区切りリストが格納されます。このリストに含まれないロケールを指定して SetLocalewith を呼び出すと、エラーが発生します。
注意:ColdFusion では、Spanish (Modern) と Spanish (Standard) に対して Spanish (Standard) 形式が使用されます。
例
<h3>SetLocale の例</h3> <p>SetLocale は、ロケールを現在のセッション用に指定された新しいロケールに設定します。 <p>ロケールは、日付、時刻、数値および通貨値の表示および形式を管理する属性のセットをカプセル化します。 <p>このシステムのロケールは <cfoutput>#GetLocale()#</cfoutput> <p><cfoutput><I>古いロケールは #SetLocale("English (UK)")#</I> <p>現在のロケールは #GetLocale()#</cfoutput> |