.NET Core'da JSON ile i18n Resource okuyucusu
.NET Core kütüphanelerinde, yerelleştirme amacıyla kullanılmak üzere özel bir Resource okuyucu oluşturacağız.
Category Fundamentals
Published: 05 Ağustos 2021
Bu yazıda .NET Core kütüphaneleri ile kullanmak üzere özel bir Resource okuyucu oluşturacağız.
İlk olarak, json
dosyamızı temsil eden bir sınıfa ihtiyacımız var:
Key
yerelleştirilecek kaynak için tanımlanacak özel bir isimdir. LocalizedValues
dillere göre görüntülenmesi gereken metni içerecek.
Ayrıca Exception
için yeni bir sınıf oluşturacağız, uygulamayla neyin yanlış gittiğini kolayca belirlemek için.
İşte sihrin gerçekleştiği yer, JsonLocalizer
sınıfı. Bizim için json resource
dosyalarını okuyacak, hafızada saklayacak ve uygulamamıza sunacak.
Bu sınıfın oluşturulması için iki parametre istiyoruz useBase
ve additionalPaths
.
useBase
pozitif olarak gönderilirse, Resources
klasörindeki *.json
dosyaları yüklenecektir.additionalPaths
ise Resources
klasörünün yolunu bulmak için kullanılır.
dotnet core
uygulamalarında, JsonLocalizer
sınıfını IServiceCollection
ConfigureServices
yöntemini kullanarak ekleyebilirsiniz.
additionalPaths
için ise
Artık her şeyi ayarladık, yerelleştiricimizi kullanmaya başlayabiliriz:
Yerelleştirici metni şu şekilde bulacaktır:
DosyaIsmi:Anahtar:Dil
Kaynak dosyalarınızı yazmanıza ilişkin bazı örnekler şunlardır:
Dosya Adı | Kaynak Adı |
---|---|
MyResource.json | MyResource |
MyApp.Resource.json | MyApp |
MyApp-Errors.Resource.json | MyApp-Errors |
MyApp.Errors.Resource.json | MyApp |
Key
kaynak dosyasının içindeki anahtardır ve Language
dil için kullanılır, bu paremetre verilmezse varsayılan kültür olan CultureInfo.CurrentCulture
kullanılır.
json
kaynak dosyası şu biçimi izlemelidir: