國際化(I18N)


I18N服務是在YMP框架啟動時初始化,其根據ymp.i18n_default_locale進行語言配置,預設採用系統運行環境的語言設定;

  • 國際化資源管理器提供的主要方法:

    • 取得目前語言設定

      #
      I18N.current();
    • 設定目前語言

      // 变更当前语言设置且不触发事件
      I18N.current(Locale.ENGLISH);
      
      或者
      
      // 将触发监听处理器onChanged事件
      I18N.change(Locale.ENGLISH);
    • 根據目前語言設定,載入指定名稱資源檔案內指定的屬性值

      I18N.load("resources", "home_title");
      
      或者
      
      I18N.load("resources", "home_title", "首页");
    • 格式化訊息字串並綁定參數

      #
      // 加载指定名称资源文件内指定的属性并使用格式化参数绑定
      I18N.formatMessage("resources", "site_title", "Welcome {0}, {1}","YMP",“GoodLuck!”);
      
      // 使用格式化参数绑定
      I18N.formatMessage("Hello, {0}, {1}", "YMP",“GoodLuck!”);
  • 國際化資源管理器事件監聽處理器,透過實作II18NEventHandler接口,在YMP設定檔中的i18n_event_handler_class參數進行設置,該監聽器可以完成以下操作:

    • #自訂資源檔案載入流程
    • 自訂取得目前語言設定
    • 語言設定變更的事件處理程序