2012-03-09 25 views
6

Tôi đang sử dụng các thông báo xác thực được bản địa hoá trong một mẫu ASP.NET MVC 3. Nó tạo ra một cách chính xác như HTMLASP.NET MVC 3 thông báo xác thực được bản địa hóa hoạt động trên máy tính của tôi, nhưng không phải trên máy chủ

<input class="inputlong" data-val="true" 
    data-val-length="Das Feld &amp;quot;Adresse&amp;quot; muss eine Zeichenfolge mit 
        einer maximalen L&amp;#228;nge von 100 sein." 
    data-val-length-max="100" 
    data-val-required="Das Feld &amp;quot;Adresse&amp;quot; ist erforderlich." 
    id="Address" name="Address" type="text" value="" 
/> 

này hoạt động tốt trên máy tính của tôi khi tôi đặt CurrentThread tôi đến một tiếng Anh, Đức hoặc Ý CultureInfo.

Nhưng nó không hoạt động trên hai máy phát triển khác và máy kiểm tra Windows Server 2008 R2 (cùng một dự án, cùng một thiết lập: Tôi thậm chí đã cài đặt gói ngôn ngữ cập nhật công cụ ASP.NET MVC 3), nhưng Tôi vẫn chỉ nhận được thông báo xác thực bằng tiếng Anh:

<input class="inputnormal input-validation-error" data-val="true" 
    data-val-length="The field Adresse must be a string with a maximum length of 100." 
    data-val-length-max="100" data-val-required="The Adresse field is required." 
    id="Address" name="Adresse" type="text" value="" 
/> 

Có cài đặt hoặc một số cụm bị thiếu trên các máy tính khác mà tôi không biết?

+0

Bạn có đang sử dụng các chuỗi xác nhận mặc định hoặc bạn có tài nguyên của riêng mình không? – linkerro

+0

@linkerro Tôi đang sử dụng các chuỗi mặc định. Tôi sử dụng tên hiển thị được bản địa hoá mặc dù – splattne

+0

Làm cách nào để đặt văn hóa hiện tại? Sử dụng web.config Toàn cầu hóa hoặc một số cách khác? – archil

Trả lời

8

Bạn có thể phải cài đặt gói ngôn ngữ framewok .net. Ví dụ: trên các thông báo xác thực máy của tôi sẽ không hiển thị bằng tiếng Đức cho đến khi tôi cài đặt German language pack.

Required thuộc tính không phải là một phần của asp.net-mvc nhưng nói chung hơn DataAnnotations, do đó, gói ngôn ngữ nên giúp đỡ.

+0

Tất nhiên! Cảm ơn nhiều. Giải quyết vấn đề của tôi. – splattne

+0

Bạn được chào đón :) – archil

0

Đó là "vài năm sau", nhưng tôi muốn cung cấp cho tôi 2 xu cho việc này. Gần đây tôi đã có vấn đề tương tự nhưng với ngăn xếp công nghệ hiện tại: VS 2015, MVC 5, .NET 4.6; chúng tôi đang phát triển ở México và có một sự trộn lẫn ngôn ngữ với một số thông báo lỗi xác thực (đa số bằng tiếng Tây Ban Nha và một số bằng tiếng Anh).

Tôi đã tìm thấy câu trả lời SO này nhưng nó không giúp ích cho tình huống của tôi vì khi tôi cài đặt gói ngôn ngữ .NET, trình cài đặt gửi cho tôi một thông báo "bạn đã cài đặt phiên bản mới hơn" và cài đặt bị tạm dừng!

Con đường tôi cố định này là bằng cách cài đặt gói ngôn ngữ MVC với NuGet cho dự án của chúng tôi: Microsoft.AspNet.Mvc.es (gói rõ ràng là có được bản địa hoá cho tất cả các ngôn ngữ của Microsoft hỗ trợ: chỉ cần thay thế .es với ngôn ngữ riêng của bạn, ví dụ Microsoft.AspNet.Mvc.de cho tiếng Đức). Sau đó, ứng dụng của chúng tôi hiển thị tất cả các lỗi xác thực bằng tiếng Tây Ban Nha mà không có bất kỳ cấu hình nào khác.

Tôi hy vọng điều này sẽ giúp ai đó có cùng vấn đề.

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