Localization, bir uygulamanın içeriğini farklı dillere uyarlama sürecidir. Örneğin, bir e-ticaret uygulamanız olduğunu düşünün. Kullanıcılar İspanya’dan, Türkiye’den veya Almanya’dan giriş yaptığında, uygulamanızın arayüzü kullanıcıların diline göre değişebilirse, bu hem kullanıcı deneyimini artırır hem de global kullanıcı kitlesine hitap etmenizi sağlar. İşte .NET Core MVC'de, bunu gerçekleştirmek çok daha kolay hale geliyor.

Başlangıç: .NET Core MVC Projesinde Localization Özelliğini Etkinleştirme
1. Projenize Localization Özelliğini Ekleyin: .NET Core MVC’de yerelleştirme yapmak için Microsoft.Extensions.Localization paketine ihtiyacınız olacak. Bu paketi projenize eklemek için:
dotnet add package Microsoft.Extensions.Localization |
2. Startup.cs Dosyasını Düzenleyin: Startup.cs dosyasına gidin ve ConfigureServices metoduna Localization servislerini ekleyin. Bu, uygulamanızın yerelleştirme ayarlarını yönetmesini sağlar:
public void ConfigureServices(IServiceCollection services) { services.AddLocalization(options => options.ResourcesPath = "Resources"); services.AddMvc().AddViewLocalization().AddDataAnnotationsLocalization(); services.ConfigureRequestLocalizationOptions>(options => { var supportedCultures = new[] { "en-US", "tr-TR", "es-ES" }; options.SetDefaultCulture("en-US") .AddSupportedCultures(supportedCultures) .AddSupportedUICultures(supportedCultures); }); } |
3. Desteklenen Dilleri Ayarlayın: supportedCultures dizisinde belirttiğimiz diller, uygulamanızın desteklediği dilleri ifade eder. Örneğimizde İngilizce, Türkçe ve İspanyolca desteklenmektedir.

Dil Kaynak Dosyaları ile Çeviri Yapma
Localization işlemi için her dil için birer kaynak dosyasına ihtiyacınız var. Resources klasörünü oluşturun ve burada View veya Controller isimleriyle uyumlu .resx dosyaları ekleyin.
Örnek: HomeController.tr.resx ve HomeController.en.resx
Bu dosyalarda her bir dil için karşılık gelen metinleri saklayabilirsiniz. Örneğin:
HomeController.tr.resx
data name="WelcomeMessage" xml:space="preserve"> value>Hoş geldiniz!value> data> |
HomeController.en.resx
data name="WelcomeMessage" xml:space="preserve"> value>Welcome!value> data> |
Artık uygulamanız kullanıcıya göre otomatik olarak “Hoş geldiniz!” veya “Welcome!” mesajını gösterebilir.
Kodda Localization Nasıl Kullanılır?
Localization’ı kullanmak için sınıfınıza IStringLocalizer arayüzünü ekleyin. Bu arayüz, dil dosyalarındaki metinleri dinamik olarak çağırmanıza olanak tanır.
Örnek:
public class HomeController : Controller { private readonly IStringLocalizerHomeController> _localizer; public HomeController(IStringLocalizerHomeController> localizer) { _localizer = localizer; } public IActionResult Index() { ViewBag.WelcomeMessage = _localizer["WelcomeMessage"]; return View(); } } |
Bu örnekte, WelcomeMessage anahtarına karşılık gelen çeviri, kullanıcının diline göre seçilecek ve Index sayfasında görüntülenecektir.

Kullanıcı
Dilini Otomatik Algılama
Kullanıcının tarayıcı dilini algılamak ve buna göre içerik göstermek için RequestLocalizationOptions ayarlarını kullanabilirsiniz. Kullanıcı Türkçe tarayıcı ile giriş yaparsa, uygulama otomatik olarak Türkçe dilini seçer.
Localization’ın Faydaları
- -Kullanıcı Deneyimini Artırır: Kendi dilinde hizmet almak, kullanıcıların daha rahat hissetmelerini sağlar.
- -Global Erişim Sağlar: Farklı dilleri destekleyerek daha geniş bir kitleye hitap edebilirsiniz.
- -Kültürel Uyumluluk: Farklı bölgelerden gelen kullanıcılar için kültürel olarak uygun mesajlar verebilirsiniz.
-.NET Core MVC’de Localization kullanarak uygulamanızı daha erişilebilir hale getirmek oldukça kolaydır. Bu süreçte kullandığınız kaynak dosyalar ve çeviri yöntemleriyle farklı dillerde aynı kaliteli kullanıcı -deneyimini sağlayabilirsiniz.
Uygulamanızı dünya çapında kullanılabilir hale getirmek için şimdi bir adım atın ve Localization’ın gücünden faydalanarak kullanıcılarınıza kendi dillerinde hitap edin.