HarmonyOS 语言国际化时,切换不了马来语

I18n.System.setAppPreferredLanguage(language);使用这个api切换语言时,可以切换 ‘zh’ 和 ‘en’,但切换不了 ‘ms’ .会报错call System.setAppPreferredLanguage failed, error code: 890001, message: Param value not valid.

HarmonyOS
2024-12-19 16:05:58
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

参考以下demo:

@Entry
@Component
struct Index {
  @State message: Resource = $r("app.string.Hello_World");

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(30)
          .fontWeight(FontWeight.Bold)
        Image($r("app.media.p"))
          .width(100)
          .height(100)

        Button("设置偏好语言ms-MY").onClick((event: ClickEvent) => {
          T3("ms-MY")
          //如果设置的偏好语言找不到会默认用系统语言
        })
        Button("设置偏好语言zh-CN").onClick((event: ClickEvent) => {
          T3("zh-CN")
        })
        Button("设置偏好语言为fr-FR").onClick((event: ClickEvent) => {
          T3('fr-FR')
        })
      }
      .width('100%')
    }
    .height('100%')
  }
}

function T3(lType:string) {
  try {
    let appPreferredLanguage: string = I18n.System.getAppPreferredLanguage(); // 获取应用偏好语言
    console.info('preferredLanguage is:' + appPreferredLanguage)
  } catch (error) {
    let err: BusinessError = error as BusinessError;
    console.error(`call System.getAppPreferredLanguage failed, error code: ${err.code}, message: ${err.message}.`);
  }
  try {
    I18n.System.setAppPreferredLanguage(lType); // 设置应用偏好语言为zh-Hans 简体
    console.info(`setAppPreferredLanguage ${lType} succeed`)
  } catch (error) {
    let err: BusinessError = error as BusinessError;
    console.error(`call System.setAppPreferredLanguage failed, error code: ${err.code}, message: ${err.message}.`);
  }
}
分享
微博
QQ
微信
回复
2024-12-19 18:16:57
相关问题
HarmonyOS 国际化如何切换
466浏览 • 1回复 待解决
HarmonyOS语言国际化咨询
221浏览 • 1回复 待解决
HarmonyOS 国际化方案
485浏览 • 1回复 待解决
HarmonyOS saveButton国际化问题
553浏览 • 1回复 待解决
HarmonyOS 权限弹窗国际化适配
389浏览 • 1回复 待解决
HarmonyOS 如何实现应用内的语言切换
538浏览 • 1回复 待解决
求助ETS如何多语言切换
3839浏览 • 1回复 待解决
HarmonyOS化时间戳
528浏览 • 1回复 待解决