User Login

Please enter user name and password into following boxes!

If you are not registered yet, please click

Forget Password

If you forget your password, please click

.NET Core Web API Language Support

    public class HomeController : Controller
        private readonly IStringLocalizer<HomeController> _localizer;

        public HomeController(IStringLocalizer<HomeController> localizer)
            _localizer = localizer;
        public IActionResult Index()
            return new ObjectResult(_localizer["Hello"]);


Add Resources folder then, add and Controllers.HomeController.en-EN.resx files in this Resources folder

Startup.cs file

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Localization;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.EntityFrameworkCore;
using TodoApi.Models;
using Microsoft.AspNetCore.Mvc.Razor;
using Microsoft.Extensions.Options;

namespace TodoApi
    public class Startup
        public Startup(IHostingEnvironment env)
            var builder = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
            Configuration = builder.Build();
        public IConfigurationRoot Configuration { get; }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
            // Add framework services.
            services.AddDbContext<TodoContext>(opt => opt.UseInMemoryDatabase());
            services.AddLocalization(options => options.ResourcesPath = "Resources");
            opts => { opts.ResourcesPath = "Resources"; })
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
            var supportedCultures = new[]
                new CultureInfo("en"),
                new CultureInfo("en-US"),
                new CultureInfo("tr"),
                new CultureInfo("tr-TR"),
            app.UseRequestLocalization(new RequestLocalizationOptions
                DefaultRequestCulture = new RequestCulture("tr-TR"),
                // Formatting numbers, dates, etc.
                SupportedCultures = supportedCultures,
                // UI strings that we have localized.
                SupportedUICultures = supportedCultures
            app.UseMvc(routes =>
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");

When requesting Accept-Language header value en-EN,tr;q=0.8,en-US;q=0.5,en;q=0.3 value, result will be as follows:

    "name": "Hello",
    "value": "Hi",
    "resourceNotFound": false

If Accept-Language header value is tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3 result will be:

    "name": "Hello",
    "value": "Merhaba",
    "resourceNotFound": false

PayPal - The safer, easier way to pay online!

Comments About Tutorial

There is no comment

Add Comment

What is (12 + 5) :

Please fill all text boxes

Message Result

Your comment is saved. After approved, it will be published

An Error Occured

We are sorry, your request cannot be continued try again later


Please login for this operation