国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第七十一回:國(guó)際化設(shè)置

這篇具有很好參考價(jià)值的文章主要介紹了第七十一回:國(guó)際化設(shè)置。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

我們?cè)谏弦徽禄刂薪榻B了Card Widget相關(guān)的內(nèi)容,本章回中將介紹國(guó)際化設(shè)置.閑話休提,讓我們一起Talk Flutter吧。

概念介紹

我們?cè)谶@里說(shuō)的國(guó)際化設(shè)置是指在App設(shè)置相關(guān)操作,這樣可以讓不同國(guó)家的用戶使用App時(shí)呈現(xiàn)不同的語(yǔ)言??傊?,就是通過(guò)相關(guān)的操作,讓App支持多個(gè)國(guó)家的語(yǔ)言。

設(shè)置方法

對(duì)多國(guó)語(yǔ)言的設(shè)置是通過(guò)MaterialApp組件完成的,該組件提供了相關(guān)的屬性來(lái)控制App支持的語(yǔ)言,這些屬性如下:

  • locale屬性:用來(lái)控制當(dāng)前App中使用的語(yǔ)言,如果不設(shè)置默認(rèn)是手機(jī)系統(tǒng)語(yǔ)言;
  • localizationsDelegates屬性:用來(lái)存放App支持的多國(guó)語(yǔ)言包,如果不設(shè)置默認(rèn)只有en-US一種語(yǔ)言包;
  • supportedLocales屬性:用來(lái)控制App支持的語(yǔ)言種類(lèi);

這三個(gè)屬性中,常用的是最后兩個(gè)屬性,而且如果想讓App實(shí)現(xiàn)國(guó)際化時(shí),這兩個(gè)屬性必須要設(shè)置。第一個(gè)屬性通常不設(shè)置,也就是讓App使用當(dāng)前手機(jī)系統(tǒng)中設(shè)置的語(yǔ)言,不過(guò)我們可以通過(guò)它手動(dòng)設(shè)置App的語(yǔ)言,這樣在程序中調(diào)試其它語(yǔ)言時(shí)不需要切換手機(jī)系統(tǒng)中的語(yǔ)言,直接在App中調(diào)試就可以。

示例代碼

return MaterialApp(
  //locale屬性可以手動(dòng)指定當(dāng)前app使用的語(yǔ)言和地區(qū),如果不指定,默認(rèn)為跟隨系統(tǒng)語(yǔ)言
  // locale: Locale('zh','CN'),
  locale: Locale('es'),
  localizationsDelegates: [
    //添加自己定義的多語(yǔ)言文字
    AppLocalizations.delegate,
    //添加這三個(gè)delegate后界面上的文字就會(huì)自動(dòng)適配手機(jī)當(dāng)前的語(yǔ)言
    //這三個(gè)庫(kù)包含系統(tǒng)自帶組件中使用的文字,比如日期組件中的年月日
    GlobalMaterialLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
    GlobalCupertinoLocalizations.delegate,
  ],
  //添加多國(guó)語(yǔ)言和語(yǔ)言對(duì)應(yīng)的地區(qū),IOS的版本在info.plist中添加
  supportedLocales: [
    Locale('en',"US"),
    Locale('zh',"CN"),
    Locale('es'),
  ],
);

上面的示例代碼是在MaterialApp組件中進(jìn)行的,我們只列出了核心代碼,其它代碼省略了,大家可以到Github上main.dart文件中查看完整的代碼。

我們對(duì)代碼中的相關(guān)內(nèi)容做一些解釋,以方便大家了解國(guó)際化相關(guān)的內(nèi)容;

  • locale屬性的類(lèi)型是Locale,可以使用兩個(gè)參數(shù)或一個(gè)參數(shù)的構(gòu)造方法來(lái)創(chuàng)建該類(lèi)的對(duì)象,第一個(gè)參數(shù)表示語(yǔ)言的代碼(languageCode),第二個(gè)參數(shù)表示語(yǔ)言所在地區(qū)的代碼(countryCode),比如zh有CN,HK,TW三種地區(qū)代碼,CN就是我們常見(jiàn)的簡(jiǎn)體中文,另外兩個(gè)地區(qū)使用的是繁體中文;
  • localizationsDelegates屬性是List類(lèi)型,我們可以在里面添加多種語(yǔ)言包,示例代碼中的第一個(gè)語(yǔ)言包是我們自定義的語(yǔ)言包,剩下的三個(gè)語(yǔ)言包是系統(tǒng)自帶的語(yǔ)言包,通常在App中必須添加這三個(gè)語(yǔ)言包,如果我們的App中使用了系統(tǒng)組件中的文字,那么就會(huì)使用這三個(gè)包中的內(nèi)容。如果不添加系統(tǒng)提供的包,程序編譯時(shí)可以通過(guò),但是到運(yùn)行時(shí)找不到包中的內(nèi)容就會(huì)出現(xiàn)異常。常見(jiàn)的是日期和時(shí)間組件中的"年月日"和"時(shí)分秒"這些文字。
  • 使用系統(tǒng)提供的語(yǔ)言包時(shí)需要添加這些包的依賴:在pubspec.yaml文件中添加以下內(nèi)容:
dependencies:
#添加國(guó)際化相關(guān)內(nèi)容,添加完后IDE會(huì)在窗口上方自動(dòng)彈出flutter命令,選擇pub get就可以添加依賴
#或者是在終端中執(zhí)行flutter命令,該依賴主要更新了Dart_Packages.xml文件中的內(nèi)容
flutter_localizations:
  sdk: flutter
  • 自定義語(yǔ)言包的內(nèi)容就是我們自己在App中添加的文字,關(guān)于創(chuàng)建自定義的語(yǔ)言包的內(nèi)容在后面章回中介紹;
  • 我們可以使用代碼來(lái)驗(yàn)證,App支持的語(yǔ)言和地區(qū),以及App當(dāng)前的語(yǔ)言,示例代碼如下:
//獲取App當(dāng)前的語(yǔ)言設(shè)置
Locale _locale = Localizations.localeOf(context);
Text("language code: ${_locale.languageCode}"),
Text("country code: ${_locale.countryCode}"),
//顯示App支持的所有語(yǔ)言
Text("local all: ${_locale.toString()}"),
//使用自定義語(yǔ)言包中的文字:helloWorld
Text("test localization: ${AppLocalizations.of(context)!.helloWorld}"),

內(nèi)容總結(jié)

上面小節(jié)的內(nèi)容比較零散,我們將總結(jié)一下如何給App設(shè)置國(guó)際化相關(guān)的內(nèi)容,以便讓大家更好地理解國(guó)際化相關(guān)的內(nèi)容:

  1. 在yaml配置文件添加系統(tǒng)語(yǔ)言包的依賴;
  2. 在MaterialApp中設(shè)置App包含的語(yǔ)言包和支持語(yǔ)言;
  3. 在App中使用語(yǔ)言包中的內(nèi)容,主要是自定義語(yǔ)言包中的內(nèi)容;

看官們,關(guān)于"國(guó)際化設(shè)置"相關(guān)的內(nèi)容就介紹到這里,歡迎大家在評(píng)論區(qū)交流與討論!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-506267.html

到了這里,關(guān)于第七十一回:國(guó)際化設(shè)置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • hyperf 十四 國(guó)際化

    官方網(wǎng)址:Hyperf 文件結(jié)構(gòu): ????????/storage/languages/en/messages.php ????????/storage/languages/zh_CH/messages.php 創(chuàng)建文件 /config/autoload/translation.php。 多語(yǔ)言的調(diào)用從注入開(kāi)始,即HyperfTranslationTranslator::__construct(TranslatorLoaderInterface $loader, string $locale)方法。根據(jù)配置文件Translato

    2024年02月11日
    瀏覽(24)
  • 微信小程序國(guó)際化

    微信小程序國(guó)際化

    參考文件: 國(guó)際化(微信小程序+TS 微信小程序國(guó)際化 https://github.com/wechat-miniprogram/miniprogram-i18n 注意:一定要注意項(xiàng)目目錄結(jié)構(gòu),新建文件夾miniprogram,并把前面新建的文件移到這個(gè)目錄中 在NEW-FAN-CLOCK1 中安裝根目錄依賴 在NEW-FAN-CLOCK1 / minprogram 中安裝依賴 1、初始化倉(cāng)庫(kù): 一

    2023年04月26日
    瀏覽(19)
  • springcloud微服務(wù)國(guó)際化

    springcloud微服務(wù)國(guó)際化

    單體應(yīng)用完成國(guó)際化還是比較簡(jiǎn)單的,可以看下面的示例代碼。 引入必要的依賴 創(chuàng)建一個(gè)攔截器 創(chuàng)建一個(gè)配置類(lèi) 然后在 resource 下創(chuàng)建 i18n 目錄,選中右鍵 New = Resource Bundle 填入 base name ,選擇 Project locales ,再 Add All ,確定即可。 打開(kāi)配置文件,填寫(xiě)對(duì)應(yīng)的中英文數(shù)據(jù) 配置

    2023年04月09日
    瀏覽(109)
  • SpringBoot復(fù)習(xí):(36)國(guó)際化

    SpringBoot復(fù)習(xí):(36)國(guó)際化

    一、Resources目錄下建立一個(gè)目錄(比如international)來(lái)存儲(chǔ)資源文件 message.properties 空的,但不能沒(méi)有 message_zh_CN.properties message_en_us.properties 二、自動(dòng)配置類(lèi)MessageSourceAutoConfiguration 常量MESSAGE_SOURCE_BEAN_NAME為messageSource,也就是有這個(gè)名字的bean,則自動(dòng)配置失效。 因?yàn)橛蠤Conditional(R

    2024年02月13日
    瀏覽(29)
  • vue2+element-ui使用vue-i18n進(jìn)行國(guó)際化的多語(yǔ)言/國(guó)際化

    vue2+element-ui使用vue-i18n進(jìn)行國(guó)際化的多語(yǔ)言/國(guó)際化

    注意:vue2.0要用8版本的,使用9版本的會(huì)報(bào)錯(cuò) 在src目錄下,創(chuàng)建新的文件夾,命名為i18n zh.js en.js index.js main.js 使用方式一 效果圖 使用方式二 效果圖 使用方式三,在 效果圖 ` 注意:這種方式存在更新this.$i18n.locale的值時(shí)無(wú)法自動(dòng)切換的問(wèn)題,需要刷新頁(yè)面才能切換語(yǔ)言。解

    2024年02月07日
    瀏覽(24)
  • Spring Boot實(shí)現(xiàn)國(guó)際化

    config controller 在Thymeleaf模板中引用國(guó)際化消息:

    2024年01月23日
    瀏覽(21)
  • Flutter GetX 之 國(guó)際化

    今天給大家介紹一下 GetX 的國(guó)際化功能,在日常開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)使用到國(guó)際化功能,需要們的應(yīng)用支持 國(guó)際化,例如我們需要支持 簡(jiǎn)體、繁體、英文等等。 上幾篇文章介紹了GetX的 路由管理 和 狀態(tài)管理,看到大家的點(diǎn)贊和收藏,還是很開(kāi)心的,說(shuō)明這兩篇文章給大

    2024年01月19日
    瀏覽(33)
  • 如何優(yōu)雅的實(shí)現(xiàn)前端國(guó)際化?

    如何優(yōu)雅的實(shí)現(xiàn)前端國(guó)際化?

    JavaScript 中每個(gè)常見(jiàn)問(wèn)題都有許多成熟的解決方案。當(dāng)然,國(guó)際化 (i18n) 也不例外,有很多成熟的 JavaScript i18n 庫(kù)可供選擇,下面就來(lái)分享一些熱門(mén)的前端國(guó)際化庫(kù)! i18next 是一個(gè)用 JavaScript 編寫(xiě)的全面的國(guó)際化框架,提供標(biāo)準(zhǔn)的 i18n 功能,包括復(fù)數(shù)、上下文、插值、格式等。

    2024年01月23日
    瀏覽(39)
  • Spring MVC(三) 國(guó)際化

    隨著全球化的加速發(fā)展,Web應(yīng)用的多語(yǔ)言支持變得越來(lái)越重要。對(duì)于開(kāi)發(fā)者來(lái)說(shuō),如何實(shí)現(xiàn)應(yīng)用的國(guó)際化成為了一個(gè)不可忽視的問(wèn)題。作為Java Web開(kāi)發(fā)的重要框架,Spring MVC在處理國(guó)際化方面有著豐富的功能和靈活的解決方案。本文將探討Spring MVC的國(guó)際化部分內(nèi)容,并通過(guò)自己

    2024年01月18日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包