static Locale toLocale()

in src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java [683:708]


    static Locale toLocale(String localeString) {
        if (localeString == null || localeString.length() == 0) {
            return Locale.getDefault();
        }

        // support BCP 47 compliant strings as well (using a different separator "-" instead of "_")
        localeString = localeString.replaceAll("-", "_");
        // check language and country
        final String[] parts = localeString.split("_");
        if (parts.length == 0) {
            return Locale.getDefault();
        }

        // at least language is available
        String lang = getValidLanguage(parts[0]);
        if (parts.length == 1) {
            return new Locale(lang);
        }

        Locale localeWithBuilder = createLocaleWithBuilder(parts, lang);
        if (localeWithBuilder != null) {
            return localeWithBuilder;
        }

        return createLocaleWithConstructor(lang, parts);
    }