Предположим, у меня есть локаль, сохраненная в некоторой конфигурации в любом формате, из которого я могу получить объект Locale
. Затем мне нужно проверить, что текущим Locale
является этот языковой стандарт или подмножество этого языкового стандарта .
Итак, по сути, я ищу метод isSubsetLocale(Locale currentLocale, Locale configLocale)
с этими свойствами:
isSubsetLocale(Locale.forLanguageTag("en-US"), Locale.forLanguageTag("en")) == true;
isSubsetLocale(Locale.forLanguageTag("en-US"), Locale.forLanguageTag("en-US")) == true;
isSubsetLocale(Locale.forLanguageTag("de-CH"), Locale.forLanguageTag("en")) == false;
// or even
isSubsetLocale(Locale.forLanguageTag("en-US"), Locale.forLanguageTag("")) == true;
Я понимаю, что в 99% случаев я могу просто проверить, является ли локаль конфигурации префиксом текущей локали, но мне интересно, есть ли еще идиоматические c способ сделать это.