Yerelleştirilebilir Çözüm Oluşturmak

Dynamics 365 içerisinde oluşturduğumuz birçok nesne için dil paketi ayarı yapabiliyoruz ama yazdığımız kodlarda özellikle JavaScipt içerisinde bunları yönetmek için ekstra kodlama yapmamız gerekiyordu. Ama localizable solutions mantığı ile artık JS dosyalarımıza RESX yani dil paketi tanımlayabiliyoruz.

Bunun için JS kodumuz içerisinde Xrm.Utility.getResourceString fonksiyonunu çağırmamız gerekmektedir. Aşağıdaki örnek kodda da görebileceğiniz üzere brs_messages diye isimlendirdiğim RESX nesnesi üzerinden dil karşılığını öğrenmek istediğim satırı çağırıyorum.

function showAlertDialogGetTextFromResource() {
    var alertStrings = {
        confirmButtonLabel: Xrm.Utility.getResourceString("brs_messages", "rConfirmButtonLabel"),
        text: Xrm.Utility.getResourceString("brs_messages", "rAwesome")
    };
    var alertOptions = {
        height: 300,
        width: 500
    };
    Xrm.Navigation.openAlertDialog(alertStrings, alertOptions);
}
Visual Studio ile RESX oluşturmak
Visual Studio ile RESX oluşturmak

RESX dosyasını Visual Studio ile kolayca üretebilirsiniz ama buradaki 2 tane püf noktası var;

Birinci püf noktası, RESX dosyasını isimlendirirken dil kodunu da vermeniz gerekmektedir. Yani İngilizce için brs_messages.1033.resx Türkçe için ise brs_messages.1055.resx diye dosya oluşturmanız gerekmektedir. ve bu dosyayı sisteme RESX olarak yüklemeniz gerekmektedir.
Diğer dil kodlarının listesi ise burada https://docs.microsoft.com/en-us/previous-versions/windows/embedded/ms912047(v=winembedded.10)?redirectedfrom=MSDN

RESX dosyasını Dynamics'e eklemek
RESX dosyasını Dynamics’e eklemek

İkinci olarak da bu dosyayı resx olarak yükledikten sonra JavaScript bağımlılıklarını ayarlamak. JS dosyasını sisteme yükledikten sonra Dependencies bölümünden RESX dosyalarını da seçmeniz gerekmekte.

JavaScript Dependencies
JavaScript Dependencies