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
) からリソースを参照するか、Web ページに埋め込まれた JavaScript リソースを含めます。
<asp:ScriptManager ID="sm1" runat="サーバー"> <スクリプト> <asp:ScriptReference Assembly="ResourcesTest" Name="ResourcesTest.PhrasesHandler.js" /> </スクリプト> </asp:スクリプト マネージャー>
次に、javascript からテキストにアクセスするPhrases.Hello
か (例: )、javascript を介して Silverlight からテキストにアクセスします ( HtmlPage.Window.Eval("Phrases.Hello")
)。
この方法はかなり複雑で、そのようなシステムの取り扱いについて心配していますが、ASP.NET、javascript、および Silverlight 間でローカライズされた/多言語リソースを共有する他の方法は見つかりませんでした。
ありますか?ASP.NET + JavaScript + Silverlight をどのようにローカライズしますか?