-
Bug
-
Resolution: Fixed
-
P3
-
None
-
None
-
b09
-
generic
-
generic
The spec of ResourceBundle.Control.getCandidateLocale() reads:
```
when an input Locale has language "no" or "nb", candidate Locales with language code "no" and "nb" are interleaved, first using the requested language, then using its synonym
```
However, the current implementation returns the same candidate list for both "nb-NO-POSIX" and "no-NO-POSIX" as in the example:
[L("nb"), C("NO"), V("POSIX")]
[L("no"), C("NO"), V("POSIX")]
[L("nb"), C("NO")]
[L("no"), C("NO")]
[L("nb")]
[L("no")]
so it violates:
```
Locale("no", "NO", "POSIX") would generate the same list except that locales with "no" would appear before the corresponding locales with "nb".
```
```
when an input Locale has language "no" or "nb", candidate Locales with language code "no" and "nb" are interleaved, first using the requested language, then using its synonym
```
However, the current implementation returns the same candidate list for both "nb-NO-POSIX" and "no-NO-POSIX" as in the example:
[L("nb"), C("NO"), V("POSIX")]
[L("no"), C("NO"), V("POSIX")]
[L("nb"), C("NO")]
[L("no"), C("NO")]
[L("nb")]
[L("no")]
so it violates:
```
Locale("no", "NO", "POSIX") would generate the same list except that locales with "no" would appear before the corresponding locales with "nb".
```