Как локализовать ASP.NET приложение MVC?


Что было бы лучшей практикой для локализации вашего ASP.NET приложение MVC?

Я хотел бы осветить две ситуации:

  • одно развертывание приложения в IIS, которое будет обрабатывать несколько языков
  • одном языке развертывание приложения.

в первой ситуации вы должны пойти с какой-то вид на основе вещи, как, ~/View/EN, ~/View/FI, ~/View/SWE или что-то другое?

насчет второго случая, просто конфигурация на основе приложений через Интернет.сконфигурируйте и укажите эти разные языки на разные URL-адреса?

9 119

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 Роба Коннери. Он делает скринкаст, показывающий один из способов решения проблемы глобализации.

http://wekeroad.com/2008/04/24/mvcstore-part-5

Я никогда не был убежден в обработке локализации в форме, как предлагает Элайджа - различные длины и направления могут привести к очень сложным или различным формам поиска naff.

Я только начинаю с MVC, но принимая метод развязки, вы бы хотели использовать один и тот же контроллер независимо от языка (рассматривая язык как представление) - это даст вам /контроллер/действие/язык/форма

есть хороший учебник с недавним обновлением о том, как локализовать asp.net приложение mvc охватывает все аспекты, включая локализацию DisplayName, проверку, использование маршрутизации (сохранение имени культуры в URL), проблемы с кэшем вывода и т. д... блог Алекса Адамяна-пока моя клавиатура тихо плачет

мы на самом деле пошли совершенно по-другому с переопределением DataAnnotationsMetadaDataProvider. Там вы можете убедиться, что значения DisplayNameAttribute разрешены на правильный язык. На самом деле вы даже можете избавиться от этого атрибута и решить по именам полей, только если это будет какая-то помощь.

Я написал эту статью некоторое время назад. Он использует пользовательский механизм просмотра. http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/

и еще один учебник для различные решения

учебник: создать ASP.NET локализация MVC с определением языка