1.首先要想在flex builder 3里编辑properties文件,先要下载插件,步骤如下:
Help->Software Updates->Find and Install...->Search for new features to install 点击next.
点击"New Remote Site...",输入name:Arbitrary input, URL: http://propedit.sourceforge.jp/eclipse/updates/
一路回车安装之后会自动重启。ok,你现在就可以编辑properties文件了。
2.建议将国际化文件properties文件放到一个统一的目录,我这里放到property文件夹里,同时将此文件夹加入到flex build path的source path中
zh.properties代码如下
- #注释
- #
- flex_label1=欢迎大家
- flex_label2=各位好啊
- flex_message={0}赶在{1}之前到的.
3.编写一个工具类来读取properties文件如下:
- public class ResourceUtil extends EventDispatcher{
- private static var _instance : ResourceUtil;
- private var _language : String;
- [ResourceBundle("en")]
- private var lang_en:ResourceBundle;
- [ResourceBundle("zh")]
- private var lang_zh:ResourceBundle;
- // [Bindable]
- // private var localResources:ResourceBundle;
- public static function getInstance() : ResourceUtil {
- if (_instance == null) {
- _instance = new ResourceUtil();
- }
- return _instance;
- }
- [Bindable(event="languageChange")]
- public function getString(key:String):String {
- return ResourceManager.getInstance().getString(_language,key);//localResources.getString(key);
- }
- /**
- * get the substitute properties by key and other parameter
- */
- [Bindable(event="languageChange")]
- public function ResourceUtil(){
- this.language = "zh";
- }
- public function set language(language : String):void {
- this._language = language;
- /*
- if (_language == "en") {
- this.localResources = lang_en;
- } else if (_language == "zh") {
- this.localResources = lang_zh;
- } else {
- this.localResources = lang_en;
- } */
- dispatchEvent(new Event("languageChange"));
- }
- }
- 4.在应用中就可以使用了
- public function getSubstitute(key : String, ... rest):String
- {
- return StringUtil.substitute(ResourceManager.getInstance().getString(_language,key),rest);
- }