Ответ 1
Вы также можете посмотреть здесь Руководство по полной локализации ASP.NET MVC 2 и ASP.NET MVC 2 Проверка модели с помощью локализации, это поможет вам, если вы работаете с ASP.NET MVC 2.
Что лучше всего было бы локализовать ваше приложение ASP.NET MVC?
Я хотел бы рассмотреть две ситуации:
В первой ситуации вы должны пойти с каким-то взглядом на вид, например, ~/View/EN, ~/View/FI, ~/View/SWE или что-то другое?
Как насчет второго варианта, просто настроить приложение через Web.config и указать эти разные языки на разные URL-адреса?
Вы также можете посмотреть здесь Руководство по полной локализации ASP.NET MVC 2 и ASP.NET MVC 2 Проверка модели с помощью локализации, это поможет вам, если вы работаете с ASP.NET MVC 2.
Вы бы локализовали приложение ASP.NET MVC очень точно так же, как классическое приложение ASP.NET Web Form.
Вы не будете использовать разные страницы/представления для каждого языка, но каждая страница будет поддерживать несколько языков с использованием спутниковых сборок.
Вы можете посмотреть запись в блоге Matt Hawley для получения дополнительных пояснений и примеров.
К сожалению, исходный код Matt Hawley не работает в выпуске ASP.NET MVC. Ознакомьтесь с обновленным сообщением: http://blog.eworldui.net/post/2008/10/ASPNET-MVC-Localization-via-View-Engines.aspx
В общем, процесс локализации не так гладен в мире VS 2008/ASP.NET MVC, как и в традиционных веб-формах. http://www.guysmithferrier.com/post/2009/05/Localizing-ASPNET-MVC.aspx
Посмотрите на проект Rob Connery MvcStore. Он делает скринкаст, демонстрируя один из способов решения проблемы глобализации.
Я никогда не убеждался в том, что вы занимаетесь локализацией в форме, как предполагает Илия, - разные длины и направления могут привести к очень сложным или изменяющимся формам поиска.
Я только начинаю с MVC, но использую метод развязки, который вы хотели бы использовать одним и тем же контроллером, независимо от языка (рассматривая язык так же, как представление) - это тогда даст вам/Controller/Action/language/form
Есть хороший учебник с недавним обновлением о том, как локализовать приложение asp.net mvc, охватывающее все аспекты, включая локализацию DisplayName, проверку, использование маршрутизации (сохранение имени культуры в URL-адресе), проблемы с кэшем вывода и т.д.... Алекс Адамян Блог - Пока моя клавиатура нежно плачет
Мы действительно пошли совершенно по-другому, переопределив DataAnnotationsMetadaDataProvider. Там вы можете убедиться, что значения DisplayNameAttribute разрешены на правильный язык. На самом деле вы даже можете избавиться от этого атрибута и разрешить имена полей, только если это будет любая помощь.
Я написал эту статью некоторое время назад. Он использует настраиваемый механизм просмотра. http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/
И еще один учебник для другого решения
Учебное пособие: создание локализации ASP.NET MVC с обнаружением языка