NetPro.Globalization
6.0.3-beta.2
This is a prerelease version of NetPro.Globalization.
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-beta.2
NuGet\Install-Package NetPro.Globalization -Version 6.0.3-beta.2
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-beta.2" />
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-beta.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NetPro.Globalization, 6.0.3-beta.2"
#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-beta.2&prerelease // Install NetPro.Globalization as a Cake Tool #tool nuget:?package=NetPro.Globalization&version=6.0.3-beta.2&prerelease
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.0.0)
- Microsoft.EntityFrameworkCore.Sqlite (>= 6.0.0)
- NetPro.Core (>= 6.0.3-beta.2)
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 | 314 | 7/24/2023 |
6.0.15 | 797 | 7/19/2022 |
6.0.14 | 530 | 7/10/2022 |
6.0.13 | 575 | 6/15/2022 |
6.0.12 | 479 | 6/15/2022 |
6.0.11 | 478 | 6/15/2022 |
6.0.10 | 479 | 6/11/2022 |
6.0.9 | 494 | 6/8/2022 |
6.0.8 | 528 | 5/26/2022 |
6.0.8-beta.3 | 152 | 5/24/2022 |
6.0.8-beta.2 | 123 | 5/24/2022 |
6.0.7 | 486 | 5/18/2022 |
6.0.6 | 599 | 4/28/2022 |
6.0.5 | 558 | 3/30/2022 |
6.0.5-beta.20 | 118 | 4/27/2022 |
6.0.5-beta.19 | 123 | 4/25/2022 |
6.0.5-beta.18 | 122 | 4/22/2022 |
6.0.5-beta.17 | 120 | 4/16/2022 |
6.0.5-beta.16 | 194 | 4/8/2022 |
6.0.5-beta.15 | 122 | 4/8/2022 |
6.0.5-beta.14 | 131 | 4/7/2022 |
6.0.5-beta.13 | 132 | 4/7/2022 |
6.0.5-beta.12 | 117 | 4/6/2022 |
6.0.5-beta.11 | 158 | 4/6/2022 |
6.0.5-beta.10 | 143 | 3/31/2022 |
6.0.5-beta.9 | 136 | 3/26/2022 |
6.0.5-beta.8 | 148 | 3/22/2022 |
6.0.5-beta.7 | 136 | 3/21/2022 |
6.0.5-beta.6 | 146 | 3/14/2022 |
6.0.5-beta.5 | 154 | 3/2/2022 |
6.0.5-beta.4 | 149 | 2/22/2022 |
6.0.5-beta.3 | 136 | 2/18/2022 |
6.0.5-beta.2 | 126 | 2/18/2022 |
6.0.5-beta.1 | 140 | 2/16/2022 |
6.0.4 | 576 | 2/10/2022 |
6.0.3 | 598 | 2/9/2022 |
6.0.3-beta.9 | 121 | 2/10/2022 |
6.0.3-beta.7 | 150 | 1/27/2022 |
6.0.3-beta.6 | 138 | 1/19/2022 |
6.0.3-beta.5 | 154 | 1/17/2022 |
6.0.3-beta.4 | 148 | 1/16/2022 |
6.0.3-beta.3 | 144 | 1/14/2022 |
6.0.3-beta.2 | 139 | 1/13/2022 |
6.0.3-beta.1 | 160 | 1/11/2022 |
6.0.2 | 365 | 1/6/2022 |
6.0.1 | 1,025 | 12/3/2021 |
3.1.11 | 403 | 11/17/2021 |
3.1.10 | 454 | 7/29/2021 |