ASP.NETアプリケーション(MVCまたはWebフォームは問題ありません)をローカライズするとき、リソースファイルでHTML文字列をどのように処理しますか?特に、埋め込まれたダイナミックリンクを持つ段落のようなものをどう扱うのですか?これまでの私の戦略では、href属性の値に何らかのプレースホルダーを使用し、実行時に実際のURLに置き換えることが行われていましたが、これはせいぜい厄介なようです。一例として、ASP.NETローカライゼーション
、私のコピーがあるとします
シンプル何ができるか、MVC(レイザー)を使用してThank you for registering. Click
<a href="{prefs_url}">here</a>
to update your preferences.
To login and begin using the app, click
<a href="{login_url}">here</a>.
:
<p>@Resources.Strings.ThankYouMessage</p>
は今、それはだ
<p>@Resources.Strings.ThankYouMessage
.Replace("{prefs_url}", Url.Action("Preferences", "User"))
.Replace("{login_url}", Url.Action("Login", "User"))</p>
に変身恐ろしいことではありませんが、もっと良い方法があるのだろうかと思っています。
これまでMVCで、私はここで見つかったHtmlHelperを調整しました:http://www.eworldui.net/blog/post/2008/05/ASPNET-MVC---Localization.aspxこれはかなりうまくいっています。代わりに通常のString形式のプレースホルダを使用することができました。欠点は、文字列置換よりも許容度が低いことです。 –