我有积极使用 jquery DataTable 组件的 ASP.NET MVC 2 应用程序。很好,但是那里没有本地化支持。通过本地化,我的意思不仅是翻译版本渲染,而且是根据会话中会话对象中设置的当前语言正确翻译 DataTable。如果不设置像 Lang=en-Us 这样的 cookie,我该怎么做?如果翻译文件没有资源也没关系。
问问题
1402 次
2 回答
1
我可能迟到了,但我给你我的解决方案:
我没有在 DOM 中添加每个资源,而是使用了 ajax 加载选项。为了制作简短的 DataTables,可以将 .json 加载到初始化程序中(包含所有漂亮的、本地化的资源文本)。
所以我实现了一个新的动作来获取 .json :
public JsonResult LocalizedDataTableLanguage()
{
// Create ressource object.
var jsonObject = new
{
sEmptyTable = Resources.EmptyTable
};
// Serialize and send the object resource.
return Json(jsonObject);
}
然后你只需要将这个方法的 Url 提供给language.url 选项
希望这可以帮助
编辑
您可以在此处检查 DataTables 预期的 json 结构
于 2014-08-22T15:50:07.137 回答
0
我在我的 ASP.NET 应用程序中使用服务器端资源文件,这在这种情况下会有所帮助,我使用后面的代码来测试哪种文化,然后在 javascript 端填充公共变量。您可以浏览所有字符串,但请确保您记得在资源文件中包含正确的替换字符串,即。"sInfo": "RAV 显示TOTAL条目的START到END "。这是一个javascript的例子
var _sEmptyTable = "<%=mstrEmptyTable %>";
jQuery('#example').dataTable(
{
"oLanguage": {"sEmptyTable": _sEmptyTable}
});
背后的代码
public string mstrEmptyTable = "No data available";
只需将 mstrEmptyTable 替换为您的会话对象或资源文件。
希望有帮助
于 2012-09-13T10:53:29.103 回答