src/Library/NetPro.Globalization/readme.md
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
# NetPro.Globalization使用
[](https://nuget.org/packages/NetPro.Globalization)
国际化多语言使用,支持官方资源文件的方式外底层增加了sqlite持久化存储方式,便于跨语言跨项目共享和检查遗漏的多语言
此项目通过修改了[Localization.SqlLocalizer](https://github.com/damienbod/AspNetCoreLocalization)源码获得支持,特此感谢[damienbod](https://github.com/damienbod/AspNetCoreLocalization)
## 使用
### 初始化服务
#### 无依赖方式
没有依赖 [](https://nuget.org/packages/NetPro.Core)的使用,需要手动初始化注入
```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddGlobalization();
}
public void Configure(IApplicationBuilder application)
{
//置于app.UseRouting()后便可;
var configuration = app.ApplicationServices.GetService<IConfiguration>();
var globalization = configuration.GetSection(nameof(Globalization)).Get<Globalization>();
var cultures = globalization?.Cultures ?? new string[] { };
var localizationOptions = new RequestLocalizationOptions()
.AddSupportedUICultures(cultures)
//.AddSupportedCultures(cultures)
;
localizationOptions.RequestCultureProviders.Insert(0, new QueryStringRequestCultureProvider { UIQueryStringKey = globalization.UIQueryStringKey });
localizationOptions.RequestCultureProviders.Insert(1, new AcceptLanguageHeaderRequestCultureProvider());
localizationOptions.RequestCultureProviders.Insert(2, new CookieRequestCultureProvider());
app.UseRequestLocalization(localizationOptions);
}
```
appsetting.json
```json
{
"Globalization": {
"UIQueryStringKey": "language",//请求的query携带的多语言参数名
"ConnectionString": "Data Source=LocalizationRecords.sqlite", //sqlite地址
"Cultures": [
"zh-CN",
"en-US"
],
"Annotations": true, //是否打开注册数据注解本地化服务
"Record": false //不存在是否记录(自动插入数据库默认语系),默认true
}
}
```
#### 依赖于[](https://nuget.org/packages/NetPro.Core)的环境使用
后面还有 56 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。