在說flutter國際化前,不得不提到,在uni-app中支持的Vue-i18n,兩者有相似之處,也有差異的地方。

創(chuàng)新互聯(lián)是一家專業(yè)提供萬寧企業(yè)網站建設,專注與成都網站建設、成都網站制作、H5場景定制、小程序制作等業(yè)務。10年已為萬寧眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
本篇借鑒了三篇熱門帖子
Flutter中的國際化:如何寫一個多語言的App
Flutter國際化完整例子
Internationalization - Make an Flutter application multi-lingual
只記錄根據手機系統(tǒng)語言自動轉換app語言
引入后,保存會自動加入安裝此依賴
我們新建一個和"/lib"同級別的文件夾"/locale",然后在這個文件夾中新建兩個文件,分別為"i18n_en.json" 和" i18n_zh.json"。再在"/lib"文件夾下創(chuàng)建和"main.dart"同級的"translation.dart"和"application.dart"。
??文件夾樹現(xiàn)在是這個樣子的:
MyApplication
? |
? +- android
? +- build
? +- images
? +- ios
? +- lib
?? |
?? +-main.dart
?? +-translation.dart
?? +-application.dart
? +- locale
?? |
?? +- i18n_en.json
?? +- i18n_zh.json
? +- test
在pubspec.yaml繼續(xù)加入json,引入靜態(tài)資源
補充:如果需要強制轉換的話(我自己沒有用到)
引入“flutter_localizations包”,并且“flutter packages get”:
Localizations匯總所有翻譯文本
添加到"localizationsDelegates":
到這一步應用能跟隨系統(tǒng)更改語言。
上一篇講到如果解決ios長按輸入框報錯的問題,但是最終沒有達到我們的要求,因為我們想實現(xiàn)中文的提示,那么本篇文章講講如何來實現(xiàn)多語言配置;
1.首先在pubspec.yaml的dependencies下加入這個
flutter_localizations:
sdk: flutter
如圖:
2.然后在MaterialApp設置一下localizationsDelegates如圖:
3.寫一個類繼承一下CupertinoLocalizations,在項目中 我這個類名叫ChineseCupertinoLocalizations(沒錯,就是localizationsDelegates中的第三個),如圖:
上次提到報錯的原因就是因為cutButtonLabel,copyButtonLabel,pasteButtonLabel,selectAllButtonLabel 這幾個按鈕沒有實現(xiàn),所以繼承CupertinoLocalizations一定要為這幾個按鈕賦值,這里是那種語言,那么,賦值就對應那種語言,同時要注意locale.languageCode也要填寫,如果你是中文,那么locale.languageCode =='zh';
4.在ios工程中,在項目的info設置語言環(huán)境
添加?Localization native development region---china
添加一個Localizations 為array類型的,并且設置值為?Chinese (simplified)
效果圖:( 注意:請把手機環(huán)境調試成中文的語言環(huán)境 )
Android?
ios 效果圖
我公司用flutter做了一個《柚品生活》的app,感興趣的朋友可以去看看,Android和ios都已經上架了
最后附上GitHub項目地址 GitHub - hxxsocket/flutter_lg_demo: flutter多語言配置之中文
分享文章:flutter切換語言,flutter調用c
文章轉載:http://www.jbt999.com/article42/phiihc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制網站、網站維護、虛擬主機、微信公眾號、靜態(tài)網站、域名注冊
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)