J'ai implémenté la culture dans mon application Asp.net. Mais ce que je veux, c'est changer la langue de la page entière mais cela ne change que le langage des éléments du modèle.Modifier la culture uniquement changer la langue des éléments du modèle
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; }
}
Ma classe modèle
[Display(Name="Name",ResourceType =typeof(Resource))]
changement de langue uniquement pour les propriétés de la classe modèle. Mais je veux aussi changer la langue pour les propriétés static/nonmodel. Comme je veux changer le texte du bouton aussi. J'ai ajouté tous les contenus dans le fichier de ressources. Comment puis-je atteindre cet objectif?
Vos boutons utilisent déjà le fichier de ressources similaire à celui-ci? '' –
c'est ce que j'ai écrit '' –
Comment puis-je Référence fichier de ressources dans la vue? –