You are right about latest Telerik version (2012.2) you have to supply now validate.js.
My posts are not valid for the new telerik version. You can leave validate as is at <head>
But your admin culture problem is still here.
All the steps to fix it
new nopcommerce installation
http://nopcommerce.codeplex.com/SourceControl/changeset/12348f2e706f
download german langage xml file (has reverse numeric decimal seperator) and install it
step 1
go to https://github.com/jquery/globalize download zip file
copy everything inside lib directory to your administstration/scripts/ as is
step 2 _AdminLayout.cshtml
@using System.Threading;
---
<script src='@Url.Content("~/Administration/Scripts/globalize.js")' type="text/javascript"></script>
<script src='@Url.Content("~/Administration/Scripts/cultures/globalize.culture." + Thread.CurrentThread.CurrentCulture.Name + ".js")' type="text/javascript"></script>
</head>
----------------------
@(Html.Telerik().ScriptRegistrar()
.Globalization(true)
.jQuery(false)
.jQueryValidation(false)
)
--------------------
<script type="text/javascript">
$(document).ready(function () {
$.validator.methods.number = function (value, element) { return this.optional(element) || !isNaN(Globalize.parseFloat(value)); }
$(function () {
Globalize.culture('@(Thread.CurrentThread.CurrentCulture.Name)');
});
});
</script>
</body>
----------------------------------
step 3 global.asax delete
if (webHelper.GetThisPageUrl(false).StartsWith(string.Format("{0}admin", webHelper.GetStoreLocation()),
StringComparison.InvariantCultureIgnoreCase))
{
//admin area
//always set culture to 'en-US'
//we set culture of admin area to 'en-US' because current implementation of Telerik grid
//doesn't work well in other cultures
//e.g., editing decimal value in russian culture
var culture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
}
else
{
----leave only that part
}
step 4 bulkedit.cshtml
change
columns.Bound(pv => pv.Price).Width(100);
to
columns.Bound(pv => pv.Price).Format("{0:n}").Width(100);
thats all
Of course you have work to do with hard-wired currency symbols $
----------
The only way to duplicate behavior of original post is after you finish above steps is to delete .Globalization(true)
(probably just added russian language at global.asax or other changes)