HarmonyOS 鸿蒙Next 能否增加一个API参数使APP根据系统语言变化而变化

发布于 1周前 作者 vueper 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 能否增加一个API参数使APP根据系统语言变化而变化 #HarmonyOS最强问答官#

APP内做个切换语言功能:
1,跟随系统
2,中文
3,英文

获取系统语言:
i18n.System.getAppPreferredLanguage()
设置语言:
i18n.System.setAppPreferredLanguage(this.language)

当我设置APP内中文和英文后,

如果系统语言改变了,会把APP内部语言也改变,结果就变成了跟随系统了

期望:
能不能增加一个api参数,是否让APP跟随系统语言而改变


更多关于HarmonyOS 鸿蒙Next 能否增加一个API参数使APP根据系统语言变化而变化的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
import router from '@ohos.router';
import I18n from '@ohos.i18n';

@Component
@Entry
struct Index {
    status: number = 0;

    build() {
        Column() {
            Text($r('app.string.module_desc'))
                .onClick(() => {
                    router.pushUrl({ url: 'pages/Index2' });
                });

            Button('改变语言').onClick(() => {
                if (this.status == 0) {
                    I18n.System.setAppPreferredLanguage('zh-Hans');
                    this.status = 1;
                } else {
                    I18n.System.setAppPreferredLanguage('en-Latn-US');
                    this.status = 0;
                }
            });
        }
    }
}

你再加个if分支写上你的跟随系统的逻辑就行了

更多关于HarmonyOS 鸿蒙Next 能否增加一个API参数使APP根据系统语言变化而变化的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


关于HarmonyOS 鸿蒙Next能否增加一个API参数使APP根据系统语言变化而变化的问题,这实际上涉及到APP语言设置的灵活性。在HarmonyOS平台上,目前APP的语言设置通常是通过i18n.System.setAppPreferredLanguage方法来实现的。然而,该方法设置后,若系统语言发生变化,APP内部语言可能会跟随改变,这并不完全符合所有开发者的需求。

对于期望APP语言能够独立于系统语言设置的开发者而言,目前的一种解决方案是在APP内部维护一个语言设置选项,并使用用户首选项来保存该设置。在APP启动时,根据保存的语言设置来调用setAppPreferredLanguage方法,从而确保APP语言与用户设置保持一致,而非跟随系统语言变化。

虽然HarmonyOS目前未直接提供通过API参数控制APP是否跟随系统语言变化的选项,但上述方法可在一定程度上实现类似效果。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部