Blazor WASM App 實作多國語系紀錄

多國語系開發筆記

參考文件

Localization in Blazor: Carl Franklin's Blazor Train Ep 90

多國語言實作前期

  1. 必需在系統初期就把多國語系框架定案。否則後期很難再加入多國語系機制。

  2. 必需決定多國語言支援的程度。這影嚮實作方法。 想要支援幾個國定地區,如:只有二國:中文/英文,或三、四國。 想要支援語系文化差異程度,如:中東地區由右往左排版的大問題。 若多國語系框架良好事後增加幾個國定地區都不難,除了『文化與 UI 習慣』完全相異以外。

多國語言系統開發主要步驟

  1. 安裝相關套件

  2. 啟用

  3. 設定多國語系支援程度

  4. 指定(預設)語系

  5. 切換語系介面

  6. 套用多國語系機制

  7. FluentValidation 多國語系支援部份 (option)

相關重要指令

開發環境

平台: .NET6 IDE: Visual Studio 2022 框架: Blazor WASM App

安裝相關套件

啟用多國語系

設定語系切換機制

語系還是要切換的,在 Blazor WASM App 現在語系設定一般放在 local storage。

設定多國語系支援程度

在設定語系之前要設定多國語系支援程度。

指定(預設)語系

將自 local storage 取得指定語系開啟畫面。

切換語系介面

雖說是切換語系,大部份的實作其實是指定新語系後重新啟動(程式)畫面,開啟過程中用(新)指定的語系執行。基本上沒有人會不斷切換語系。

製作切換語系的下拉元件,完成後掛到 AppBar 上。

套用多國語系機制

一、在『多國語系資源區』設定各個多國語系。

在成功套入多語系模組後,就可以在『多國語系資源區』為各個元件設定多國語系。以下圖為例。

在啟動時指定了『多國語系資源區』的位置為"Resources"。各元的相對位置與目標位置的相對位置是一樣的。語系資料檔名稱格式:<元件名稱>.<語系>.resx

二、用 IStringLocalizer<T> 介面取多國語系的值。

以 Counter.rezor 為例。套入IStringLocalizer<T>後的碼。

沒圖沒真象

中英語系切換截圖

完整程式碼

(完成)

Last updated