public static Set<String> getAvailableLocaleSuffixes() {

		Set<String> availableLocaleSuffixes = new HashSet<>();
		Locale[] availableLocales = Locale.getAvailableLocales();
		for (Locale locale : availableLocales) {
			StringBuilder sb = new StringBuilder();
			if (locale != null) {

				String language = locale.getLanguage();
				String country = locale.getCountry();
				String variant = locale.getVariant();

				if (StringUtils.isNotEmpty(variant)) {
					sb.append(language).append('_').append(country).append('_').append(variant);
				} else if (StringUtils.isNotEmpty(country)) {
					sb.append(language).append('_').append(country);
				} else {
					sb.append(language);
				}
			}
			availableLocaleSuffixes.add(sb.toString());
		}
		return availableLocaleSuffixes;
	}
public static Set < String > getAvailableLocaleSuffixes ( ) { Set < String > availableLocaleSuffixes = new HashSet < > ( ) ; Locale [ ] availableLocales = Locale . getAvailableLocales ( ) ; for ( Locale locale : availableLocales ) { StringBuilder sb = new StringBuilder ( ) ; if ( locale != null ) { String language = locale . getLanguage ( ) ; String country = locale . getCountry ( ) ; String variant = locale . getVariant ( ) ; if ( StringUtils . isNotEmpty ( variant ) ) { sb . append ( language ) . append ( '_' ) . append ( country ) . append ( '_' ) . append ( variant ) ; } else if ( StringUtils . isNotEmpty ( country ) ) { sb . append ( language ) . append ( '_' ) . append ( country ) ; } else { sb . append ( language ) ; } } availableLocaleSuffixes . add ( sb . toString ( ) ) ; } return availableLocaleSuffixes ; }
Returns the set of available locale suffixes

@return the set of available locale suffixes