1

我有积极使用 jquery DataTable 组件的 ASP.NET MVC 2 应用程序。很好,但是那里没有本地化支持。通过本地化,我的意思不仅是翻译版本渲染,而且是根据会话中会话对象中设置的当前语言正确翻译 DataTable。如果不设置像 Lang=en-Us 这样的 cookie,我该怎么做?如果翻译文件没有资源也没关系。

4

2 回答 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条目的STARTEND "。这是一个javascript的例子

var _sEmptyTable = "<%=mstrEmptyTable %>";


jQuery('#example').dataTable(
{
    "oLanguage": {"sEmptyTable": _sEmptyTable}
});

背后的代码

public string mstrEmptyTable = "No data available";

只需将 mstrEmptyTable 替换为您的会话对象或资源文件。

希望有帮助

于 2012-09-13T10:53:29.103 回答