1
私は自分のAsp.netアプリケーションで文化を実装しました。しかし、私が望むのは、ページ全体の言語を変更することですが、モデルアイテムの言語のみを変更しています。モデルアイテムの言語を変更するだけの文化を変更する
CultureHelper.csのみモデルクラスのプロパティの変更
public class CultureHelper
{
protected HttpSessionState session;
public CultureHelper(HttpSessionState httpSessionState)
{
session = httpSessionState;
}
public static int CurrentCulture
{
get
{
switch (Thread.CurrentThread.CurrentUICulture.Name)
{
case "en": return 0;
case "hi-IN": return 1;
default: return 0;
}
}
set
{
if (value == 0)
{
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");
}
else if(value==1)
{
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("hi-IN");
}
else
{
Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.InvariantCulture;
}
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture;
}
}
}
BaseController.cs
protected override void ExecuteCore()
{
int culture = 0;
if (this.Session == null || this.Session["CurrentCulture"] == null)
{
int.TryParse(System.Configuration.ConfigurationManager.AppSettings["Culture"], out culture);
this.Session["CurrentCulture"] = culture;
}
else
{
culture = (int)this.Session["CurrentCulture"];
}
// calling CultureHelper class properties for setting
CultureHelper.CurrentCulture = culture;
base.ExecuteCore();
}
protected override bool DisableAsyncSupport
{
get { return true; }
}
私のモデルクラス
[Display(Name="Name",ResourceType =typeof(Resource))]
言語。しかし、静的/非モデルプロパティの言語も変更したいと思います。ボタンのテキストも変更したいのですが。私はすべての内容をリソースファイルに追加しました。どうすればこれを達成できますか?
あなたのボタンはすでにこのようなリソースファイルを使用していますか? ' –
これは私が書いたものです ' –
どうすればいいですか?参照ビュー内のリソースファイル? –