!2752 doc(#I55RPM): update document for localization

* doc: 更新本地化文档
This commit is contained in:
Argo 2022-05-05 03:00:13 +00:00
parent 901440fe6b
commit 7422a077e0

View File

@ -15,16 +15,32 @@
<p>
<div>
<code>BootstrapBlazor</code> 组件额外支持使用 <code>Json</code> 类型的键值信息作为资源文件,将其解析为 <code>UI</code> 中呈现的字符串。<a href="https://www.nuget.org/packages/BootstrapBlazor/" target="_blank">BootstrapBalzor</a> 包自带中文zh、英语en两种资源文件。组件内置本地化语言回退机制如请求文化为 <code>zh-CN</code> 时,如未提供相对应的文化资源文件时,内置逻辑通过父级文化进行尝试本地化,以 <code>zh-CN</code> 为例回退机制如下:
<code>BootstrapBlazor</code> 组件额外支持使用 <code>Json</code> 类型的键值信息作为资源文件,将其解析为 <code>UI</code> 中呈现的字符串。<a href="https://www.nuget.org/packages/BootstrapBlazor/" target="_blank">BootstrapBalzor</a> 包自带以下资源文件。
</div>
<div>
<code>zh-CN</code> 到 <code>zh</code>
<ul class="ul-demo mt-2">
<li>中文zh</li>
<li>英语en</li>
<li>德语de</li>
<li>葡萄牙语pu</li>
</ul>
<div class="mt-2">
组件内置本地化语言回退机制,如请求文化为 <code>zh-CN</code> 时,如未提供相对应的文化资源文件时,内置逻辑通过父级文化进行尝试本地化,以 <code>zh-CN</code> 为例回退机制如下:<code>zh-CN</code> 到 <code>zh</code>
</div>
<div>
<div class="mt-2">
如果设置的本地化语言未提供资源文件回落后仍无法找到资源文件后,使用 <code>FallbackCulture</code> 参数设置的文化信息进行本地化,默认为 <code>en</code>
</div>
<div class=mt-2><b>特别注意:</b></div>
<div class="mt-2">由于某些系统如 <code>Centos</code> <code>Ubuntu</code> <code>mac</code> 等程序运行后线程无法获得文化信息,可以通过配置文件设置默认文化信息:</div>
</p>
<Pre>{
"BootstrapBlazorOptions": {
"DefaultCultureInfo": "en"
}
}</Pre>
<p><b>开启本地化功能</b></p>
<p><b>Server-Side App</b></p>
@ -41,8 +57,7 @@
"en-US"
]
}
}
</Pre>
}</Pre>
<p><b>2. 启用 .NET 核心本地化服务</b></p>
<Pre>public class Startup
@ -168,7 +183,7 @@ public class CultureController : Controller
<Pre>public void ConfigureServices(IServiceCollection services)
{
services.AddBootstrapBlazor(setupAction: options =>
services.AddBootstrapBlazor(localizationAction: options =>
{
// 设置 RESX 格式多语言资源文件 如 Program.{CultureName}.resx
options.ResourceManagerStringLocalizerType = typeof(Program);
@ -186,6 +201,28 @@ public class CultureController : Controller
}
</Pre>
<p>或者使用服务扩展方法 <code>ConfigureJsonLocalizationOptions</code></p>
<Pre>public void ConfigureServices(IServiceCollection services)
{
services.AddBootstrapBlazor();
services.ConfigureJsonLocalizationOptions(op =>
{
// 附加自己的 json 多语言文化资源文件 如 zh-TW.json
op.AdditionalJsonAssemblies = new Assembly[]
{
typeof(BootstrapBlazor.Shared.App).Assembly,
};
// 设置 Json 物理路径文件
options.AdditionalJsonFiles = new string[]
{
@@"D:\Argo\src\BootstrapBlazor\src\BootstrapBlazor.Server\Locales\zh-TW.json",
@@"D:\Argo\src\BootstrapBlazor\src\BootstrapBlazor.Server\Locales\zh-CN.json"
};
});
}</Pre>
<p><b>Web Assembly</b></p>
<p><b>1. 启用 .NET 核心本地化服务</b></p>