苍穹多语言的相关api原创
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
推荐阅读