src/Traits/AbstractGatewayDefaultParametersGettersAndSettersTrait.php
public function setLocale($value)
    {
        $normalized = strtr($value, ['_' => '-']);
        $parts = explode('-', $normalized);
        if (empty($parts[1])) {
            throw new \InvalidArgumentException('Locale should be in the format language-country');
        }
        $language = strtolower($parts[0]);
        $country = strtoupper($parts[1]);
        $this->setLanguage($language);
        $this->setCountry($country);
        $this->setDefaultCurrency($country);
        return $this;
    }
public function setLocale($value)
    {
        $normalized = strtr($value, ['_' => '-']);
        $parts = explode('-', $normalized);
        if (empty($parts[1])) {
            throw new \InvalidArgumentException('Locale should be in the format language-country');
        }
        $language = strtolower($parts[0]);
        $country = strtoupper($parts[1]);
        $this->setLanguage($language);
        $this->setCountry($country);
        $this->setDefaultCurrency($country);
        return $this;
    }
Sets Language, Country, and  Currency (if available)
@param string $value
@return $this
@throws \InvalidArgumentException