HarmonyOS 如何指定读取多语言文件内容

我想实现的功能:

app内可以自行指定读取多语言文件资源。

通过我封装的getStringByResourceSync函数读取,但是现在没办法指定多语言。只能通过i18n.System.setAppPreferredLanguage(locale)设置app语言环境才行。请问是否有办法不通过修改app语言环境,直接指定多语言。

getStringByResourceSync(res: Resource, ...args: Array<string | number>): string | undefined {
  try {
    let resMgr = getContext().resourceManager;
    return resMgr.getStringSync(res.id, ...args);
  } catch (error) {
    let bError = error as BusinessError;
    if (bError.code === 401 || bError.code === 9001002) {
      return undefined;
    }
    throw error as Error;
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
HarmonyOS
2025-01-10 08:38:53
795浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Excelsior_abit

请先参考以下方法

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/resource-categories-and-access-V5

//获取符合当前系统颜色模式、分辨率等配置的德文资源
overrideConfig.locale = "de_DE" //指定资源的语言为德语,地区为德国
overrideResMgr.updateOverrideConfiguration(overrideConfig) //等效于resMgr.updateOverrideConfiguration(overrideConfig)
this.germanString = overrideResMgr.getStringSync(resId)
  • 1.
  • 2.
  • 3.
  • 4.
分享
微博
QQ
微信
回复
2025-01-10 10:22:44


相关问题
HarmonyOS 多语言修改失效
940浏览 • 1回复 待解决
求助ETS如何多语言切换?
4270浏览 • 1回复 待解决
HarmonyOS Web页面如何支持多语言
835浏览 • 1回复 待解决
HarmonyOS 如何多语言支持占位
756浏览 • 1回复 待解决
怎么实现多语言环境适配?
303浏览 • 0回复 待解决
HarmonyOS 多语言国际化咨询
689浏览 • 1回复 待解决
HarmonyOS 多语言字符串转换
925浏览 • 1回复 待解决
HarmonyOS 多语言支持繁体中文吗
722浏览 • 1回复 待解决
HarmonyOS C++如何读取指定路径文件
696浏览 • 1回复 待解决