国际化(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参数进行设置,该监听器可以完成如下操作:

    • 自定义资源文件加载过程
    • 自定义获取当前语言设置
    • 语言设置变更的事件处理过程