This makes Localize
dyn-compatible, and will make it easier to remove the hack in the future as it is now more clearly an implementation detail.
VJCANIBGGIS7ICGVKKD637ULAFZCWPL3NZWSKZTCA4BQWV4OSDJQC
5I5NR4DQA6SGUUJXCDBGATRVT2US6HMCCRFJB2YF2YG7ZZKSZHKQC
HHJDRLLNN36UNIA7STAXEEVBCEMPJNB7SJQOS3TJLLYN4AEZ4MHQC
3NMKD6I57ONAGHEN4PZIAV2KPYESVR4JL3DTWSHXKCMVJBEQ4GIQC
QJC4IQITOQP65AFLA5CMH2EXHB6B3SOLW2XBV72U5ZQU2KOR2EIAC
7M4UI3TWQIAA333GQ577HDWDWZPSZKWCYG556L6SBRLB6SZDQYPAC
GJMBIJOE47X7DKZDHIY6VQ2ISC52XAVAV46L6PJQZTV7L7DDSWOAC
}
// TODO: remove this hack
fn old_locale_version(
new_locales: Vec<icu_locale_core::LanguageIdentifier>,
) -> Vec<icu_locid::LanguageIdentifier> {
new_locales
.into_iter()
// Convert new `icu_locale::LanguageIdentifier` to canonical string
.map(|icu_langid| icu_langid.to_string())
// Convert canonical string to old `icu_locid` for `fluent_langneg`
.map(|icu_langid| icu_locid::LanguageIdentifier::try_from_bytes(icu_langid.as_bytes()))
.map(Result::unwrap)
.collect::<_>()
let requested_locales = Self::old_locale_version(system_langids);
let available_locales = Self::old_locale_version(self.available_locales());
let requested_locales = old_locale_version(system_langids);
let available_locales = old_locale_version(self.available_locales());
}
// TODO: remove this hack
fn old_locale_version(
new_locales: Vec<icu_locale_core::LanguageIdentifier>,
) -> Vec<icu_locid::LanguageIdentifier> {
new_locales
.into_iter()
// Convert new `icu_locale::LanguageIdentifier` to canonical string
.map(|icu_langid| icu_langid.to_string())
// Convert canonical string to old `icu_locid` for `fluent_langneg`
.map(|icu_langid| icu_locid::LanguageIdentifier::try_from_bytes(icu_langid.as_bytes()))
.map(Result::unwrap)
.collect::<_>()