Я пытаюсь локализовать сообщения об ошибках из NHibernate.Validator. Из того, что я прочитал, сообщения должны автоматически локализоваться, если я устанавливаю CurrentCulture/CurrentUICultule; которые я пробовал без успеха. Я использую архитектуру S # arp с настройкой по умолчанию. Как я уже сказал, единственное, что я изменил, это CurrentCulture/CurrentUICultule.
Должен ли я создать настраиваемый интерполятор сообщений для валидатора nhibernate?
Я разместил в своем блоге о создании пользовательского интерполятора, который переопределяет сообщения по умолчанию, если они существуют в ваших ресурсах. Это позволяет вам переопределять сообщения по умолчанию и добавлять новые сообщения для ваших валидаторов. Проверьте это: NHibernate Validator Custom Messages
Изменение культуры не было хорошей идеей, так как весь мой сайт находится на испанском языке, поэтому путь, который я взял, это создать испанскийMessageInterpolator, а затем настроить его в моем nhv.config, например:
<property name="message_interpolator_class">NHibernateValidator.SpanishMessageInterpolator, Assembly</property>
И, наконец, я модифицировал файл global.asax.cs, чтобы включить файл nhv.config в инициализацию NHibernate, например:
NHibernateSession.Init(
webSessionStorage,
new string[] { Server.MapPath("~/bin/Assembly.dll") },
new AutoPersistenceModelGenerator().Generate(),
Server.MapPath("~/NHibernate.config"), Server.MapPath("~/nhv.config"));