Cách tốt nhất để hỗ trợ nhiều ngôn ngữ cho giao diện trong ứng dụng ASP.NET MVC là gì? Tôi đã thấy mọi người sử dụng các tệp tài nguyên cho các ứng dụng khác. Đây có phải là cách tốt nhất không?Nhiều ngôn ngữ trong ứng dụng ASP.NET MVC?
Trả lời
Nếu bạn đang sử dụng công cụ xem mặc định thì tài nguyên cục bộ sẽ hoạt động trong chế độ xem. Tuy nhiên, nếu bạn cần lấy các chuỗi tài nguyên trong một hành động điều khiển, bạn không thể lấy các tài nguyên cục bộ và phải sử dụng các tài nguyên toàn cầu.
Điều này có ý nghĩa khi bạn nghĩ về nó vì tài nguyên cục bộ là cục bộ cho trang aspx và trong bộ điều khiển, bạn thậm chí không chọn chế độ xem của mình.
điều này cũng sẽ hoạt động trong công cụ xem dao cạo? –
Có điều này có ý nghĩa đối với bộ điều khiển. Nhưng những gì về Xem mô hình? Chúng thường (cụ thể) dành riêng cho chế độ xem và sẽ có ý nghĩa khi tham chiếu các tài nguyên cụ thể xem trong mã mô hình chế độ xem. Tôi tự hỏi nếu có một cơ chế để làm cho một tập tin tài nguyên địa phương để xem và xem mô hình của nó ... –
@Haacked, hi, chúng tôi có một trang web mua sắm trong asp mvc, vì vậy khi người dùng chọn ngôn ngữ arabic, chúng tôi muốn làm cho toàn bộ trang web arabic, chúng tôi có thể sử dụng microsoft bing [dịch giả] (https://www.bing.com/translator/) hoặc microsoft [translator API] (http://www.microsoft.com/en-us/translator/products) .aspx) hoặc tôi nên mua [localize.js] (https://localizejs.com/features) để đạt được điều này nhanh chóng? – stom
Có tài nguyên vẫn là cách tốt nhất để hỗ trợ nhiều ngôn ngữ trong môi trường .NET. Bởi vì chúng dễ tham khảo và thậm chí dễ dàng hơn để thêm các ngôn ngữ mới.
Site.resx
Site.en.resx
Site.en-US.resx
Site.fr.resx
etc...
Vì vậy, bạn vẫn phải sử dụng các tệp tài nguyên.
Chúng nên được đặt như thế nào để hoạt động? –
tôi thấy this resource là rất hữu ích
nó một wrapper quanh HttpContext.Current.GetGlobalResourceString và HttpContext.Current.GetLocalResourceString cho phép bạn gọi các nguồn lực như thế này ...
// default global resource
Html.Resource("GlobalResource, ResourceName")
// global resource with optional arguments for formatting
Html.Resource("GlobalResource, ResourceName", "foo", "bar")
// default local resource
Html.Resource("ResourceName")
// local resource with optional arguments for formatting
Html.Resource("ResourceName", "foo", "bar")
Vấn đề duy nhất tôi thấy là bộ điều khiển không có quyền truy cập vào các chuỗi khôi phục cục bộ.
Một số giải pháp khác được đề cập là câu trả lời không hoạt động đối với phiên bản phát hành MVC (họ đã làm việc với các phiên bản alpha/beta trước đó).
Đây là một bài viết tốt mô tả một cách để thực hiện nội địa hóa sẽ được mạnh mẽ, đánh máy và sẽ không phá vỡ các kiểm tra đơn vị của bộ điều khiển và quan điểm: localization guide for MVC v1
dự án The Orchard sử dụng một phương pháp tắt gọi là "T" để làm tất cả các bản dịch chuỗi trong trang. Vì vậy, bạn sẽ thấy các thẻ có @T ("A String to Translate").
Tôi có ý định xem xét cách thực hiện điều này sau hậu trường và có khả năng sử dụng nó trong các dự án trong tương lai. Tên viết tắt giữ mã sạch hơn vì nó sẽ được sử dụng rất nhiều.
Điều tôi thích về cách tiếp cận này là chuỗi gốc (tiếng Anh, trong trường hợp này) vẫn dễ thấy trong mã và không yêu cầu tra cứu trong công cụ tài nguyên hoặc một số vị trí khác để giải mã chuỗi thực đây.
Xem http://orchardproject.net để biết thêm thông tin.
Có những trường hợp chuỗi nguồn chính xác giống hệt nhau "A String to Translate" sẽ phải được dịch khác nhau dựa trên bối cảnh xung quanh. Điều này đặc biệt xảy ra với các chuỗi một từ. – springy76
Đây là một lựa chọn khác, và bạn sẽ có quyền truy cập vào các CurrentUICulture trong bộ điều khiển:
Kiểm tra MVC3-multi-language
- 1. Ứng dụng đa ngôn ngữ MVC 4
- 2. Ứng dụng đa ngôn ngữ trong ASP.NET MVC - Thực tiễn tốt nhất?
- 3. Hỗ trợ nhiều ngôn ngữ trong một ứng dụng Winforms
- 4. Làm cách nào để tạo ứng dụng ASP.NET MVC đa ngôn ngữ?
- 5. Các trang web đa ngôn ngữ với ASP.NET MVC
- 6. Nhiều ngôn ngữ IDE
- 7. Ứng dụng web đa ngôn ngữ - làm cách nào để phát hiện ngôn ngữ của người dùng trong ASP.NET?
- 8. Nhiều ngôn ngữ (tiếng Anh, tiếng Pháp) trên ASP.NET Page
- 9. Ứng dụng thể hiện đa ngôn ngữ
- 10. Học nhiều ngôn ngữ
- 11. lớp tĩnh trong ứng dụng Asp.NET MVC
- 12. ứng dụng đa ngôn ngữ wpf
- 13. Ứng dụng HTML5 đa ngôn ngữ
- 14. Xtext - nhiều tệp ngôn ngữ
- 15. ứng dụng iPhone ngôn ngữ có sẵn trong Appstore
- 16. Cho phép người dùng chọn ngôn ngữ/ngôn ngữ ứng dụng?
- 17. Chuyển đổi ngôn ngữ bên trong ứng dụng android
- 18. Cài đặt ứng dụng Ngôn ngữ trong Tùy chọn Android
- 19. Chuyển đổi ngôn ngữ động trong ứng dụng RCP Eclipse
- 20. NSLocale của ngôn ngữ được nạp trong ứng dụng
- 21. Sử dụng IPC để kết hợp nhiều ngôn ngữ
- 22. Làm cách nào để hiển thị ngôn ngữ (ngôn ngữ) hiện tại ứng dụng Android?
- 23. ASP.NET MVC Mã nguồn mở Ứng dụng thế giới thực
- 24. Triển khai ứng dụng web Asp.net MVC
- 25. Sử dụng HandleErrorAttribute trong ứng dụng ASP.NET MVC
- 26. gVim và nhiều ngôn ngữ lập trình
- 27. Đa ngôn ngữ Ngôn ngữ
- 28. Sắp xếp một dự án sử dụng nhiều ngôn ngữ?
- 29. đa ngôn ngữ App Toolkit cho các ứng dụng web
- 30. IIS không chạy ứng dụng ASP.NET MVC
thể trùng lặp của [Làm thế nào để bản địa hoá ứng dụng ASP.NET MVC?] (Http: // stackoverflow.com/questions/192465/how-to-localize-asp-net-mvc-application) – Marijn
trang web đa ngôn ngữ với tham số truyền đi, hãy kiểm tra [Trang web đa ngôn ngữ này trong MVC 4 C#] (http: //lesson8.blogspot .in/2013/03/multi-language-website-in-mvc-4-c.html) – Sender