NetPro.Globalization
6.0.3
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package NetPro.Globalization --version 6.0.3
NuGet\Install-Package NetPro.Globalization -Version 6.0.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NetPro.Globalization" Version="6.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NetPro.Globalization --version 6.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NetPro.Globalization, 6.0.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NetPro.Globalization as a Cake Addin #addin nuget:?package=NetPro.Globalization&version=6.0.3 // Install NetPro.Globalization as a Cake Tool #tool nuget:?package=NetPro.Globalization&version=6.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
NetPro.Globalization使用
国际化多语言使用,支持官方资源文件的方式外底层增加了sqlite持久化存储方式,便于跨语言跨项目共享和检查遗漏的多语言
使用
初始化服务
无依赖方式
public void ConfigureServices(IServiceCollection services)
{
services.AddGlobalization();
}
public void Configure(IApplicationBuilder application)
{
application.UseRouting();
//置于app.UseRouting()后便可;
var configuration = application.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());
localizationOptions.RequestCultureProviders.Insert(1, new CookieRequestCultureProvider());
localizationOptions.RequestCultureProviders.Insert(2, new AcceptLanguageHeaderRequestCultureProvider());
application.UseRequestLocalization(localizationOptions);
}
appsetting.json
{
"Globalization": {
"ConnectionString": "Data Source=LocalizationRecords.sqlite", //存储多语言的sqlite地址,初始化会默认生成数据库
"Cultures": [
"zh-CN",
"en-US"
]
}
}
依赖于的环境使用
直接引用NetPro.Globalization nuget包,加入如下json配置即可
appsetting.json
{
"Globalization": {
"ConnectionString": "Data Source=LocalizationRecords.sqlite", //存储多语言的sqlite地址,初始化会默认生成数据库
"Cultures": [
"zh-CN",
"en-US"
]
}
}
业务使用
[ApiController]
[Route("/api/v1/[controller]")]
public class WeatherForecastController : ControllerBase
{
private readonly IStringLocalizer<Localization.SqlLocalizer.IntegrationTests.SharedResource> _aboutLocalizerizer;//共享多语言资源
public WeatherForecastController(IStringLocalizer<Localization.SqlLocalizer.IntegrationTests.SharedResource> aboutLocalizerizer)
{
_aboutLocalizerizer = aboutLocalizerizer;
}
[HttpGet("pay/create")]
public string Get()
{
var cultureui = CultureInfo.CurrentUICulture.ToString();
var culture = CultureInfo.CurrentCulture.ToString();
//原生用法,底层会处理sqlite持久化
return _aboutLocalizerizer["Name"];//会从SharedResource资源下查询Name对应的多语言,查询不到进入指定sqlite中查询,继续查询不到插入Name.当前语言代码
}
}
tips
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- Localization.SqlLocalizer (>= 3.1.0)
- Microsoft.EntityFrameworkCore.Sqlite (>= 6.0.1)
- NetPro.Core (>= 6.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on NetPro.Globalization:
Repository | Stars |
---|---|
LeonKou/NetPro
🌈An enhanced version with clean architecture of asp.netcore,efficiently manage startup,Support for netcore3.1/6.0
|
Version | Downloads | Last updated |
---|---|---|
6.0.16 | 315 | 7/24/2023 |
6.0.15 | 798 | 7/19/2022 |
6.0.14 | 531 | 7/10/2022 |
6.0.13 | 576 | 6/15/2022 |
6.0.12 | 480 | 6/15/2022 |
6.0.11 | 479 | 6/15/2022 |
6.0.10 | 480 | 6/11/2022 |
6.0.9 | 495 | 6/8/2022 |
6.0.8 | 531 | 5/26/2022 |
6.0.8-beta.3 | 153 | 5/24/2022 |
6.0.8-beta.2 | 124 | 5/24/2022 |
6.0.7 | 487 | 5/18/2022 |
6.0.6 | 600 | 4/28/2022 |
6.0.5 | 559 | 3/30/2022 |
6.0.5-beta.20 | 119 | 4/27/2022 |
6.0.5-beta.19 | 124 | 4/25/2022 |
6.0.5-beta.18 | 123 | 4/22/2022 |
6.0.5-beta.17 | 121 | 4/16/2022 |
6.0.5-beta.16 | 195 | 4/8/2022 |
6.0.5-beta.15 | 123 | 4/8/2022 |
6.0.5-beta.14 | 132 | 4/7/2022 |
6.0.5-beta.13 | 133 | 4/7/2022 |
6.0.5-beta.12 | 118 | 4/6/2022 |
6.0.5-beta.11 | 159 | 4/6/2022 |
6.0.5-beta.10 | 144 | 3/31/2022 |
6.0.5-beta.9 | 137 | 3/26/2022 |
6.0.5-beta.8 | 149 | 3/22/2022 |
6.0.5-beta.7 | 137 | 3/21/2022 |
6.0.5-beta.6 | 147 | 3/14/2022 |
6.0.5-beta.5 | 155 | 3/2/2022 |
6.0.5-beta.4 | 150 | 2/22/2022 |
6.0.5-beta.3 | 137 | 2/18/2022 |
6.0.5-beta.2 | 127 | 2/18/2022 |
6.0.5-beta.1 | 141 | 2/16/2022 |
6.0.4 | 577 | 2/10/2022 |
6.0.3 | 601 | 2/9/2022 |
6.0.3-beta.9 | 122 | 2/10/2022 |
6.0.3-beta.7 | 151 | 1/27/2022 |
6.0.3-beta.6 | 139 | 1/19/2022 |
6.0.3-beta.5 | 155 | 1/17/2022 |
6.0.3-beta.4 | 149 | 1/16/2022 |
6.0.3-beta.3 | 145 | 1/14/2022 |
6.0.3-beta.2 | 140 | 1/13/2022 |
6.0.3-beta.1 | 163 | 1/11/2022 |
6.0.2 | 366 | 1/6/2022 |
6.0.1 | 1,026 | 12/3/2021 |
3.1.11 | 404 | 11/17/2021 |
3.1.10 | 455 | 7/29/2021 |