ASP.NET Core Blazor(UI:Telerik UI For Blazor) WebAssembly(Cl

前言

最近公司使用Blazor(UI:Telerik UI For Blazor)进行专案开发,开发过程中踩到坑,
于是写下来与大家分享(❁´◡`❁)

Blazor WebAssembly Localization 繁体化

Program.cs

Program

启用localization
builder.Services.AddTelerikBlazor();#region Localization Part 1builder.Services.AddSingleton(typeof(ITelerikStringLocalizer), typeof(CustomStringLocalizer));var host = builder.Build();await SetCultureAsync(host);await host.RunAsync();#endregion#region 设定语系static async Task SetCultureAsync(WebAssemblyHost host){        var cultureName = "zh-TW"; //需要建立相对应的resx档案    if (cultureName != null)    {        var culture = new CultureInfo(cultureName);        CultureInfo.DefaultThreadCurrentCulture = culture;        CultureInfo.DefaultThreadCurrentUICulture = culture;    }}#endregion

2.建立 CustomStringLocalizer.cs 之后可用来切换语系用

namespace BlazorApp1.Client.Services{    public class CustomStringLocalizer : ITelerikStringLocalizer    {        public string this[string name]        {            get            {                return GetStringFromResource(name);            }        }        public string GetStringFromResource(string key)        {            return TelerikMessages.ResourceManager.GetString(key, TelerikMessages.Culture);        }    }}

3.建立 TelerikMessages.zh-TW.resx 档案

我是使用官方给的範例文件里的英文版本去更改为繁体的 telerik-blazor-ui
resx

4.修改resx里面的文件路径为自己的专案路径

resxrouter

5.Client.csproj 加入这段(我就是少加这段Debugger了好久...)

<PropertyGroup><BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData></PropertyGroup>

6.最后看看繁体化的成果 ( •̀ ω •́ )y

result

小结

看了官方好多文件东拼西凑终于完成Telerik UI For Blazor 的繁体化,有了这个就可以让很多没有办法custom的地方繁体化了! 希望对大家有帮助~


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章