Skip to main content

pixelcoords_core/
strings.rs

1//! User-facing overlay strings. Everything the overlay renders as text
2//! comes from here so a language table can replace `EN` later without a
3//! refactor. ASCII only — the embedded font covers printable ASCII.
4
5/// One control-panel row: a short key column and what the key does.
6pub type HintRow = (&'static str, &'static str);
7
8#[derive(Debug, Clone, Copy)]
9pub struct Strings {
10    /// The marking controls, shown while not editing a label.
11    pub hud_hint_rows: &'static [HintRow],
12    /// The label editor's controls.
13    pub hud_edit_rows: &'static [HintRow],
14    pub hud_saved_prefix: &'static str,
15    pub hud_save_failed_prefix: &'static str,
16    pub hud_quit_unsaved: &'static str,
17    /// Closing a window that still holds marks. The count goes between the
18    /// two halves; deleting stays an explicit act, so this refuses rather
19    /// than offering to discard.
20    pub hud_release_blocked_prefix: &'static str,
21    pub hud_release_blocked_suffix: &'static str,
22    /// A window closed while others remain: that display is live again.
23    pub hud_released: &'static str,
24    /// A release asked for mid-gesture. Refused rather than fatal.
25    pub hud_release_busy: &'static str,
26    /// Edge snapping toggled on or off for the rest of the run.
27    pub hud_snap_on: &'static str,
28    pub hud_snap_off: &'static str,
29    /// The panel row's key column for the snap toggle, and the two states
30    /// its action column shows.
31    pub hud_snap_row_key: &'static str,
32    pub hud_snap_row_on: &'static str,
33    pub hud_snap_row_off: &'static str,
34}
35
36pub const EN: Strings = Strings {
37    hud_hint_rows: &[
38        ("drag", "draw / move / resize"),
39        ("Shift", "lock ratio / 15 turns"),
40        ("Q E", "rotate"),
41        ("W", "tool"),
42        ("A", "label"),
43        ("S", "save"),
44        ("D", "delete"),
45        ("Z", "undo / Shift redo"),
46        ("C", "cycle overlap"),
47        ("Alt+drag", "duplicate"),
48        ("arrows", "nudge (Shift 10, Alt size)"),
49        ("M", "hold: loupe"),
50        ("N", "name session"),
51        ("X", "edge snap"),
52        ("R", "release monitor"),
53        ("3-9", "polygon sides"),
54        ("Space", "hold: move panel"),
55        ("H", "hide panel"),
56        ("Esc", "quit"),
57    ],
58    hud_edit_rows: &[("type", "text"), ("Enter", "commit"), ("Esc", "cancel")],
59    hud_saved_prefix: "Saved ",
60    hud_save_failed_prefix: "Save failed: ",
61    hud_quit_unsaved: "Unsaved work - S saves, Esc again quits",
62    hud_release_blocked_prefix: "Monitor holds ",
63    hud_release_blocked_suffix: " selections - delete them first",
64    hud_released: "Monitor released",
65    hud_release_busy: "Finish the drag first - then R releases the monitor",
66    hud_snap_on: "SNAP ON",
67    hud_snap_off: "SNAP OFF",
68    hud_snap_row_key: "X",
69    hud_snap_row_on: "edge snap: on",
70    hud_snap_row_off: "edge snap: off",
71};