国际化(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
参数进行设置,该监听器可以完成如下操作:- 自定义资源文件加载过程
- 自定义获取当前语言设置
- 语言设置变更的事件处理过程