Làm thế nào tôi có thể đặt văn hóa của ui tự động dựa trên người dùng? Tất cả những gì tôi tìm thấy về điều này là Globalize.culture("pt-BR");
Nhưng nó đặt pt-BR
làm mặc định và tôi không muốn đặt tùy chọn này theo mặc định! Tôi chỉ muốn thiết lập điều này nếu người dùng là pt-BR! Tôi có thể làm như thế nào? Và các phương pháp xác nhận hợp lệ, làm thế nào tôi có thể đặt chúng cho một nền văn hóa cụ thể?Đặt uiCulture tự động dựa trên ngôn ngữ chấp nhận của trình duyệt
Trả lời
Trong ASP.NET MVC, web.config
là đúng vị trí. Có một bản tóm tắt nhanh, đoạn trích đầu tiên hiển thị, cách có thể là, ví dụ: pt-BR
văn hóa buộc
<globalization
enableClientBasedCulture="false"
uiCulture="pt-BR"
culture="pt-BR" />
Nếu ứng dụng đã sẵn sàng để chấp nhận văn hóa từ client (trình duyệt), thiết lập nên
<globalization
enableClientBasedCulture="true"
uiCulture="auto"
culture="auto" />
Tùy chọn trên sẽ mất một Ngôn ngữ chọn trong trình duyệt của khách hàng (ví dụ như cs-CZ
trong trường hợp của tôi). Nếu không có gì được xác định thì cài đặt hệ thống sẽ được sử dụng. cuối cùng show đoạn, làm thế nào để cho phép khách hàng để thiết lập và gửi văn hóa dự định, nhưng trong trường hợp đó không Ngôn ngữ là lựa chọn trước, ghi đè lên hệ thống thiết lập với một số giá trị mặc định khác pt-BR
<globalization
enableClientBasedCulture="true"
uiCulture="auto:pt-BR"
culture="auto:pt-BR" />
Extended: thiết lập văn hóa cho jQuery
validator
và nhập số
Lưu ý: tôi chắc chắn không phải là một chuyên gia trong jQuery
và toàn cầu hóa kỹ thuật. Đây là ví dụ làm thế nào tôi làm điều chỉnh validator
để xử lý một cách chính xác bất kỳ đầu vào số
dao cạo Xem phần (X()
là một phím tắt cho new HtmlString()
):
var defaultThousandSeprator = "@X(culture.NumberFormat.NumberGroupSeparator)";
var defaultDecimalSeprator = "@X(culture.NumberFormat.NumberDecimalSeparator)";
jQuery phần (phương pháp tùy chỉnh cho min và max)
$.validator.addMethod("min", function (value, element, param)
{
var num = value.replace(RegExp(" ", "g"), "") // remove spaces
.replace(RegExp('\\' + defaultThousandSeprator, "g"), "") // thousand separator
.replace(RegExp("\\" + defaultDecimalSeprator, "g"), "."); // fix decimals
return this.optional(element) || num >= param;
});
$.validator.addMethod("max", function (value, element, param)
{
var num = value.replace(RegExp(" ", "g"), "") // remove spaces
.replace(RegExp('\\' + defaultThousandSeprator, "g"), "") // thousands
.replace(RegExp("\\" + defaultDecimalSeprator, "g"), "."); // decimals
return this.optional(element) || num <= param;
});
Và sau đó jQuery.validator đánh giá các giá trị đầu vào cho cs-CZ: 10 000,00
chính xác cũng như vi-Hoa Kỳ: 10,000.00
.
Bạn cần phải viết ra kịch bản từ trang web (hoặc trang chủ):
<script type="text/javascript">
Globalize.culture("<% = CultureInfo.CurrentCulture.ToString() %>");
</script>
Vậy là xong. Hãy nhớ rằng tôi đã sử dụng CurrentCulture
thay vì CurrentUICulture
vì đây là những gì bạn nên sử dụng để định dạng. Nếu bạn cần các bản dịch (mà tôi sẽ không làm theo cách này vì nó sẽ làm tổn thương đến khả năng địa phương), bạn sẽ cần số CurrentUICulture
gốc của mình.
- 1. jQuery ngôn ngữ trình duyệt phát hiện
- 2. Ngôn ngữ cho trình biên dịch dựa trên LLVM
- 3. Ngôn ngữ trình duyệt trong Playframework
- 4. Cần một ví dụ về cách nhận ngôn ngữ ưa thích từ tiêu đề yêu cầu Chấp nhận Ngôn ngữ
- 5. Ngôn ngữ trang web: sử dụng ngôn ngữ trình duyệt hoặc địa chỉ IP
- 6. Tự động thay đổi kích thước div dựa trên kích thước của cửa sổ trình duyệt
- 7. Web dựa trên Chấp nhận tiêu đề
- 8. Đặt ngôn ngữ Wordpress theo lập trình?
- 9. Kiểm tra ngôn ngữ của trình duyệt bằng PHP?
- 10. Có khả thi dựa trên setlocale và dựa vào các ngôn ngữ được cài đặt không?
- 11. Làm cách nào để tự động đặt hướng văn bản dựa trên ngôn ngữ nhập văn bản?
- 12. Tại sao Symfony bỏ qua cài đặt miền địa phương của trình duyệt (Tiêu đề chấp nhận ngôn ngữ HTTP-Request)?
- 13. Tại sao GWT bỏ qua ngôn ngữ trình duyệt?
- 14. Trình kiểm tra người dùng tùy chỉnh của Symfony2 dựa trên eula được chấp nhận
- 15. Đặt ngôn ngữ trên Heroku postgres
- 16. Render cây cú pháp ngôn ngữ trong trình duyệt
- 17. Định dạng địa chỉ dựa trên ngôn ngữ trong android
- 18. Tự động điền của trình duyệt
- 19. Ngôn ngữ lập trình PHP hoặc ngôn ngữ lập trình?
- 20. CodeMirror - ngôn ngữ tự động phát hiện
- 21. Cách định dạng ngày dựa trên ngôn ngữ?
- 22. Thay đổi cỡ chữ Dựa trên ngôn ngữ
- 23. Chỉnh sửa kích thước hình ảnh tự động dựa trên kích thước cửa sổ trình duyệt
- 24. Ngôn ngữ kịch bản nào cho IDE dựa trên .NET của chúng tôi?
- 25. tại sao SAML dựa trên trình duyệt
- 26. Cách: Thay đổi tên ứng dụng dựa trên cài đặt ngôn ngữ điện thoại
- 27. Chọn một công việc dựa trên ngôn ngữ?
- 28. Có một thuật toán hiệu quả để quyết định liệu ngôn ngữ được chấp nhận bởi một NFA có phải là một siêu ngôn ngữ của ngôn ngữ khác được chấp nhận không?
- 29. Ngôn ngữ lập trình của bạn trong trình duyệt (tức là Javascript)?
- 30. Thay đổi ngôn ngữ giả lập Android tự động
Nhưng thay đổi ảnh hưởng doest'n này trong trình xác nhận jquery (các xác nhận hợp lệ giữ nguyên), vì vậy tôi cần thay đổi văn hóa bằng Globalize.js. – MuriloKunze
Ok, tôi không biết Globalize.js. Để xử lý các công cụ JS, tôi sử dụng các biến JS được tạo động, ví dụ: 'var defaultCulture =" @ (CultureInfo.CurrentCulture.Name) "'; và sau đó mở rộng các thành phần JS như '$ .datepicker.regional [defaultCulture || '']; '.Nhưng câu trả lời của tôi đã giải thích làm thế nào để cho phép văn hóa khách hàng được sử dụng, như bạn đã yêu cầu ... Có thể có mặc định, nhưng overriden với khách hàng nếu được cung cấp –
Vâng, cảm ơn. Nhưng tôi cần phải biết cách làm việc với toàn cầu hóa và các xác nhận hợp lệ. – MuriloKunze