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}
18
19pub const EN: Strings = Strings {
20    hud_hint_rows: &[
21        ("drag", "draw / move / resize"),
22        ("Shift", "lock ratio / 15 turns"),
23        ("Q E", "rotate"),
24        ("W", "tool"),
25        ("A", "label"),
26        ("S", "save"),
27        ("D", "delete"),
28        ("Z", "undo / Shift redo"),
29        ("C", "cycle overlap"),
30        ("Alt+drag", "duplicate"),
31        ("arrows", "nudge (Shift 10, Alt size)"),
32        ("M", "hold: loupe"),
33        ("N", "name session"),
34        ("3-9", "polygon sides"),
35        ("Space", "hold: move panel"),
36        ("H", "hide panel"),
37        ("Esc", "quit"),
38    ],
39    hud_edit_rows: &[("type", "text"), ("Enter", "commit"), ("Esc", "cancel")],
40    hud_saved_prefix: "Saved ",
41    hud_save_failed_prefix: "Save failed: ",
42    hud_quit_unsaved: "Unsaved work - S saves, Esc again quits",
43};