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": "合計エントリのSTARTからENDまでを表示する RAV ". これはJavaScriptの例です

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


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

コードビハインド

public string mstrEmptyTable = "No data available";

mstrEmptyTable をセッション オブジェクトまたはリソース ファイルに置き換えるだけです。

それが役立つことを願っています

于 2012-09-13T10:53:29.103 に答える