I needed to make modifications to existing code to act as a language switcher. So I looked at existing plugins and other questions posted on the topic, and there was a lot of references to various hooks:
..and other override hooks for these as well.
Documentation is horrible on these, and the language switcher code is pretty complex. But then I found the locale() hook, and just returning the iso code from that seems to do the trick just fine.
Am I missing something? If locale() makes it that easy, why all these other textdomain hooks?