kermie just a quick reply here, I could go into much deeper detail, but not right now (I'm busy getting a new release prepped!)
You have a few options, and yes tags are one way for sure, but just as you're finding, the flarum/tags hierarchy can be restrictive here.
One solution would be to use fof/discussion-language
#23702 . This allows you to have one tag structure, but each discussion within is marked with the language it's written in, and users can filter at many levels to only show a given language, for example.
Combined with glowingblue/localizd
#30487 you can even have the tag display names (amongst other things) translated as well.
Both of these solutions are for Flarum 1.x only. (fof/discussion language is in the queue for upgrading for Flarum 2 compatibility)
Another option is to use glowingblue/translate, an enterprise offering by @glowingblue (not available from the usual premium extension store), which caters for real time translations seamlessly, so you'd have just the one tag setup to suit your needs, and your users can talk to each other in any language you configure, without any switching, translating, etc at all. You can see this in action right now on both the Swisscom and Victorinox communities.
I hope this can give you some inspiration, and happy to chat further with you later on this if needed!