jquery DataTable コンポーネントを積極的に使用する ASP.NET MVC 2 アプリケーションがあります。それは問題ありませんが、ローカリゼーションのサポートはありません。ローカリゼーションとは、バージョンのレンダリングを翻訳するだけでなく、現在の言語に基づいて DataTable を正しく翻訳することを意味し、セッション内のセッション オブジェクトに設定されています。Lang=en-Us のような Cookie を設定せずにどうすればよいですか? 翻訳ファイルがリソース不足になっても問題ありません。
2 に答える
私は遅れているかもしれませんが、私はあなたに私の解決策を提供します:
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構造を確認できます
この状況で役立つ ASP.NET アプリケーション内でサーバー側のリソース ファイルを使用しています。コード ビハインドを使用して、どのカルチャをワークアウトし、JavaScript 側でパブリック変数を設定します。すべての文字列を調べることができますが、リソース ファイルに正しい置換文字列を含めることを忘れないでください。"sInfo": "合計エントリのSTARTからENDまでを表示する RAV ". これはJavaScriptの例です
var _sEmptyTable = "<%=mstrEmptyTable %>";
jQuery('#example').dataTable(
{
"oLanguage": {"sEmptyTable": _sEmptyTable}
});
コードビハインド
public string mstrEmptyTable = "No data available";
mstrEmptyTable をセッション オブジェクトまたはリソース ファイルに置き換えるだけです。
それが役立つことを願っています