ASP.NET、MVC、Razor、javascript、および dhtmlx でグローバリゼーションとローカリゼーションを有効にするにはどうすればよいですか? 私は答えを探しており、見つかったすべての参照は jquery の Globalization.js ライブラリを使用していました。代わりにdhtmlxまたは純粋なjavascriptを使用したサンプルコードはありますか? @using Resources を使用して .cshtml ファイル (Razor) 内のリソースを参照する方法は知っていますが、cshtml 内に埋め込まれた JavaScript 内で @Resources.UserID などのこれらのリソースをどのように参照しますか? ~/Scripts/Global.js のようなスクリプトについて話しています。
これをsystem.webの下のweb.configに入れ、resources.de.resxファイルを作成し、IEの言語にde-DEを追加すると、以下のコードを使用してタイトルが期待どおりに変更されます。私の問題はjavascriptでこれを参照しているため、フォームなどのテキストを変更できます。
<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/>
login.cshtml:
@using SquishIt.Framework
@using SquishIt.Mvc
@using Resources
@{
Layout = null;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1DTD/xhtml1-strict.dtd">
<html>
<head>
<title>@Resources.Title</title>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<link rel="shortcut icon" type="image/x-icon" href="@Url.Content("~/Content/favicon.ico")" />
@(Bundle.Css()
.Add("~/Scripts/dhtmlx/dhtmlxLayout/codebase/dhtmlxlayout.css")
.Add("~/Scripts/dhtmlx/dhtmlxLayout/codebase/skins/dhtmlxlayout_dhx_skyblue.css")
.Add("~/Scripts/dhtmlx/dhtmlxWindows/codebase/dhtmlxwindows.css")
.Add("~/Scripts/dhtmlx/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_skyblue.css")
.Add("~/Scripts/dhtmlx/dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css")
.Add("~/Scripts/dhtmlx/dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue_custom.css")
.Add("~/Content/Site.css")
.MvcRender("~/Content/SquishIt/BaseLogon_#.css"))
</head>
<body oncontextmenu="return false;">
<!-- Empty on purpose, JavaScript populates HTML -->
<!-- Text ruler used to measure text from JavaScript -->
<span id="TextRuler" class="TextRuler"></span>
</body>
<script language="javascript" type="text/javascript">
var SKIN_NAME = "dhx_skyblue";
var URL_WINDOWS_IMAGES = "@Url.Content("~/Scripts/dhtmlx/dhtmlxWindows/codebase/imgs/")";
var URL_LOGIN_FORM = "@Url.Content("~/XML/Forms/Base/Logon.xml")";
var URL_LOGIN = "@Url.Content("~/Base/Login/")";
var URL_MAIN = "@Url.Content("~/Base/Main/")";
var LOGON_SESSION_ID = "@(Session["LOGON_SESSION_ID"])";
var LOGOFF_MESSAGE = "@(ViewData.ContainsKey("LogOffMessage") ? ViewData["LogOffMessage"] : "")";
</script>
@(Bundle.JavaScript()
.Add("~/Scripts/dhtmlx/dhtmlxLayout/codebase/dhtmlxcommon.js")
.Add("~/Scripts/dhtmlx/dhtmlxLayout/codebase/dhtmlxlayout.js")
.Add("~/Scripts/dhtmlx/dhtmlxLayout/codebase/dhtmlxcontainer.js")
.Add("~/Scripts/dhtmlx/dhtmlxWindows/codebase/dhtmlxwindows.js")
.Add("~/Scripts/dhtmlx/dhtmlxForm/codebase/dhtmlxform.js")
.Add("~/Scripts/Global.js")
.Add("~/Scripts/Utility/Browser.js")
.Add("~/Scripts/Utility/XML.js")
.Add("~/Scripts/Utility/ErrorHandler.js")
.Add("~/Scripts/Utility/Form.js")
.Add("~/Scripts/Utility/MessageBox.js")
.Add("~/Scripts/Base/Logon.js")
.MvcRender("~/Content/SquishIt/BaseLogon_#.js"))
</html>