code: 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;
      }
docs: Sets Language, Country, and  Currency (if available)
  @param string $value
  @return $this
  @throws \InvalidArgumentException