Как вы локализуете 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:
[assembly: WebResource("ResourcesTest.PhrasesHandler.js", "application/x-javascript")]
[assembly: ScriptResource("ResourcesTest.PhrasesHandler.js", "ResourcesTest.Phrases", "Phrases")]
4) Ссылка на ресурс из выделенного кода ASP.NET (ResourcesTest.Phrases.Hello
) или путем включения встроенного ресурса JavaScript в веб-страницу:
<asp:ScriptManager ID="sm1" runat="server">
<Scripts>
<asp:ScriptReference Assembly="ResourcesTest" Name="ResourcesTest.PhrasesHandler.js" />
</Scripts>
</asp:ScriptManager>
, а затем получить доступ к текстам из javascript (например, Phrases.Hello
) или из Silverlight через javascript (HtmlPage.Window.Eval("Phrases.Hello")
).
Я нахожу этот метод довольно сложным, и я беспокоюсь об управлении такой системой, но не нашел других способов совместного использования локализованных / многоязычных ресурсов между ASP.NET, javascript и Silverlight.
А ты? Как вы локализуете ASP.NET + javascript + Silverlight?