Как лучше всего локализовать приложение ASP.NET MVC?
Я хотел бы осветить две ситуации:
- одно развертывание приложения в IIS, которое будет обрабатывать несколько языков
- развертывание одного языка / приложения.
В первой ситуации следует ли вам использовать какие-то вещи, основанные на представлении, например ~ / View / EN, ~ / View / FI, ~ / View / SWE или что-то другое?
Как насчет второго случая, просто конфигурации на основе приложения через Web.config и указания этих разных языков на разные URL-адреса?
Ответы:
Вы также можете посмотреть здесь ASP.NET MVC 2 Localization полного руководства и ASP.NET MVC 2 модели Validation с локализацией этих заходы помогут вам , если вы работаете с 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
источник
Я никогда не был убежден в том, что локализация внутри формы, как предлагает Элайджа, может работать с разной длиной и направлением, что может привести к очень сложным или разнообразным формам.
Я только начинаю с 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 с определением языка
источник