4

現在、MonoTouch を使用した最初の iPhone アプリケーションを完成させています。「*.lproj」フォルダーによるローカリゼーションは期待どおりに機能します。

UIWebViewいくつかのユーザー ガイドラインを表示する があり、これにメソッドLoadHtmlString()を入力しています。(つまり、インターネット接続は必要ありません)。

テキストが少し長いので、「Localizable.strings」ファイル内に配置するのではなく、完全に別のファイルにスワップ アウトします (Windows .NET アプリケーションでも行っているように)。

MonoTouch のプロジェクト構造

上のスクリーンショットでは、各言語フォルダー内に 1 つの「help.html」ファイルを配置し、LoadHtmlStringメソッドを呼び出して適切なファイルから読み取る方法をNSBundle.MainBundle.LocalizedString.

私の質問:

言語ごとのファイルを持ち、MonoTouch アプリケーション内からそれらにアクセスすることは可能ですか?

Dimitris のソリューションのフォローアップ

Dimitris のソリューションに基づいて、次のコードで解決しました。

var localizedHtmlFile = NSBundle.MainBundle.PathForResource("help", "html");
var text = File.ReadAllText(localizedHtmlFile);

helpTextView.LoadHtmlString (text, null);
4

1 に答える 1

6

はい、もちろん可能です。ローカライズされたファイルのパスは次のように取得できます。

string localizedHtmlFile = NSBundle.MainBundle.PathForResource("help", "html");

PathForResourceメソッドは、さまざまな種類のリソース(PDF、画像など)に使用できます。最初のパラメーターはファイル名で、2番目のパラメーターはその拡張子です。その他のオプションについては、PathForResourceメソッドの他のオーバーロードを確認してください。

于 2011-09-17T12:55:08.823 に答える