я вижу тут такие варианты
- фронт всегда занимается i18n и бэк не знает ничего о локалях, возвращает коды
- фронт рендерит сообщения об ошибках напрямую, но тогда бэк должен знать о локалях, получается i18n ответственность делится между фронтом и бэком
я просто думал здесь есть какие то сформировавщиеся best practices