Jaka byłaby najlepsza praktyka w celu zlokalizowania aplikacji ASP.NET MVC?
Chciałbym omówić dwie sytuacje:
- jedno wdrożenie aplikacji w usługach IIS, które obsługuje wiele języków
- wdrożenie jednego języka / aplikacji.
W pierwszej sytuacji powinieneś wybrać coś w rodzaju widoku, takiego jak ~ / View / EN, ~ / View / FI, ~ / View / SWE czy coś innego?
A co z drugim przypadkiem, tylko konfiguracją opartą na aplikacji za pośrednictwem Web.config i wskazaniem tym różnym językom różnych adresów URL?
Odpowiedzi:
Możesz również zajrzeć tutaj Kompletny przewodnik po lokalizacji ASP.NET MVC 2 i Walidacja modelu ASP.NET MVC 2 z lokalizacją. Te wpisy pomogą Ci, jeśli pracujesz z ASP.NET MVC 2.
źródło
Aplikację ASP.NET MVC należy zlokalizować w taki sam sposób, jak klasyczną aplikację ASP.NET Web Form.
Nie użyjesz różnych stron / widoków dla każdego języka, ale każda strona będzie obsługiwać wiele języków przy użyciu zestawów satelickich.
Możesz spojrzeć na wpis na blogu Matta Hawleya, aby uzyskać więcej wyjaśnień i przykładów.
źródło
Niestety, oryginalny kod Matta Hawleya nie działa w wydanej wersji ASP.NET MVC. Sprawdź zaktualizowany post: http://blog.eworldui.net/post/2008/10/ASPNET-MVC-Localization-via-View-Engines.aspx
Ogólnie proces lokalizacji nie jest tak płynny w świecie VS 2008 / ASP.NET MVC, jak w przypadku tradycyjnych formularzy internetowych. http://www.guysmithferrier.com/post/2009/05/Localizing-ASPNET-MVC.aspx
źródło
Przyjrzyj się projektowi MvcStore Roba Connery'ego. Realizuje screencast przedstawiający jeden ze sposobów rozwiązania problemu globalizacji.
http://wekeroad.com/2008/04/24/mvcstore-part-5
źródło
Nigdy nie byłem przekonany do obsługi lokalizacji w formie, jak sugeruje Elijah - różne długości i kierunki mogą prowadzić do bardzo złożonych lub różnie wyglądających form.
Dopiero zaczynam od MVC, ale przyjmując metodę odsprzęgania, chciałbyś użyć tego samego kontrolera niezależnie od języka (traktując język tylko jako widok) - to dałoby ci / Kontroler / Akcja / język / formularz
źródło
Istnieje dobry samouczek z ostatnią aktualizacją dotyczącą lokalizacji aplikacji mvc asp.net obejmującej wszystkie aspekty, w tym lokalizację DisplayName, walidację, używanie routingu (przechowywanie nazwy kultury w adresie URL), problemy z pamięcią podręczną danych wyjściowych i tak dalej ... Alex Adamyan Blog - While moja klawiatura cicho płacze
źródło
W rzeczywistości poszliśmy zupełnie inaczej, zastępując DataAnnotationsMetadaDataProvider . Tam możesz upewnić się, że wartości DisplayNameAttribute są tłumaczone na właściwy język. Właściwie możesz nawet pozbyć się tego atrybutu i rozstrzygnąć na podstawie nazw pól tylko wtedy, gdy byłoby to pomocne.
źródło
Napisałem ten artykuł jakiś czas temu. Używa niestandardowego silnika widoku. http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/
źródło
I kolejny samouczek dotyczący innego rozwiązania
Samouczek: tworzenie lokalizacji ASP.NET MVC z wykrywaniem języka
źródło