1.根据浏览器语言显示语言
-
项目中新建Resources文件夹
-
新建Text.resx文件(这个不用加语言的后缀,会报错
自定义工具 PublicResXFileCodeGenerator 未能对输入文件产生输出
) -
新建其他语言的Text文件,比如Text.zh.resx
-
resx文件中访问修饰符需要设置
public
,每个文件中的名称需要相同,值是各个语言
-
完成之后,类似下图
-
在
Program.cs
中添加builder.Services.AddLocalization();
-
在
_Imports.razor
中添加@using Microsoft.Extensions.Localization
@using 项目名.文件夹名称
,例如:@using BlazorWasmLocalization.Shared.ResourceFiles
-
在页面中添加代码,其中Text就是resx文件的名称
1 | @page "/" |
2.根据用户选择的语言显示语言
- 可以新建一个组件也可以直接在页面中添加
1 | <!-- 下拉选框 --> |
- 在项目下新建一个
Extensions
文件夹,新建一个WebAssemblyHostExtension.cs
文件
1 | public static class WebAssemblyHostExtension |
- 在
Program.cs
中添加
1 | var host = builder.Build(); |
- 在
wwwroot/index.html
中添加
1 | <script> |
- 在csproj文件中添加
1 | <BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData> |
- 运行即可