當前位置:編程學習大全網 - 源碼下載 - 全棧項目開發3:應用程序國際化和權限處理

全棧項目開發3:應用程序國際化和權限處理

對於現在的APP應用,國際化的需求並不高,但作為壹個有用的功能,我們還是壹步壹步來實現。因為全局狀態管理和全局事件總線還沒有完成,所以暫時用壹個全局變量Locale來定義。因此,要完成切換,需要手動修改變量值並重啟應用程序(不能熱更新)。目前只實現了簡體中文和美式英語。

1.介紹國際化所需的包。

2.在Flutter節點下添加generate,在重啟或熱更新時實時更新翻譯文件。

3.在根目錄下添加文件l10n.yaml,配置實時更新內容。

4.將以下配置添加到根小部件的MaterialApp中,大多數配置在第三步中會自動更新。如果編譯器無法自動識別,可以手動導入以下包:導入' package:flute _ gen/gen _ l 10n/app _ localization . dart ';

5.編譯翻譯文件,在lib/I10n的目錄下添加app_zh.arb和app_en.arb兩個新文件(如果要指定國家代碼,可以創建為app_zh_CN.arb和app_en_US.arb)。文件使用Json語法,Vscode等編輯器也有相應的語法插件。至於翻譯語法,

註意:app代表變量名,後面可以用AppLocalizations.of(context)!。app,切換時會根據對應的翻譯文件顯示語言。

@app代表app變量的描述,是給翻譯者看的,與代碼運行無關。

模板句,有時候要實現壹句類似“倒計時20秒”只有數字變化的句子。這時就形成了壹個模板插值句,在模板中插入數字。上面的hit6實現了這樣壹個語法,最終會翻譯成壹個函數,讀者可以自己嘗試壹下。

關於iOS平臺

嘗試過國際化的讀者可能會發現,在iOS平臺上無法成功完成切換(上述全局變量方法與使用全局狀態管理的實現方法有本質區別,註意區分)。這是因為iOS應用有自建的語言環境管理機制,所以iOS應用采用上述方法來適應國際化是無效的。為了讓iOS應用程序支持國際化,需要在原生iOS項目中進行額外的配置。使用Xcode打開Flutter項目的原生iOS項目,切換到項目面板,然後在本地化選項配置中添加中文支持。

Android/ios平臺的權限處理是不可避免的。作為壹個演示應用,這個應用會要求盡可能多的權限,但它被設計成在用戶安裝後第壹次打開時只要求壹次,之後就不會主動要求,只在用戶需要使用相關功能時引導用戶給予權限。權限管理的實現相對簡單。可以參考permission_handler包,添加以下代碼,在APP啟動時調用壹次requestAllPermission函數。

下壹章:主題切換,歡迎頁,指南頁,

同名小破站,同步文章,定時直播節目,有興趣可以移步。

  • 上一篇:怎麽修改wordpress後臺路徑wordpress安裝路徑
  • 下一篇:蘋果mac系統怎麽設置使用搜狗輸入法?
  • copyright 2024編程學習大全網