Общий подход к локализации в JavaScript заключается в переопределении полей локализованным файлом JavaScript, который загружается после основного.
т.е. ваши основные app.js или что вы называете это объявляет объект:
DateTime = {}
DateTime.days = ["Sunday", "Monday", "Tuesday", ...];
DateTime.dateFormat = "m/d/Y";
DateTime.getToday = function(date) {
var dayOfWeek = ...;
return DateTime.days[dayofWeek];
}
Затем в файле локализации, давайте назовем его locale_de-de.js добавить
DateTime.days = ["Sonntag", "Montag", "Dienstag", ...];
DateTime.dateFormat = "d.m.Y";
Это также как большинство javascript-фреймворков (т.е. ExtJS, AngularJS) выполняют свои локализации. В шаблонах просто сделать
@Scripts.Render("~/bundles/app")
@Scripts.Render("~/bundles/locale_de-de")
Нет необходимости для строк ресурсов и «разбора» файлы JavaScript, чтобы заменить значения с единицами из ресурсов натягивает
возможно дубликат [Как использовать файлы ресурсов .NET в JavaScript] (http://stackoverflow.com/questions/3785568/how-to-use-net-resource -files-in-javascript) – Alberto
Я видел этот пост, но он не дает ответа на то, что мне нужно. Предлагаемое там решение ajax будет похоже на спам сервера. – mohsinali1317
Проверьте это: http://stackoverflow.com/questions/940769/use-asp-net-resource-strings-from-within-javascript-files и, в частности, ответ Доменика. Надеюсь, это поможет вам! – Alberto