2010-08-18 11 views
5

Quiero localizar/globalizar los campos en mi página de inicio de sesión. Estoy utilizando ASP.NET MVC 3 Preview 1 con el motor de vista de afeitar.Localizar los campos/atributos en AccountModel para ASP.NET MVC

Algunos antecedentes

En primer lugar, he establecido mi ruta y ha añadido una localización atributo manejador de modo que pueda escribir http://mysite.com/{lang}/{controller}/{action}/{id}. Ahora esto funciona todo bien. En mi carpeta Views he agregado una carpeta de Inicio con un correspondiente App_LocalResources hasta ahora, todo bien. Incluso puedo agregar archivos de idioma para diferentes idiomas, como Index.resx e Index.sv.resx`.

El problema

Tener un archivo llamado Account.resx en la raíz de App_GlobalResources que, por supuesto, imagino que debería ser capaz de acceder a que a partir de mis páginas. En mi AccountModel.cs (que venía con el proyecto de instalación/plantilla) he añadido lo siguiente a la 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; } 
} 

Tengo dos archivos en mi App_GlobalResource

  • Account.resx
  • Account.sv .resx

Y de hecho toma el texto del archivo inglés/predeterminado. Pero cuando agrego/sv/a mi URL o incluso me aseguro de que la cultura sea sueca, no cambia el idioma a lo que está en mi `` Account.sv.resx`.

Un ejemplo de lo que podría ser en las LogOn.cshtml

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

¿Alguna idea?

Respuesta

Cuestiones relacionadas