Как локализовать приложение ASP.NET MVC?
Что лучше всего было бы локализовать ваше приложение ASP.NET MVC?
Я хотел бы остановиться на двух ситуациях:
- одно развертывание приложения в IIS, которое обрабатывало бы несколько языков
- развертывание одного языка / приложения.
В первой ситуации вы должны пойти с каким-то видом на основе, например, ~ / View / EN, ~ / View / FI, ~ / View / SWE или что-то другое?
- Как локализовать мое приложение с Xcode 4?
- Возможно ли одноуровневое многоязычное развертывание Windows Forms (ILMerge и спутниковые сборки / локализация)?
- Что такое тест в Турции?
- Интернационализация в JSF, когда использовать набор сообщений и набор ресурсов?
- Кодирование на других (разговорных) языках
Как насчет второго варианта, просто настроить приложение через Web.config и указать эти разные языки на разные URL-адреса?
- Установить культуру в приложении ASP.Net MVC
- Как получить локализованную строку шаблона даты?
- Android: как получить текущий день недели (понедельник и т. Д.) На языке пользователя?
- Локализация в JSF, как запоминать выбранную локаль за сеанс вместо запроса / представления
- Локализация DisplayNameAttribute
- Атрибут DisplayName из ресурсов?
- Измените язык приложения на программном уровне в Android
- Правильный способ изменения языка во время выполнения
Вы также можете посмотреть здесь. Руководство по полной локализации ASP.NET MVC 2 и проверка модели ASP.NET MVC 2 с локализацией, которую они могут вам помочь, если вы работаете с ASP.NET MVC 2.
Вы бы локализовали приложение ASP.NET MVC очень точно так же, как classическое приложение ASP.NET Web Form.
Вы не будете использовать разные страницы / представления для каждого языка, но каждая страница будет поддерживать несколько языков с использованием спутниковых сборок.
Вы можете посмотреть запись блога Мэтта Хоули, чтобы получить больше объяснений и примеров.
К сожалению, оригинальный код Мэтта Хоули не работает в версии 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 Роба Коннери. Он делает скринкаст, демонстрируя один из способов решения проблемы глобализации.
Я никогда не убеждался в том, что вы занимаетесь локализацией в форме, как предполагает Илия, – разные длины и направления могут привести к очень сложным или разным формам, которые не нужны.
Я только начинаю с MVC, но использую метод развязки, который вы хотели бы использовать одним и тем же controllerом, независимо от языка (рассматривая язык так же, как представление) – это тогда даст вам / Controller / Action / language / form
Существует хороший учебник с недавним обновлением о том, как локализовать приложение asp.net mvc, охватывающее все аспекты, включая локализацию DisplayName, проверку, использование маршрутизации (сохранение имени культуры в URL-адресе), проблемы с выходным кэшем и т. Д. … Alex Adamyan Blog – пока моя клавиатура мягко плачет
На самом деле мы пошли совершенно по-другому, переопределив DataAnnotationsMetadaDataProvider . Там вы можете убедиться, что значения DisplayNameAttribute разрешены на правильный язык. На самом деле вы даже можете избавиться от этого атрибута и разрешить имена полей, только если это будет любая помощь.
Я написал эту статью некоторое время назад. Он использует настраиваемый механизм просмотра. http://blog.oimae.com/2011/02/20/cultured-view-engine-for-mvc/
И еще один учебник для другого решения
Учебное пособие: создание локализации ASP.NET MVC с определением языка