@wfdave I’m repeating what @nilovelez said
I understand it’s a big deal to prepare all the WordFence codebase for localization, but having the front-end strings translated might be enough.
There are only a few strings that regular users would ever see from WordFence, and the “login error” in this thread is also used for reducing the information a potential attacker can get.
Sorry for my insistence, but you have to underderstand WordFence is the most used untranslatable plugin in the WordPress directory:
https://wp-info.org/plugin-top120/
source : https://www.ads-software.com/support/topic/login-errors-are-not-localized/#post-10367544
To make these strings translatable you have only to load textdomain, add textdomain in header and add textdomain to gettext functions for these strings. It really fast to do.