2009-08-01 8 views
1

プロジェクトは、ASP.NETではなくGNOMEアプリケーションです。 welcome.htmlファイルをUIのメインページに読み込む必要があります。 MonoDevelopと同じように。しかし、私はどのように地域にasedロードされます国際版を作るか分からない。私はバイナリにバンドルする方法を知りません。何らかの種類のリソース管理を使用しています。MonoDevelopプロジェクトのHTMLファイルを作成するにはどうすればよいですか?

答えて

1

MonoDevelopは、ウェルカムページにHTMLを使用していましたが、当時(約18か月前)は、クロスプラットフォームで使用するためにGTK + Webブラウザが厄介な依存関係にあることが判明しました。背景レンダリング。

つまり、Webkit-GTK & Webkit#ラッパーを使用してHTMLを使用するのは簡単です。 WebKit.WebViewウィジェットを作成し、LoadHtmlメソッドを使用して文字列からHTMLをロードします。アセンブリから埋め込まれたテキストリソースを読み込み

は非常に簡単です:

string text; 
using (var stream = typeof(SomeTypeInYourAssembly).Assembly.GetManifestResourceStream (resourceId)) 
    using (var sr = new StreamReader (stream)) 
     text = sr.ReadToEnd(); 

これは、C#コンパイラの引数/ RESが埋め込まれたリソースを読み込みます:ファイル[、ID]または「埋め込まれたリソース」ビルドを使用してMonoDevelopのアクションデフォルトの値が気に入らなければ、proeprtyパッドを使ってMDにリソースIDを設定することができます。

ローカリゼーションがトリッキーです。 「.NETの方法」は、ローカライズされたリソースを含むローカライズされたサテライトアセンブリを使用することです。しかし、私たちがMDで行ったことは、XSLTファイルを使用してXMLファイルをHTMLに変換することでした。次に、GettextとXML DOMクラスを使用して、XMLファイルを非常に簡単にローカライズすることができました。

+0

まずはお返事ありがとうございます。私はこれを実装しようとしており、苦労しています。 ビルドアクションを「リソースとして埋め込む」に変更し、プロジェクトの「リソース」フォルダーにwelcome.htmlという名前を付けました。しかし、私は.resourcesファイルに何かを入れる必要があると思うが、空のXMLファイルで何を入れるべきか分からない。私はそれがファイル、mime-typeとresourceIdを含んでいると仮定します。 重要な情報が欠落しているような気がします。 –

+0

さらに、あなたのコードのおかげで、私はそれを理解することができました。 –

関連する問題