Как локализовать приложение ASP.NET MVC? - PullRequest
120 голосов
/ 10 октября 2008

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

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

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

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

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

Ответы [ 9 ]

71 голосов
/ 16 марта 2010

Вы также можете посмотреть здесь Полное руководство по локализации ASP.NET MVC 2 и Проверка правильности модели ASP.NET MVC 2 с локализацией эти пункты помогут вам, если вы работаете с ASP .NET MVC 2.

22 голосов
/ 11 октября 2008

Вы бы локализовали свое приложение ASP.NET MVC практически так же, как и классическое приложение веб-формы ASP.NET.

Вы не будете использовать разные страницы / представления для каждого языка, но каждая страница будет поддерживать несколько языков с использованием спутниковых сборок.

Вы можете заглянуть в запись в блоге Мэтта Хоули для более подробного объяснения и примеров.

9 голосов
/ 04 августа 2009

К сожалению, оригинальный код Мэтта Хоули не работает в выпускной версии 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

3 голосов
/ 11 октября 2008

Взгляните на проект MvcStore Роба Коннери. Он снимает экран, показывающий один из способов решения проблемы глобализации.

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

2 голосов
/ 29 июля 2010

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

2 голосов
/ 24 ноября 2009

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

Я только начинаю с MVC, но, используя метод развязки, вы захотите использовать один и тот же контроллер независимо от языка (рассматривая язык просто как представление) - тогда вы получите / Controller / Action / language / form

1 голос
/ 10 октября 2012

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

0 голосов
/ 22 апреля 2011

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

0 голосов
/ 26 июня 2010
...