< prev index next >

src/java.base/share/classes/sun/util/cldr/CLDRLocaleProviderAdapter.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 193,203 **** } return parent; } @Override public boolean isSupportedProviderLocale(Locale locale, Set<String> langtags) { ! return Locale.ROOT.equals(locale) || ! langtags.contains(locale.stripExtensions().toLanguageTag()); } } --- 193,220 ---- } return parent; } + /** + * This method returns equivalent CLDR supported locale for zh-HK, + * no, no-NO locales so that COMPAT locales do not precede + * those locales during ResourceBundle search path. + */ + private static Locale getEquivalentLoc(Locale locale) { + switch (locale.toString()) { + case "zh_HK": + return Locale.forLanguageTag("zh-Hant-HK"); + case "no": + case "no_NO": + return Locale.forLanguageTag("nb"); + } + return locale; + } + @Override public boolean isSupportedProviderLocale(Locale locale, Set<String> langtags) { ! return Locale.ROOT.equals(locale) ! || langtags.contains(locale.stripExtensions().toLanguageTag()) ! || langtags.contains(getEquivalentLoc(locale).toLanguageTag()); } }
< prev index next >