1

您如何本地化 ASP.NET + javascript + Silverlight?

我希望能够在 asp.net 页面、页面上的 javascript 和页面上的 Silverlight 对象中包含不同语言的相同文本。

我尝试过以下方法,但在实践中没有经验,我想听听您对它或替代方案的意见:

1) 创建一个类库 ( ResourcesTest) 并添加一个Phrases.resx包含一些字符串 ( Hello='Hello') 的资源文件 ( ) 以及一个本地化版本 ( Phrases.da.resx: Hello='Hej')。

2) 添加一个空的 javascript 文件 ( PhrasesHandler.js)。

3) 在 AssemblyInfo.cs 中执行此操作以允许 javascript/Silverlight 使用文本:

[程序集:WebResource("ResourcesTest.PhrasesHandler.js", "application/x-javascript")]
[程序集:ScriptResource("ResourcesTest.PhrasesHandler.js", "ResourcesTest.Phrases", "Phrases")]

4) 从 ASP.NET 代码隐藏 ( ) 引用资源ResourcesTest.Phrases.Hello,或者通过在网页中包含嵌入的 javascript 资源:

<asp:ScriptManager ID="sm1" runat="server">
    <脚本>
        <asp:ScriptReference Assembly="ResourcesTest" Name="ResourcesTest.PhrasesHandler.js" />
    </脚本>
</asp:ScriptManager>

然后从 javascript(例如Phrases.Hello)或 Silverlight 通过 javascript(HtmlPage.Window.Eval("Phrases.Hello"))访问文本。

我发现这种方法相当复杂,我担心处理这样的系统,但还没有找到在 ASP.NET、javascript 和 Silverlight 之间共享本地化/多语言资源的其他方法。

你?您如何本地化 ASP.NET + javascript + Silverlight ?

4

1 回答 1

1

如果他们都可以接受 JSON 格式的数据,请使用它。

请参阅:在 Javascript 中本地化字符串

于 2008-12-03T21:36:34.583 回答