Как локализовать MVC с использованием ресурсов базы данных - PullRequest
5 голосов
/ 24 августа 2010

Я прочитал большую часть литературы, которую Google и SO предоставляют по этому вопросу (поправьте меня, если я что-то пропустил).

Я пытаюсь локализовать сайт MVC с использованием ресурсов, я хочу безопасность времени компиляции строго типизированных файлов ресурсов (ResX) , но гибкость ASP.NET 2.0 Resource Модель провайдера или что-то подобное. Я не против сделать какую-то работу, но, кажется, все пути, которые я исследовал, ведут в тупик.

Для отображения локализованного текста в представлениях я могу собрать хелпера для извлечения ресурсов из HttpContext.Get (Global | Local) ResourceObject , но это ни к чему не приводит, когда дело доходит до проверки модели и создания лесов , я полагаю, я мог бы создать подклассы для атрибутов и предоставить данные, но, поскольку это означает получение содержимого из HttpContext, я сомневаюсь, что это доступно в момент активации атрибутов.

Поскольку локализация в MVC, по-видимому, направлена ​​на файлы ResX и отличается от модели 2.0 Resource-Provider, я мог бы попытаться внедрить себя в классы, сгенерированные ResXFileCodeGenerator , с помощью специального ResXFileCodeGenerator , чтобы обеспечить мой собственный ResourceProvider, но он ужасно хакерский, с использованием пользовательских надстроек Visual Studio и генерацией кода.

Так что мой вопрос в основном, что за история с гибкой локализацией MVC ?

Ссылочная литература ниже:

Ответы [ 2 ]

0 голосов
/ 23 марта 2015

Пожалуйста, попробуйте выделенный пакет NuGet для локализации приложений MVC с ресурсами базы данных: Globsite.Globalization.Mvc

Он построен на собственной модели поставщика ресурсов ASP.NET , поэтому его можно интегрировать с вашим приложением аналогично стандартным ресурсам ResX.
Более того, библиотека позволяет генерировать строго типизированные ресурсы одним щелчком мыши, если вам нужно.

Сайт проекта с более подробной информацией:
globsite.net / GlobsiteGlobalizationLibrary

0 голосов
/ 24 августа 2010

Поставщик ресурсов должен работать нормально (т.е. http://msdn.microsoft.com/en-us/library/aa905797.aspx). Я использовал это в некоторых проектах с провайдером, поддерживаемым SQL Server, работает нормально. Он позволяет вам использовать все возможности локализации ASP.NET и всеперевод атрибутов валидации с использованием ресурсов.

...