All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.daisy.pipeline.common.NormalizeLang Maven / Gradle / Ivy

There is a newer version: 3.1.2
Show newest version
package org.daisy.pipeline.common;

import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

public class NormalizeLang {

	/**
	 * Mapping from three- to two-letter language tags
	 */
	private static Map langMap = null;

	/**
	 * Convert three-letter language subtag to two-letter tag if possible.
	 */
	public static Locale normalize(Locale locale) {
		if (langMap == null) {
			String[] allLanguages = Locale.getISOLanguages(); // all two-letter language tags
			langMap = new HashMap(allLanguages.length);
			for (String l : allLanguages)
				langMap.put(new Locale(l).getISO3Language(), l);
		}
		String twoLetterLang = langMap.get(locale.getLanguage()); // convert to two-letter
		if (twoLetterLang != null)
			return (new Locale.Builder()).setLocale(locale).setLanguage(twoLetterLang).build();
		return locale;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy