2010-08-18 18 views
5

Desidero localizzare/globalizzare i campi nella mia pagina di accesso. Sto usando ASP.NET MVC 3 Preview 1 con il motore di visualizzazione del rasoio.Localizzazione campi/attributi su AccountModel per ASP.NET MVC

Alcuni retroscena

Prima di tutto, ho impostato il mio percorso e ha aggiunto attribuire una localizzazione gestore in modo che io possa scrivere http://mysite.com/{lang}/{controller}/{action}/{id}. Ora funziona tutto bene. Nella mia cartella Views ho aggiunto una cartella Home con un numero corrispondente App_LocalResources finora così buono. Posso persino aggiungere file di lingua per diverse lingue come Index.resx e Index.sv.resx`.

Il problema

Avere un file chiamato Account.resx nella radice del App_GlobalResources Io naturalmente immagino dovrei essere in grado di accedere a tale dalle mie pagine. Nel mio AccountModel.cs (che è venuto con il progetto di installazione/template) ho aggiunto quanto segue alla LogOnModel

public class LogOnModel 
{ 
    [Required] 
    [Display(Name = "UserName", ResourceType = typeof(Account))] 
    public string UserName { get; set; } 

    [Required] 
    [DataType(DataType.Password)] 
    [Display(Name = "Password", ResourceType = typeof(Account))] 
    public string Password { get; set; } 

    [Display(Name = "RememberMe", ResourceType = typeof(Account))] 
    public bool RememberMe { get; set; } 
} 

Ho due file nel mio App_GlobalResource

  • Account.resx
  • Account.sv .resx

E in effetti prende il testo dal file inglese/predefinito. Ma quando aggiungo/sv/al mio URL o anche assicurarmi che la cultura sia svedese, non cambia la lingua in quello che è nel mio "Account.sv.resx".

Un esempio di quello che potrebbe essere nelle LogOn.cshtml

<div class="editor-label"> 
    @Html.LabelFor(m => m.UserName) 
</div> 

Tutte le idee?

risposta

Problemi correlati