Я пытаюсь локализовать сообщения об ошибках для атрибутов аннотаций данных. Я создал два resx-файла:
DataAnnotationsLocalization.resx
> DataAnnotationsLocalization.Designer.cs
DataAnnotationsLocalization.uk.resx
Я вызываю AddDataAnnotationsLocalization в Program.cs и теперь пытаюсь использовать его в своей модели страницы:
[MinLength(10, ErrorMessage = "LocationAddressFormatError")]
public string Address { get; set; }
Но в результате этого я вижу только свои английские ресурсы, тогда как другие локализованные строки я вижу в соответствии с текущим языком и региональными параметрами (CultureInfo.CurrentUICulture).
Я поставил точку останова в Designer.cs, но она никогда не срабатывает. Похоже, что фреймворк сразу переходит к DataAnnotationsLocalization.resx и не учитывает версии на других языках.
Как я могу показать правильную языковую версию для текущей культуры?
@PowerMouse Мой случай другой, фреймворк использует мои ресурсы, но только для английского языка.
Убедитесь, что вы сделали файл .resx общедоступным. вы установили промежуточное программное обеспечение в файле запуска. вместо использования ErrorMessage попробуйте использовать ErrorMessageResourceType и ErrorMessageResourceName вот ветка, на которую вы можете сослаться stackoverflow.com/a/20699676/11147346.
@JalpaPanchal Я искал SO и пробовал разные, ни один из этих двух мне не помог. Что касается общедоступных ресурсов, я не уверен, зачем они мне общедоступны, поскольку они находятся в одной сборке, но я попробовал это, и это ничего не изменило.





Вам следует сделать .resx общедоступным.
https://i.imgur.com/zrGqYk4.png
и используйте свои ресурсы вот так
[MinLength(10, ErrorMessageResourceName = "LocationAddressFormatError", ErrorMessageResourceType = typeof(DataAnnotationsLocalization)]
public string Address { get; set; }
Оказалось, что у меня неправильное действие сборки для локализованной версии файла ресурсов. После того, как я изменил его на встроенный ресурс, все начало работать как положено.
проверьте эту тему - может поможет. NET 6 stackoverflow.com/questions/71294332/…