mirror of
https://github.com/storytold/wordcraft.git
synced 2026-10-24 10:27:44 -06:00
Adds the craft-i18n crate (craft-libs f7cc8a7, storytold/craft-libs#247) and the build.rs recipe from craft-i18n's docs/integration.md: with CRAFT_I18N_DIR set, CRAFT_I18N embeds each locale's common.tsv and wordcraft.tsv (paths via {:?}, never canonicalized); unset, it is empty and the build is English only; CRAFT_I18N_REQUIRED=1 makes that an error. craft-i18n.rev pins storytold/craft-i18n be1f053 (LF via .gitattributes); the flatpak manifest checks out the same commit and sets CRAFT_I18N_DIR. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
53 lines
2.1 KiB
TOML
53 lines
2.1 KiB
TOML
[package]
|
|
name = "wordcraft-ui-egui"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "WordCraft egui front end (Word-style ribbon UI); swappable: nothing below depends on it"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
craft-ui = { git = "https://github.com/storytold/craft-libs", rev = "d27646a5f7c8b4fc85d9dd3213b8c88b58e0088d" }
|
|
# Interface translations: lookup, fallback, plurals and system-locale matching over the craft-i18n
|
|
# catalogs that `build.rs` embeds from `CRAFT_I18N_DIR` (storytold/craft-i18n, pinned in
|
|
# `craft-i18n.rev`). Its own rev: lazy per-locale parsing (storytold/craft-libs#247).
|
|
craft-i18n = { git = "https://github.com/storytold/craft-libs", rev = "f7cc8a7df15e824b02cf73859567a6242d3a7de4" }
|
|
wordcraft-geom = { workspace = true }
|
|
wordcraft-doc = { workspace = true }
|
|
unicode-bidi = { workspace = true }
|
|
wordcraft-fonts = { workspace = true }
|
|
wordcraft-layout = { workspace = true }
|
|
wordcraft-render = { workspace = true }
|
|
wordcraft-engine = { workspace = true }
|
|
wordcraft-zotero = { workspace = true }
|
|
egui = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
log = { workspace = true }
|
|
# Pictures pasted from the system clipboard arrive as pixels and are inserted as PNG (#45).
|
|
image = { workspace = true }
|
|
# The system's preferred interface languages (#8) and region (#838). Native: OS APIs; wasm:
|
|
# the browser's languages (`js`).
|
|
sys-locale = { version = "0.3", features = ["js"] }
|
|
|
|
# Linux only, where winit reports no system theme: the desktop portal's light/dark answer (see
|
|
# `desktop_theme.rs`). Already in the tree, with these features, through egui's own accessibility
|
|
# bus; pinned to one version so nothing is built twice.
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
zbus = "=5.19.0"
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
# The browser clock (`SystemTime::now()`/`Instant::now()` panic on wasm32).
|
|
js-sys = "0.3"
|
|
|
|
[dev-dependencies]
|
|
cfb = { workspace = true }
|
|
egui_kittest = { workspace = true, features = ["wgpu", "snapshot"] }
|
|
zip = { workspace = true }
|
|
|
|
[build-dependencies]
|
|
serde_json = { workspace = true }
|
|
toml = "1"
|