Merge "Convert to ISO 639-2/B for menu language"
am: 8e217ba958
Change-Id: Iaea64c7fed62cfae3c5359ea062d6498c8b9dc14
This commit is contained in:
@@ -80,8 +80,10 @@ import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import libcore.util.EmptyArray;
|
||||
|
||||
/**
|
||||
@@ -93,6 +95,31 @@ public final class HdmiControlService extends SystemService {
|
||||
private final Locale HONG_KONG = new Locale("zh", "HK");
|
||||
private final Locale MACAU = new Locale("zh", "MO");
|
||||
|
||||
private static final Map<String, String> mTerminologyToBibliographicMap;
|
||||
static {
|
||||
mTerminologyToBibliographicMap = new HashMap<>();
|
||||
// NOTE: (TERMINOLOGY_CODE, BIBLIOGRAPHIC_CODE)
|
||||
mTerminologyToBibliographicMap.put("sqi", "alb"); // Albanian
|
||||
mTerminologyToBibliographicMap.put("hye", "arm"); // Armenian
|
||||
mTerminologyToBibliographicMap.put("eus", "baq"); // Basque
|
||||
mTerminologyToBibliographicMap.put("mya", "bur"); // Burmese
|
||||
mTerminologyToBibliographicMap.put("ces", "cze"); // Czech
|
||||
mTerminologyToBibliographicMap.put("nld", "dut"); // Dutch
|
||||
mTerminologyToBibliographicMap.put("kat", "geo"); // Georgian
|
||||
mTerminologyToBibliographicMap.put("deu", "ger"); // German
|
||||
mTerminologyToBibliographicMap.put("ell", "gre"); // Greek
|
||||
mTerminologyToBibliographicMap.put("fra", "fre"); // French
|
||||
mTerminologyToBibliographicMap.put("isl", "ice"); // Icelandic
|
||||
mTerminologyToBibliographicMap.put("mkd", "mac"); // Macedonian
|
||||
mTerminologyToBibliographicMap.put("mri", "mao"); // Maori
|
||||
mTerminologyToBibliographicMap.put("msa", "may"); // Malay
|
||||
mTerminologyToBibliographicMap.put("fas", "per"); // Persian
|
||||
mTerminologyToBibliographicMap.put("ron", "rum"); // Romanian
|
||||
mTerminologyToBibliographicMap.put("slk", "slo"); // Slovak
|
||||
mTerminologyToBibliographicMap.put("bod", "tib"); // Tibetan
|
||||
mTerminologyToBibliographicMap.put("cym", "wel"); // Welsh
|
||||
}
|
||||
|
||||
static final String PERMISSION = "android.permission.HDMI_CEC";
|
||||
|
||||
// The reason code to initiate intializeCec().
|
||||
@@ -176,7 +203,18 @@ public final class HdmiControlService extends SystemService {
|
||||
// Chinese used in Taiwan/Hong Kong/Macau.
|
||||
return "chi";
|
||||
} else {
|
||||
return locale.getISO3Language();
|
||||
String language = locale.getISO3Language();
|
||||
|
||||
// locale.getISO3Language() returns terminology code and need to
|
||||
// send it as bibliographic code instead since the Bibliographic
|
||||
// codes of ISO/FDIS 639-2 shall be used.
|
||||
// NOTE: Chinese also has terminology/bibliographic code "zho" and "chi"
|
||||
// But, as it depends on the locale, is not handled here.
|
||||
if (mTerminologyToBibliographicMap.containsKey(language)) {
|
||||
language = mTerminologyToBibliographicMap.get(language);
|
||||
}
|
||||
|
||||
return language;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user