Fallback to primary before configured locale.

At this moment

`fr, fr_FR, fr_CH, fr_BE` .... is supported

In some applications, usage of locale can be:

`{lang}_{region}` and by this way, you can talk fr while being in united states: `fr_US`. IOS settings allow to do such things, so millions of IOS user can have some strange locales lije that.

With this PR, If locale `fr_US` does not exists on ICU locales, it'll fallback first on primary then the configured locale.