LazZiya.ExpressLocalization

Express localization settings package for dotnet core web appliations. Localize (Views, DataAnnotations, ModelBinding, IdentityErrors, Client side validation errors and scripts) and add RouteValueRequestCultureProivder with one clean step.


Keywords
asp.net, core, razor, mvc, localization, globalization, client, side, validation, scripts, asp-net-core, express-localization, nuget
License
MIT
Install
Install-Package LazZiya.ExpressLocalization -Version 4.0.4

Documentation

ATTENTION: Due to several major breaking changes in the planned v5, the next version has been moved to a new project! ExpressLocalization will continue to get support and hotfixes. To continue with the next vesion please see:

New project repository: XLocalizer

New project docs: DOCS.Ziyad.info

Sample repository: XLocalizer.Samples

What is ExpressLocalization?

A nuget package to simplify the localization setup of any Asp.Net Core web application.

How to use

Install from nuget :

Install-Package LazZiya.ExpressLocalization

Add ExpressLocalization to startup.cs:

using LazZiya.ExpressLocalization;

public void ConfigureServices(IServiceCollection services)
{    
    var cultures = new CultureInfo[]
    {
        new CultureInfo("en"),
        new CultureInfo("tr"),
        new CultureInfo("ar")
    };

    services.AddRazorPages()
        .AddExpressLocalization<LocalizationResource>(
            ops =>
            {
                ops.ResourcesPath = "LocalizationResources";
                ops.RequestLocalizationOptions = o =>
                {
                    o.SupportedCultures = cultures;
                    o.SupportedUICultures = cultures;
                    o.DefaultRequestCulture = new RequestCulture("en");
                };
            });
}

Then configure the app to use RequestLocalization middleware :

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // Other codes...
    
    // Add localization middleware to the app
    app.UseRequestLocalization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
    });
}

Setup and options

For all details goto wiki pages

Step by step tutorial

Sample projects

License

MIT