Add 'stop impersonating' link to user avatar dropdown when impersonating

Я протестировал функцию experimental_impersonation, и она выглядит отлично! Она делает именно то, что обещает, и я рад, что мне не приходится проходить через лишние шаги: выходить из системы, а затем снова входить под своей учётной записью.

@moin указал в 🇩🇪 Fehler in der Deutschen Übersetzung? Hier melden! - #108 by Moin, что термины «impersonate» и «stop impersonating» плохо переводятся на немецкий язык. Трудно подобрать слова, которые точно передают весь смысл действия. Возможно, такая проблема существует и в других языках, но я это не проверял.

Интересно, не стоит ли нам (каламбур намерен) перейти к более простым формулировкам, например: Переключиться на @user_to_impersonate на странице администрирования пользователя, а затем Вернуться к @user_who_impersonated на кнопке для прекращения имперсонации. Это, вероятно, упростит перевод и сделает интерфейс понятнее для носителей других языков.

Сегодняшнее тестирование также выявило несколько других проблем:

  • Мне кажется, что для имперсонации нужно добавить модальное окно, аналогичное тем, что используются при удалении или слиянии. Это позволит отменить действие в случае случайного нажатия, а также проинформирует администратора о том, что будет выполнено, что действие будет зафиксировано в логах, и что можно будет вернуться без повторного входа в систему.
  • Факт имперсонации и возврата фиксируется в журнале действий персонала, но действия, выполненные во время имперсонации, не логируются. Учитывая, насколько эта функция подвержена злоупотреблениям — как случайным, так и умышленным —我觉得 логировать такие действия тоже имеет смысл.
  • Старая проблема всё ещё сохраняется: при имперсонации пользователя обновляется дата его последнего посещения в списке пользователей и в панели администратора, а также (предположительно) в плагине «Кто онлайн», если он установлен.
8 лайков