Как локализовать ASP.NET приложение MVC?
Что было бы лучшей практикой для локализации вашего ASP.NET приложение MVC?
Я хотел бы осветить две ситуации:
- одно развертывание приложения в IIS, которое будет обрабатывать несколько языков
- одном языке развертывание приложения.
в первой ситуации вы должны пойти с какой-то вид на основе вещи, как, ~/View/EN, ~/View/FI, ~/View/SWE или что-то другое?
насчет второго случая, просто конфигурация на основе приложений через Интернет.сконфигурируйте и укажите эти разные языки на разные URL-адреса?
9 ответов:
вы также можете посмотреть здесь ASP.NET MVC 2 локализация полное руководство и ASP.NET проверка модели MVC 2 с локализацией эти целые поможет вам, если вы работаете с ASP.NET MVC 2.
вы бы локализовали свой ASP.NET приложение MVC очень похоже на то, как вы бы классический ASP.NET приложение веб-формы.
вы не будете использовать разные страницы/представления для каждого языка, но каждая страница будет поддерживать несколько языков с использованием вспомогательных сборок.
вы можете посмотреть запись в блоге Мэтта Хоули для получения дополнительных объяснений и примеров.
к сожалению, исходный код Мэтта Хоули не работает в релизной версии 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
взгляните на проект MvcStore Роба Коннери. Он делает скринкаст, показывающий один из способов решения проблемы глобализации.
Я никогда не был убежден в обработке локализации в форме, как предлагает Элайджа - различные длины и направления могут привести к очень сложным или различным формам поиска naff.
Я только начинаю с MVC, но принимая метод развязки, вы бы хотели использовать один и тот же контроллер независимо от языка (рассматривая язык как представление) - это даст вам /контроллер/действие/язык/форма
есть хороший учебник с недавним обновлением о том, как локализовать asp.net приложение mvc охватывает все аспекты, включая локализацию DisplayName, проверку, использование маршрутизации (сохранение имени культуры в URL), проблемы с кэшем вывода и т. д... блог Алекса Адамяна-пока моя клавиатура тихо плачет
мы на самом деле пошли совершенно по-другому с переопределением DataAnnotationsMetadaDataProvider. Там вы можете убедиться, что значения DisplayNameAttribute разрешены на правильный язык. На самом деле вы даже можете избавиться от этого атрибута и решить по именам полей, только если это будет какая-то помощь.
Я написал эту статью некоторое время назад. Он использует пользовательский механизм просмотра. http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/
и еще один учебник для различные решения
учебник: создать ASP.NET локализация MVC с определением языка