MudBlazor多國語言設置
1. 安裝必要的套件
- Microsoft.Extensions.Localization
- MudBlazor
2. 在 Program.cs 中註冊本地化服務和資源檔案:
- builder.Services.AddLocalization(); // 加入多國語言服務,要指定時 (options => options.ResourcesPath = "Language");
- .......
- var app = builder.Build();
- .......
- // 設定支援的語言
- var supportedCultures = new[] { "en-US", "zh-TW" };
-
var localizationOptions = new RequestLocalizationOptions()
- .SetDefaultCulture("zh-TW") // 預設語言
- .AddSupportedCultures(supportedCultures)
- .AddSupportedUICultures(supportedCultures);
- app.UseRequestLocalization(localizationOptions); // 啟用多國語言中介軟體
3. 建立資料夾及資料檔
- (1) 在專案下建立Resources資料夾(可自行命名),也可以再建立子目錄Locales
- (2) 在Locales目錄上按右鍵 加入->新增項目 搜尋 資源檔,建立Language.resx
- (3) 在Language.resx上按右鍵 選取[開啟方式...] -> 在選 [受控資源編輯器(舊版)] -> 在視窗最上面有一下拉框叫存取修飾詞(預設是不產生程式碼)將其改成Public,會有警示按確定即可。
- (4) 可能會產生一個錯誤,重建專案就會消失
-
(5) 再將Language.resx重新命名為Language.en-US.resx,進入建立第一筆欲轉換標籤如:
- 中性質(即預設值):Unsort
- en-US:Unsort
-
(6) 再建立資源檔名為Language.zh-TW.resx (因為同是 Language. 不用再去更改'存取修飾詞'選項),此時就會多一欄位zh-TW可填中文
- zh-TW:無排序
注意:MudButton標籤的按鈕會有問題(會重置為預設語系中文)
只能用一般按鈕加上MudButton的class
按鈕事件結果: