mxmlcのロケール設定

JavaアプリのロケールはLANGでもないし、当然C_LOCALEでもない。
システムプロパティという環境変数に似た構造を使って、独自で管理してる。そこで、起動時に指定されているVMへの引数をごにょごにょしてシステムプロパティを設定してやる。

*** mxmlc.orig	2006-08-23 23:19:55.000000000 +0900
--- mxmlc	2006-08-25 21:13:19.000000000 +0900
***************
*** 29,34 ****
  
  fi
  
! VMARGS="-Dapplication.home=$FLEX_HOME -Xmx384m -Dsun.io.useCanonCaches=false"
  
  java $VMARGS -jar $FLEX_HOME/lib/mxmlc.jar $*
--- 29,34 ----
  
  fi
  
! VMARGS="-Dapplication.home=$FLEX_HOME -Xmx384m -Dsun.io.useCanonCaches=false -Duser.region=us -Duser.language=en"
  
  java $VMARGS -jar $FLEX_HOME/lib/mxmlc.jar $*

おまけ。現在のロケールを表示するサンプルプログラム。

// LocaleTest.java
import java.util.Locale;
class LocaleTest{
    public static void main(String[] args){
	Locale def = Locale.getDefault();
	System.out.println(def.getLanguage());
	System.out.println(def.getCountry());
    }
}