Personal Environmentのロケールを変える

Personal Environmentで開発していたら、こんな感じでDateTime型の値の後ろにつく()内表記が英語になっていました。

ブラウザの設定のせいかもしれないけど、強制的に日本語表記にしてみます。

11頃CurrDateで取得した日時

こういうのは、大体ロケールのせいなので、ヘルプをLocaleで検索してみるとやはりありました。

ロケール指定の文字列(“ja-JP”)を設定できる組み込みActionです。

SetCurrentLocale Action

さて、このActionをどこで動かすかですが、どうせなら、何度も設定せずそのモジュール内では常に効いた状態にしたい。

ASP.NETなんかの類推で考えるとやはりSession開始かなと考えてSystem Eventsを調べてみるとまさにOnSessionStartなるセッション開始時に動くActionがあるのでこれを利用します。

Logicレイヤ→Actions→Add System Event→On Session Startを選択。

SystmEvent1追加

通常のActionと同様にフローを書きます。

今回必要なのはSetCurrentLocale Action呼び出しだけなので、Execute Actionを配置して下図の通り「SetCurrentLocale」を選択しました。

SetCurrentLocale

Localeパラメータは日本語を表す「ja-JP」

localeを日本語に

ここまで変更したらもう一度パブリッシュして動作確認。

one hour agoの表記が1時間前に変わっています。
SetCurrentLocale後

補足1(OnSessionStart Action)

公式情報

動作タイミングは以下3通りらしいので、テスト時にログイン済みであればいったんログアウトしてログインしなおす必要があるかもしれません。

  • セッション開始後の最初のリクエスト
  • エンドユーザがログインした後
  • エンドユーザーがログアウトした後の最初のリクエスト

補足2(タイムゾーンについて)

この手の話題のときによく一緒の出てくるタイムゾーンについては、Personal Environmentでは変えられないかもしれません。

参考:

http://www.outsystems.com/forums/discussion/15814/change-timezone/

タイムゾーンについては、Personal Environmentでは無視するか、保存するときまたは表示するときに変換することで対応かな。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする