private function selectLocale(string $errorId, string $requestedLocale = null): string
    {
        $properties = $this->properties();
        if (null !== $requestedLocale) {
            if ($properties->containValue($errorId, $requestedLocale)) {
                return $requestedLocale;
            }

            $baseLocale = substr($requestedLocale, 0, strpos($requestedLocale, '_')) . '_*';
            if ($properties->containValue($errorId, $baseLocale)) {
                return $baseLocale;
            }
        }

        if ($properties->containValue($errorId, $this->defaultLocale)) {
            return $this->defaultLocale;
        }

        return 'default';
    }