It is definitely something that I want to look into doing.
There doesn’t appear to be anyway to filter out languages without de-federating. It would easier to do with some servers, but not others.
Example: There are accounts on mstdn.ca that have posts in French, but I am aware that they would have some English speakers as well.
This is the downside of using ActivityPub relays. You start following a lot of servers, but you have to do the filtering by hand.
I have de-federated from a good amount of servers (75), but I may have to be stricter with some others.
If there are any specific ones that should be de-federated, let me know.
EDIT: OK, some things discovered tonight.
I was clicking “Block User” on a profile, which turns out was only blocking the user for me and not for everyone.
I have to “Delete Account” on a user to actually remove an individual account. (That should allow us to remove German/French accounts without de-federating the entire server)
But then I have to do a soft restart of the forum for the changes to be pushed through.
It’s a solution, but one that will have to be actively monitored.