2010-08-18 27 views
5

Tôi muốn bản địa hóa/toàn cầu hóa các trường trên trang Đăng nhập của tôi. Tôi đang sử dụng ASP.NET MVC 3 Preview 1 với công cụ xem dao cạo.Bản địa hóa các trường/thuộc tính trên AccountModel cho ASP.NET MVC

Một số nền

Trước hết, tôi đã thiết định tuyến của tôi và thêm thuộc tính một địa hóa xử lý vì vậy mà tôi có thể viết http://mysite.com/{lang}/{controller}/{action}/{id}. Bây giờ điều này hoạt động tốt. Trong thư mục Views của tôi, tôi đã thêm một thư mục Trang chủ với App_LocalResources tương ứng cho đến nay rất tốt. Tôi thậm chí có thể thêm các tệp ngôn ngữ cho các ngôn ngữ khác nhau như Index.resx và Index.sv.resx`.

Vấn đề

Có một tập tin gọi Account.resx vào những gốc App_GlobalResources Tôi dĩ nhiên tưởng tượng tôi sẽ có thể truy cập vào đó từ các trang của tôi. Trong tôi AccountModel.cs (mà đi kèm với quá trình cài đặt/mẫu dự án) Tôi đã thêm sau vào 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; } 
} 

Tôi có hai tập tin trong tôi App_GlobalResource

  • Account.resx
  • Account.sv .resx

Và thực tế là lấy văn bản từ tệp tiếng Anh/mặc định. Nhưng khi tôi thêm/sv/vào URL của tôi hoặc thậm chí đảm bảo rằng văn hóa là thụy điển, nó không thay đổi ngôn ngữ thành những gì có trong `` Account.sv.resx` của tôi.

Một ví dụ về những gì có thể trong LogOn.cshtml

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

ý tưởng Bất kỳ?

Trả lời

Các vấn đề liên quan