Как лучше оформлять текcтовые ошибки для локализации ASP.NET CORE web api?
Суть в том, что мои ошибки кастомные ошибки выглядят как-то так
return new IdentityUserResult()
{
Errors = new List<string>(){ "Check your email and password. Login attempt is not succesful" }
};
Но при мультиязычном приложении мне говорили, что это неудобно.
Как лучше тогда их представлять?
Возможно их представлять в виде enum или есть еще лучшее решение?
Это вообще нормальная практика применять локализацию для web api или это должно происходить на стороне клиентов ближе к view?
Илья, например для стороны asp net core mvc c локализацией. Здесь будут использоваться результаты полученные из апи.
А если использовать локализацию на стороне апи, то это немного нарушение single responsibility.
я думаю, что могу найти в любом коде нарушение single responsibility. SOLID это инструмент. А исходить нужно из вашего ТЗ, а не из страха что Дядюшка Боб заругает.
Пример когда локализация на бэке логичнее: у вас много клиентов апи, некоторые писали не вы, но на всех клиентах вы хотите сохранить одинаковость текстов.
Пример когда локализация на фронте логичнее: у вас один клиент и вообще вы больше шарите во фронте и лишний раз не хотите в бэк лезть.
Были они отшельниками. Однажды Мастер говорит ученику:
– Сегодня мы пойдем к людям и будем отвечать на их вопросы.
Вот спустились они с гор, вышли на дорогу, сели на обочине и стали ждать.. Скоро начали приходить люди и задавать Мастеру вопросы – о смысле жизни, о мироустройстве вселенной и т.д., но Мастер молчал. И вот когда стемнело и люди разошлись на дороге появился путник, он подошел к Мастеру и ученику и спросил:
– Добрые люди, подскажите как мне дойти к «такому-то» селению?
И вдруг Мастер заговорил, начал объяснять как пройти до селения, в итоге Мастер решил проводить путника и помочь ему нести сумки. Когда они помогли путнику, то стали возвращаться к себе в горы. Ученик долго шел и молчал, но потом не выдержав задал Мастеру вопрос:
– Мастер, а почему когда сегодня к тебе приходили люди и задавали такие умные вопросы, ты молчал, а стоило подойти какому то путнику и спросить дорогу – ты вдруг заговорил, и мало того даже решил проводить его?
И Мастер ответил:
– Потому что за целый день это был единственный человек который знал чего он хотел