diff --git a/Cargo.lock b/Cargo.lock index cd6219d..872011d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1476,6 +1476,7 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", + "pure-rust-locales", "serde", "wasm-bindgen", "windows-link 0.2.1", @@ -7442,6 +7443,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d8f70e07b9c3962945a74e59ca1c511bba65b6419468acc217c457d93f3c740" +[[package]] +name = "pure-rust-locales" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "869675ad2d7541aea90c6d88c81f46a7f4ea9af8cd0395d38f11a95126998a0d" + [[package]] name = "pxfm" version = "0.1.30" diff --git a/README.md b/README.md index 05cf618..e8e38ed 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The project is under active development. Core blogging workflows are broadly ava ## Available Features -- Native Iced desktop workspace with localized menus, tabs, anchored editor popovers, automatically paged post/media sidebars, dialogs, tasks, embedded Wry previews, and a live Pico CSS theme editor. +- Native Iced desktop workspace with localized menus, tabs, anchored editor popovers, automatically paged post/media sidebars, relative-dated entity lists with row deletion, dialogs, tasks, embedded Wry previews, and a live Pico CSS theme editor. - Post and translation authoring with change-aware draft/published/archive lifecycle, file-backed change discard, canonical draft reopening after manual translation edits, non-disruptive automatic translation, desktop archive/unarchive actions, in-place published-frontmatter updates, metadata, tags, categories, live link/backlink graphs, media, and batch gallery-image import. - Media import, thumbnails, metadata translations, filters, validation, post assignment, and sequential drag-and-drop insertion into post editors. - WordPress WXR migration with saved analyses, HTML-to-Markdown and shortcode conversion, conflict/taxonomy review, recoverable 500-item execution batches, media-parent linking, progress reporting, and optional AI-assisted taxonomy mapping. diff --git a/crates/bds-ui/src/app.rs b/crates/bds-ui/src/app.rs index 49c6c75..21d0606 100644 --- a/crates/bds-ui/src/app.rs +++ b/crates/bds-ui/src/app.rs @@ -1799,15 +1799,15 @@ impl BdsApp { .and_then(|p| p.data_path.as_ref()) .map(PathBuf::from); // Per metadata.allium StartupSync - if let Some(data_dir) = self.data_dir.clone() { - if let Ok(meta) = engine::meta::read_project_json(&data_dir) { - let main_lang = - meta.main_language.unwrap_or_else(|| "en".to_string()); - self.content_language = main_lang.clone(); - self.blog_languages = meta.blog_languages; - if !self.blog_languages.contains(&main_lang) { - self.blog_languages.insert(0, main_lang); - } + if let Some(data_dir) = self.data_dir.clone() + && let Ok(meta) = engine::meta::read_project_json(&data_dir) + { + let main_lang = + meta.main_language.unwrap_or_else(|| "en".to_string()); + self.content_language = main_lang.clone(); + self.blog_languages = meta.blog_languages; + if !self.blog_languages.contains(&main_lang) { + self.blog_languages.insert(0, main_lang); } } if self.tabs.iter().any(|tab| tab.tab_type == TabType::Style) {