I don't think any client has tried this. Such an experiment should be tested by a client with a large user base; or better with an interoperability orientation, by a pool of clients, so to bring in different types of users and points of view.
In addition this is an addition that doesn't cause any incompatibility issue to the protocol, it can easily be deprecated by clients if it shows little utility. It's not even necessary to touch the NIPs, it's sufficient to take advantage of NIP-32 labels.
In brief:
1) When logging in and creating the account, the user can choose one or more languages.
2) When browsing a feed the user can select a language to filter the notes.
3) When the user enters a thread from a filtered feed, the client shows all the notes by default, and if possible it translates replies to the original language used in the feed; in addition the user can force a language filter at thread level, too.
2) When posting a note the user can indicate what language it is using, by selecting one of the preselected ones; optionally the client can detect the used language and select it automatically, allowing the user correct the choice.
A slightly more complex version, from a user interface perspective, may include not only the language but also the region; and this also is backward compatible using NIP-32 and simply *adding* an ISO-639-2 tag to the basic ISO-639-1 one (since relays cannot filter by prefix, right?).