最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

H5快應(yīng)用國(guó)際化

標(biāo)簽:
Android

案例背景

最近在H5快应用开发过程中,需要根据系统语言加载对应的H5动态网址。但我的项目中的网站国际化是根据动态url来实现的,需要我自己实现动态加载不同国家语言的url网址。比如,手机系统语言为日语时,打开日语网页;系统语言为简体中文时,打开简体中文网页,系统语言为英语时,打开英文网站,如下图所示:

在这里插入图片描述在这里插入图片描述在这里插入图片描述

解决方案

步骤一:绑定变量

web组件的src属性值需要用变量绑定,不能固定写死,如下图中{{ }}中的loadUrl就是一个绑定变量,loadUrl在ux文件中script标签下进行定义,如果是基于海外快应用IDE H5模板创建的工程,此步骤可忽略,IDE模板代码都已经帮你搞定了。

 <!—template部分 -->
 
       <web src="{{loadUrl}}"
 
         </web>
 
      <!—script部分 -->
 
       export default {
 
           data: {
 
              loadUrl: "https://transit.navitime.com/en",
 
           },
步骤二:初始化变量

在快应用生命周期onInit()方法中通过快应用API device接口获取系统地区语言,判断语言后加载对应的H5网址。

onInit: function () {
            const device = require("@system.device")
            const res = device.getInfoSync();
            let local = res.language;  //system lauguage  
            let region = res.region;  //system region
            console.info('onInit :localole= ' + local + ", region=" + region);
            if (local === 'zh') {
                if (region === "CN") {
                    this.loadUrl = "https://transit.navitime.com/zh-cn/";
                } else if (region === "TW") {
                    this.loadUrl = "https://transit.navitime.com/zh-tw/";
                }
            } else if (local === 'ja') {
                this.loadUrl = "https://transit.navitime.com/ja/?from=huawei.quickapp";
            } else {
                //Other languages can use the default language H5
                this.loadUrl = "https://transit.navitime.com/en";
            }
        },
    

步骤三

此步骤是针对H5快应用已经打开运行的场景。如果用户此时去系统设置切换语言,希望H5网页也要更新相应的语言。如果不想更新,可以忽略此步骤,用户可以退出应用,重新进入即可。

快应用提供了在运行期间监听语言配置发生变化的接口,适配代码如下:

onConfigurationChanged(object) {
            console.log("onConfigurationChanged object=" + JSON.stringify(object));
            if (object.type === "locale") {
                const configuration=require("@system.configuration")
                var localeObject = configuration.getLocale();
                let local= localeObject.language;
                let region= localeObject.countryOrRegion;
               console.info(onConfigurationChanged(object :localole= ' + local + ", region=" + region);
            if (local === 'zh') {
                if (region === "CN") {
                    this.loadUrl = "https://transit.navitime.com/zh-cn/";
                } else if (region === "TW") {
                    this.loadUrl = "https://transit.navitime.com/zh-tw/";
                }
            } else if (local === 'ja') {
                this.loadUrl = "https://transit.navitime.com/ja/?from=huawei.quickapp";
            } else {     
                //Other languages can use the default language H5
                this.loadUrl = "https://transit.navitime.com/en";
            }     
            }
        },
 

总结

此案例可以帮助开发者快速实现网页加载的国际化,为H5快应用全球发布提供了好的解决方案。


作者:AppGallery Connect

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消