端末情報/クライアント情報

Q1
OSの言語によってプログラムの動作を変更したい
[内容]
ボタンのタイトルやメッセージボックスの内容をOSの言語に合わせて変更したい
A1
[解決方法]
Biz/Browser Mobile ver4.5.0.0から、RootクラスのSYSオブジェクトにLANGUAGEIDプロパティが追加されました。
このプロパティを参照すると、OSのロケールID(LCID)を取得することができるため、その番号によって現在OSでどういった言語が使われているかを判断できます。

例えば、主要な言語のロケールIDは以下の内容となります。

 
言語 ロケールID(LCID)
日本語 1041
英語 1033
韓国語 1042
中国語(繁体) 1028
中国語(簡体) 2052

サンプルソースでは、この値を利用してボタンのタイトルと、ボタン押下時の
メッセージボックスの内容を、ロケールIDが「1041」の場合は日本語に、「1033」の場合は
英語になるよう記述しています。

[サンプルコード]
Form Form1 {
 X = 0;
 Y = 0;
 Width = 234;
 Height = 175;
 
 switch(//.sys.LANGUAGEID){
  case 1041:
   String ButtonTitle = "日本語";
   String LangMessage = "日本語のメッセージ";
   break;
  case 1033:
   String ButtonTitle = "English";
   String LangMessage = "English Message";
   break;
  default:   /* その他の言語の場合 */
   String ButtonTitle = "unknown";
   String LangMessage = "English Message";
 }
 
 Button Button1 {
  X = 54;
  Y = 53;
  Width = 119;
  Height = 54;
  Title = ^.ButtonTitle;
  
  Function OnTouch( e ) {
   MessageBox(^.LangMessage);
  }
 }
}

管理番号:CliM_006
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ