1 package org.daisy.pipeline.common;
2
3 import java.util.HashMap;
4 import java.util.Locale;
5 import java.util.Map;
6
7 public class NormalizeLang {
8
9
10
11
12 private static Map<String,String> langMap = null;
13
14
15
16
17 public static Locale normalize(Locale locale) {
18 if (langMap == null) {
19 String[] allLanguages = Locale.getISOLanguages();
20 langMap = new HashMap<String,String>(allLanguages.length);
21 for (String l : allLanguages)
22 langMap.put(new Locale(l).getISO3Language(), l);
23 }
24 String twoLetterLang = langMap.get(locale.getLanguage());
25 if (twoLetterLang != null)
26 return (new Locale.Builder()).setLocale(locale).setLanguage(twoLetterLang).build();
27 return locale;
28 }
29 }