From e0de008f51fe35fd9e70f00102515c884985180b Mon Sep 17 00:00:00 2001 From: Alain Emilia Anna Zscheile Date: Thu, 28 Nov 2024 21:28:29 +0100 Subject: [PATCH] build/deps(egui): bump icu_experimental to v0.2; replace icu_locid -> icu_locale_core --- crates/topola-egui/Cargo.toml | 4 ++-- crates/topola-egui/src/menu_bar.rs | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/crates/topola-egui/Cargo.toml b/crates/topola-egui/Cargo.toml index a224a11..a87e720 100644 --- a/crates/topola-egui/Cargo.toml +++ b/crates/topola-egui/Cargo.toml @@ -13,8 +13,8 @@ derive-getters.workspace = true egui = "0.29" fluent-templates = "0.11" geo.workspace = true -icu_experimental = "0.1" -icu_locid = "1.5" +icu_experimental = "0.2" +icu_locale_core = "2.0.0-beta1" log = "0.4" petgraph.workspace = true rfd = "0.15" diff --git a/crates/topola-egui/src/menu_bar.rs b/crates/topola-egui/src/menu_bar.rs index e7977fe..da8aef4 100644 --- a/crates/topola-egui/src/menu_bar.rs +++ b/crates/topola-egui/src/menu_bar.rs @@ -1,5 +1,3 @@ -use icu_experimental::displaynames::{DisplayNamesOptions, Fallback, LocaleDisplayNamesFormatter}; -use icu_locid::{locale, LanguageIdentifier, Locale}; use std::{borrow::Cow, ops::ControlFlow, path::Path, sync::mpsc::Sender}; use topola::{ @@ -381,13 +379,18 @@ impl MenuBar { ) { ui.menu_button(tr.text("tr-menu-preferences"), |ui| { ui.menu_button(tr.text("tr-menu-preferences-set-language"), |ui| { + use icu_experimental::displaynames::{ + DisplayNamesOptions, Fallback, LocaleDisplayNamesFormatter, + }; + use icu_locale_core::{locale, LanguageIdentifier, Locale}; + let mut display_names_options: DisplayNamesOptions = Default::default(); display_names_options.fallback = Fallback::None; for langid in Translator::locales() { - if let Ok(locale) = Locale::try_from_bytes(langid.to_string().as_bytes()) { + if let Ok(locale) = Locale::try_from_str(&langid.to_string()) { if let Ok(formatter) = LocaleDisplayNamesFormatter::try_new( - &locale.clone().into(), + locale.clone().into(), display_names_options, ) { // NOTE: I don't know how to reliably detect if there's no display name