Я хочу локализовать / глобализировать поля на моей странице входа. Я использую 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>
Есть идеи?