mirror of
https://github.com/spoopyghosty0/frameport.git
synced 2026-10-11 02:00:53 +02:00
3.3 KiB
3.3 KiB
Writing style for FramePort
Short rules so every screen, help text, doc and web page sounds the same. Code style is enforced by ruff.
Words
- Steam Frame on first mention in a screen or document, the Frame after that. Headset only for the physical device you wear ("put the headset on"). Buttons say "… on Frame" ("Install on Frame").
- Quest game for Meta Quest apps, Android app for ordinary Android apps, Linux app for Linux programs, PC VR game for Windows VR games (never "PCVR"). Say Oculus or Rift only for games that use Oculus's own SDK. Game when the kind doesn't matter; APK only when the file itself matters.
- Patch for anything in a game's patch list (never "fix" for the same thing). Recipe for a game's chosen patches and settings (never "config"); say what it is the first time a page uses it.
- Tools by their names: OVRPort, Revive, Proton, Lepton, SteamVR.
- Install (first time), Update (a newer build), Reinstall (the same build again); Play starts a game.
- Set up = the one-time setup of a Frame; connect = linking FramePort to it. Pair only in Valve's own
Pair new host. The setup line is the fixed
curl -fsSL https://frameport.app/s | bash; the setup command is the one with this PC's address and a one-time code. FramePort's button is Allow. - Konsole is the Frame's terminal. The way there is "SteamVR dashboard → Launch a program → Desktop, then app menu → System → Konsole": say it in full once per page, then just "Konsole".
- This PC / your PC, not "computer". Unpack a download (zip and tar.gz alike), not "unzip".
- One label per thing everywhere: Docs, Report a problem, Download FramePort.
Form
- Buttons and headings in sentence case ("Add games", "Report a problem…"); one label per action everywhere.
- "…" at the end of a label when the action asks for more input (a dialog, a file picker).
- Sentences end with a period, including tooltips and help texts; labels and headings don't (also on the website).
- "and", not "&", in text. An em dash (—) for asides, a middle dot (·) between short facts.
- No Oxford comma ("Windows, macOS and Linux"). Straight apostrophes and quotes in source.
- Sizes in GiB/MiB (
i18n.fmt_size), dates as YYYY-MM-DD HH:MM (i18n.fmt_datetime). - US spelling (customize, analyze, color, license).
- Plain, technical wording: say what happens ("Steam restarts once"), no marketing adjectives.
Length
Short beats complete: say what the user does or gets; leave out how it works unless they need it to act.
- Buttons: four words at most. Tooltips: one short sentence.
- Dialog text: two short sentences. Help texts: three sentences at most (about 200 characters).
- Doc paragraphs: three sentences at most; steps as numbered lists.
- Explain a technical term in a few words where a reader first meets it, or leave it out.
- Say a thing once and link to it elsewhere.
Translations
- Every text the GUI shows goes through
tr("…")ortr_n("…", "…", n)(seesrc/frameport/i18n.py); use templates with.format(), never f-strings insidetr(), and never decide anything from a displayed text. - After changing texts run
python scripts/i18n_extract.py(a test checks the template is current). - CLI output, logs, diagnostics, catalog notes and launch-test diagnoses stay English.