public function getLocale()
    {
        if ($this->locale instanceof Locale) {
            return $this->locale;
        }
        if (!isset($this->locales[$this->locale])) {
            $this->locale = 'en';
        }
        // lazy loading
        if (isset(static::$localeInstances[$this->locale])) {
            return static::$localeInstances[$this->locale];
        }
        return static::$localeInstances[$this->locale] = new $this->locales[$this->locale];
    }