Skip to content

Database Resource Localization for .NET Core with Entity Framework and In Memory Cache

License

Notifications You must be signed in to change notification settings

BilgeAdam/Localization

 
 

Repository files navigation

NetCoreStack Localization v1.0.6

Database Resource Localization for .NET Core with Entity Framework and In Memory Cache

NuGet NuGet

Links

Docker File

PM> docker pull tahaipek/netcorestack-localization-test-hosting
PM> docker run -d -p 5003:80 netcorestack-localization-test-hosting

Requirements:

  • .NET Core 2.1 or later
  • SQLite or MsSQL Server

Install for .NET Core

PM> Install-Package NetCoreStack.Localization

Features

  • .NET Core Resources in MsSql Server
  • Injectable .NET Core StringLocalizers
  • Serve Resources to JavaScript as JSON
  • Directly access and manage Languages/Resources with api and code

Installation

AppSettings Configuration

Configuration settings in AppSettings.json:

{
	"DbSettings": {
		"SqlConnectionString": "Server=.;Database=LocalizationTest;Trusted_Connection=True;MultipleActiveResultSets=true"
	},
	"LocalizationSettings": {
		"UseDefaultLanguageWhenValueIsNull": true
  	}
}

Enable NetCoreStack.Localization in ASP.NET Core

public void ConfigureServices(IServiceCollection services)
{
	services.AddNetCoreStackMvc(options => { options.AppName = "NetCoreStack Localization"; });
	services.AddNetCoreStackLocalization(Configuration);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
	app.UseNetCoreStackMvc();
	app.UseNetCoreStackLocalization();
}

Client-side localization in *.cshtml file

<head>
	<!-- Optional: The resources defined javascript. =>  "window.culture.resource"  -->
	<netcorestack-javascriptregistrar></netcorestack-javascriptregistrar>
    
	<!-- 
	Optional: 
	   - If you want cookies to be set by JavaScript, you should use this.   
	   - If you don't want cookies to be set by JavaScript, remove this line. It will automatically redirect to Controller Action.
	-->
	<netcorestack-languageSelector-scripts></netcorestack-languageSelector-scripts>
</head>
<body>
	<!--  
	Required: Language Selector Combobox
	Optional:
	   - If you want cookies to be set by JavaScript, you should set "set-cookie-with-java-script" property.   
	   - If you don't want cookies to be set by JavaScript, the application sets it through Controller Action.
	-->
	<netcorestack-languageSelector name="culture" set-cookie-with-java-script="true"></netcorestack-languageSelector>
	
	@Localizer["Logo_Description"]
</body>

Back-end Localization in *.cs file

public class HomeController : Controller
{
	private readonly IStringLocalizer _stringLocalizer;
	public HomeController(IStringLocalizer stringLocalizer)
	{
		_stringLocalizer = stringLocalizer;
	}

	public IActionResult About()
	{
		ViewData["Message"] = _stringLocalizer["AboutPageDescription"];
		return View();
	}
}

Test Project Preview

How To Use Forms & Validations
Component Api Client-Side Localization
Exception Localization AjaxException Localization

.Net Core Localization

.Net Core Localization with Entity Framework

.Net Core Database Localization

About

Database Resource Localization for .NET Core with Entity Framework and In Memory Cache

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 58.8%
  • HTML 22.9%
  • PLpgSQL 17.0%
  • CSS 1.2%
  • Other 0.1%