FmgLib.LocalizationMaui

Son Güncellenme: 08 Eyl 2024

FmgLib.LocalizationMaui

İlgili servislere erişmek için, basitçe using FmgLib.Localization; ifadesini ekleyin.

Program.cs dosyasında,

builder
    .UseMauiApp<App>()
    .UseFmgLibLocalizationMaui();

Veya

builder.Services.AddFmgLibLocalizationMaui();

ifadesi eklenmelidir.

Ana projenizde json türünde bir dil dosyası bulunmalıdır. Çeviri bu dosyadan okunacak ve içe aktarılacaktır.

Eğer dosya yolu parametrede belirtilmezse (

builder
    .UseMauiApp<App>()
    .UseFmgLibLocalizationMaui();
  //.UseFmgLibLocalizationMaui(defaultLang:"en-US"); // or
  //.UseFmgLibLocalizationMaui(defaultLang:"en-US", "Loc1.json", "Loc2.json"); // or

veya

builder.Services.AddFmgLibLocalizationMaui();
// builder.Services.AddFmgLibLocalizationMaui(defaultLang:"en-US"); // or
builder.Services.AddFmgLibLocalizationMaui(defaultLang:"en-US", "Loc1.json", "Loc2.json"); // or

), ana dizinde Localization.json adında bir json dosyası aranır.

Eğer bir veya daha fazla parametre verirseniz,

builder
    .UseMauiApp<App>()
    .UseFmgLibLocalizationMaui("Localization1.json", "Localization2.json", "/Languages/Temp1.json");

veya

builder.Services.AddFmgLibLocalizationMaui("Localization1.json", "Localization2.json", "/Languages/Temp1.json");

belirtilen dosya yollarında json dosyalarını okur.

The critical point here is to select Build Action: MauiAsset for json files.

Uygun json formatı:

{
  "Hello": {
    "tr-TR": "Merhaba Dünya!",
    "en-US": "Hello World!"
  },
  "Msg": {
    "tr-TR": "Deneme amaçlı yapılmıştır.",
    "en-US": "It was made for testing purposes."
  }
}

'keyWord' anahtar kelimeleri yerine, istediğiniz herhangi bir kelime veya ifade(ler) kullanabilirsiniz. Herhangi bir Regex sınırlamanız yoktur.

Ayrıca 'tr-TR' ve 'en-US' gibi dil anahtarlarını da istediğiniz kelime veya cümlelerle değiştirebilirsiniz. Ancak, 'en-US', 'tr-TR', 'fr-FR' gibi ifadeler kullanmanız tavsiye edilir.

Kod içinde basitçe şu şekilde kullanabilirsiniz:

Console.WriteLine("keyWord 1".ToTranslate());

Eğer bir parametre belirtmezseniz, Culture'da kayıtlı olan dil ifadesine göre çeviri yapılır ('en-US', 'tr-TR' gibi dil anahtarları görünecektir).

Dil anahtarını belirterek çeviriyi kolayca alabilirsiniz:

Console.WriteLine("keyWord 1".ToTranslate("tr-TR"));
```