How to get current site (locale) api / plugin For my form plugin I'm using a global set of fields. These can be set in 2 languages default and en. 

Problem is whenever I try to output them I cant dynamically make them use the current site locale/multi-site.

This is the current code:

$localeHandle = Craft::$app-&gt;getSites()-&gt;getCurrentSite()-&gt;handle;
    // form texts
    $entries = GlobalSet::find()
        -&gt;siteId('*')
        -&gt;site($localeHandle)
        -&gt;handle('popupContact')
        -&gt;asArray()
        -&gt;one();


If $localeHandle is set to either default or en it works. I cant figure out how to get the handle though. Documentation doesn't state anything either.

Edit:
Craft::$app-&gt;getSites()-&gt;getCurrentSite()-&gt;handle; returns the default site handle.
I don't know if this was the problem you were having but I was not including the site's first URL segment like /en/ (in your example) with the controller action URL. So you'd want to post to /en/actions/pluginHandle/controllerClass/actionMethod to get the English site back when using Craft::$app-&gt;getSites()-&gt;getCurrentSite() in your plugin.

I posted a more thorough answer to the same problem in another ticket:
https://craftcms.stackexchange.com/a/33941/4433