苍穹多语言的相关api原创
金蝶云社区-JeremyG
JeremyG
5人赞赏了该文章 1,145次浏览 未经作者许可,禁止转载编辑于2021年12月14日 17:25:28

苍穹支持多语言,涉及到多语言文本就不能直接使用String类型,需要使用LocalString,有很多SDK可能需要语言信息,下面简单列了一下相关的方法,大家可以自行调试查看。

// 多语言相关api
// 获取上下文
RequestContext requestContext = RequestContext.get();
// 获取上下文的多语言对象
Lang lang = requestContext.getLang();
String langStr = lang.toString();
String langTag = lang.getLangTag();
Locale locale = lang.getLocale();
String localeStr = locale.toString();
String language = locale.getLanguage();
// 静态方法获取,登录的时候赋值到上下文
Lang lang1 = Lang.get();
// 系统默认多语言对象
Lang lang2 = Lang.defaultLang();
Lang from = Lang.from(locale);
Lang value = Lang.valueOf("en_US");
// 构造多语言字符串
LocaleString localeString = new LocaleString(langStr, "测试");
String localeValue = localeString.getLocaleValue();
String localeValue_en = localeString.getLocaleValue_en();


另外:直接查库查出来的多语言字段可能是ormLocalValue类型的,很多时候需要转成LocaleString来使用,转换的方法可以参考:https://club.kdcloud.com/article/253240497596918272 

赞 5