Локализация полей / атрибутов в AccountModel для ASP.NET MVC - PullRequest
5 голосов
/ 18 августа 2010

Я хочу локализовать / глобализировать поля на моей странице входа. Я использую ASP.NET MVC 3 Preview 1 с механизмом просмотра бритвы.

Некоторый фон

Прежде всего, я настроил свою маршрутизацию и добавил обработчик атрибута локализации, чтобы я мог написать http://mysite.com/{lang}/{controller}/{action}/{id}. Теперь все это работает хорошо. В моей папке Views я добавил домашнюю папку с соответствующей App_LocalResources, пока все хорошо. Я даже могу добавить языковые файлы для разных языков, таких как Index.resx и Index.sv.resx`.

Проблема

Имея файл с именем Account.resx в корне App_GlobalResources Я, конечно, думаю, что смогу получить к нему доступ со своих страниц. В моем AccountModel.cs (который поставляется вместе с проектом установки / шаблона) я добавил следующее в 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; }
}

У меня есть два файла в моем App_GlobalResource

  • Account.resx
  • Account.sv.resx

И он действительно берет текст из файла по умолчанию на английском языке. Но когда я добавляю / sv / к своему URL или даже гарантирую, что культура шведская, она не меняет язык на тот, который есть в моем `` Account.sv.resx`.

Пример того, что может быть в LogOn.cshtml

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

Есть идеи?

1 Ответ

0 голосов
/ 18 августа 2010

Не относится к MVC 3, однако это может помочь

http://geekswithblogs.net/shaunxu/archive/2010/05/06/localization-in-asp.net-mvc-ndash-3-days-investigation-1-day.aspx

...