src/Library/NetPro.Globalization/readme.md

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。


# NetPro.Globalization使用
 [![NuGet](https://img.shields.io/nuget/v/NetPro.Globalization.svg)](https://nuget.org/packages/NetPro.Globalization)

国际化多语言使用,支持官方资源文件的方式外底层增加了sqlite持久化存储方式,便于跨语言跨项目共享和检查遗漏的多语言

此项目通过修改了[Localization.SqlLocalizer](https://github.com/damienbod/AspNetCoreLocalization)源码获得支持,特此感谢[damienbod](https://github.com/damienbod/AspNetCoreLocalization)

## 使用

### 初始化服务

#### 无依赖方式

没有依赖 [![NuGet](https://img.shields.io/nuget/v/NetPro.Core.svg)](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
	}
}

```

#### 依赖于[![NuGet](https://img.shields.io/nuget/v/NetPro.Core.svg)](https://nuget.org/packages/NetPro.Core)的环境使用
后面还有 56 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。