Resource file düzenleyici

Çok dil gerektiren uygulamalarda en pratik yöntem .resx dosyalarını kullanmaktır. Hazırladığımız .resx dosyalarını müşteriye gönderip istediği değişiklikleri yapabilmesi için aşağıdaki programlardan birini kullanabilirsiniz.

ResxEditor Download

SimpleResxEdito

JS Dosyalarında Localization Resource Textleri kullanma

Bilindiği gibi js dosyalarının içerisinden direk resource içerisindeki bir tanımlamaya  ulaşıp içerisindeki değerleri alınamıyor. Bunun için kullandığım yapı şu şekildedir. Öncelikle sayfa script dosyamızın yükleneceği sayfada(cshtml) üzerinde resource dosyasındaki değerleri okuyup global değişkenlerimde tutuyorum aşağıdaki gibi

<script type="text/javascript">
var resourcedangelendeger = "@Html.Raw(GeneralRess.GeneralStrings.s_enaz_bir_parametre_secmelisiniz)";
</script>

Tanımlamamdan daha sonra ise js file dosyasını ekliyorum.

<script src="@Url.Content("~/Scripts/customScript.js")" type="text/javascript"></script>

Script Dosya içerisinde ise global olarak tutulan değişkenimdeki değerleri okuyabiliyorum. Script dosya içerisinde alert ile resourcedaki değeri ekranda gösterelim.

$(document).ready(function () {
    alert(resourcedangelendeger);
});

Model class verilerini resourceden kullanmak

Model classımızın içerisinde tanımlamamızı aşağıdaki gibi yaparak, verilerin resource dosyamızdan çekilmesini sağlayabiliriz.

[RegularExpression("^[a-zA-Z0-9_\\.-]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$", ErrorMessageResourceType= typeof(BranchRess.BranchStrings), ErrorMessageResourceName ="email_gecersiz")]
[Required(ErrorMessageResourceName = "required_gerekli", ErrorMessageResourceType = typeof(GeneralRess.GeneralStrings))]
[DataType(DataType.PhoneNumber, ErrorMessageResourceType = typeof(GeneralRess.GeneralStrings), ErrorMessageResourceName = "invalid_telefon")]
[Display(ResourceType = typeof(BranchRess.BranchStrings), Name = "abone_mail")]
public string SubscriberEmail { get; set; }