サーフェスコントローラを使用してUmbraco 5でニュースレター契約フォームを作成しました。コントローラは、ユーザの入力フィールドを含むフォームをレンダリングします。ビュー内のテキストを翻訳すると、すべて正常に動作します。私が使用することができます。Umbraco 5サーフェスコントローラのテキストをローカライズ
Umbraco.GetDictionaryItem("newslettertitle")
それとも
@("newslettertitle".Localize())
を、私は、フォームを処理するとき、私はローカライズされた電子メールを送信する必要が提出します。しかし、テキストをローカライズすることはできません: 例:
var mail = new MailMessage();
mail.From = new MailAddress(settings.Smtp.From);
mail.To.Add(aSubscriber.Email);
mail.Subject = "newslettersucces".Localize();
メール=(Umbraco.Cms.Web.newslettersucces)の主題を。ローカリゼーションはありません。 GetDictionaryItem( "newslettersuccess")を使用しても同じことが起こります。アドバイスをいただければ幸いです。
私はあなたの質問を読んでいないと思います右。もう一度お読みください。 Umbraco Helperクラスにアクセスすることではありません。 GetDictionaryItemまたは.Localize()のような変換を使用すると、コントローラでは表示されません。あなたの答えは、私がumbracoフォーラムに入れた私の投稿のコピーです –
申し訳ありません。私はオーナーの名前をチェックしなかった。私はそれを実際に動作させましたが、コントローラークラスのInit関数だけで動作させました。私はまだ同じコントローラクラスのポストフォームハンドル関数についてはテストしていません。まもなくあなたと同じ問題が発生し、ローカライズされたメールを送信する必要があります。私は、私のモデルプロパティ属性のローカリゼーションに関連する他の問題も感じました:[Display(Name = ""、[Required(ErrorMessage = ""など...私はUmbraco辞書でそれらを発行することはできません...どうしましたあなたはそれを管理していますか?ありがとう – user1288337
大丈夫ですUmbracoヘルパーをサービスやhttpリクエストに依存しているので、モデル属性に直接使用することはできないと思います。リソースファイルを使用するか、Umbracoローカリゼーションフレームワークを使用してください(LocalizationEntries.xmlファイルを使用してください)。http://kuhnel.wordpress.com/2012/03/11/an-101-on-the-localization-framework-in-umbraco -5/ 今のところ私は自分の見解で直接翻訳しています –