Files
tty7/docs/customization/settings.mdx
T
02620cfa48 feat(ui): add ru-RU locale with CLDR few/many plurals (#1072)
* feat(ui): add ru-RU locale with CLDR few/many plurals

Russian joins English, Simplified Chinese and Japanese.

- `gui_language` accepts `ru-RU`; the picker shows the endonym «Русский»
  in every locale, as for 简体中文 and 日本語.
- `PluralCategory` gains `few` and `many`, chosen by the CLDR rule for
  the active locale (1 файл, 2 файла, 5 файлов, 11 файлов, 21 файл).
  en, zh and ja never select them, so their output is unchanged.
- `ru.rs` translates every key and every plural form; the exhaustiveness
  test now covers ru as well.
- Style follows Russian VS Code / Windows: infinitive verbs on buttons
  and menu items, imperative in hints, Git terms as in VS Code ru.

Claude-Session: https://claude.ai/code/session_01NnVhn11H75iA699hvPsiH3

* docs(config): list ru-RU among gui_language values

---------

Co-authored-by: kalpakprod <307643502+kalpakprod@users.noreply.github.com>
Co-authored-by: l0ng-ai <24760907+l0ng-ai@users.noreply.github.com>
2026-10-03 20:36:31 +08:00

112 lines
4.2 KiB
Plaintext

---
title: "Settings"
description: "What lives in each section, and how the settings file works."
---
<kbd>⌘ ,</kbd> opens Settings. There is a search box at the top that matches
setting names *and* keywords, which is usually faster than remembering which
section something is in.
<Frame caption="Settings opens in its own window, sections down the left">
<img src="/images/settings.webp" alt="tty7 Settings" />
</Frame>
## The seven sections
<CardGroup cols={2}>
<Card title="General" icon="sliders">
Interface language, default terminal, startup window, size and layout
restore, tray icon, where tabs open and sit, sidebar auto grouping, and
command completion notifications.
</Card>
<Card title="Appearance" icon="palette" href="/customization/themes">
Theme and colors, interface and terminal fonts, cursor, background image,
transparency, and inactive panes.
</Card>
<Card title="Terminal" icon="terminal">
Shell and starting directory, prompt editor, completion and command history,
scrollback, scrolling, bell, and opening links and files.
</Card>
<Card title="Keyboard & Mouse" icon="keyboard" href="/customization/keybindings">
Keyboard shortcuts, Option as Meta, mouse behavior, selection, and clipboard.
</Card>
<Card title="SSH" icon="server" href="/remote/ssh">
Recent and saved hosts, each opened and edited in place, and host key
security.
</Card>
<Card title="Integrations" icon="robot" href="/agents/status">
AI agent hooks per machine and the tty7 command on PATH.
</Card>
<Card title="About" icon="circle-info" href="/reference/updates">
Version and update checks, update preferences and proxy, the settings
file, and the tty7 server.
</Card>
</CardGroup>
## Search and edit
Search matches setting names, descriptions, English aliases, and configuration
keys such as `mouse_zoom_modifier`. Results are grouped by section and are
editable directly; click a section name to open it. Press ⌘F (Ctrl+F) to jump
to the search box.
Use **Modified only** to find settings that differ from their defaults. A
modified setting offers **Reset** beside its name; installation and maintenance actions
do not have a generic reset.
Ordinary controls save automatically. Text fields commit valid values on Enter
or when focus leaves the field. Custom theme edits are previewed until you save;
cancel restores the original theme. SSH hosts also use explicit saving.
Recording a keyboard shortcut that another action already uses asks before
taking it over: **Replace** moves the shortcut, **Cancel** leaves both as they
were.
Leaving an edited form offers save, discard, or continue editing.
## The settings file
Everything the Settings window writes goes to one file:
| | |
|---|---|
| macOS / Linux | `~/.config/tty7/config.json` |
| Windows | `%APPDATA%\tty7\config.json` |
The one exception is your saved SSH hosts, which live beside it in
`servers.json` — so `config.json` can be synced between machines without
carrying your servers. [servers.json →](/reference/configuration#ssh)
Set `TTY7_CONFIG_DIR` to point the whole directory — config, themes, state —
somewhere else.
You can edit the file by hand; a handful of options exist only there. See the
[configuration reference](/reference/configuration) for every key, its type, and
its default.
### How it handles mistakes
The file is written atomically, and read forgivingly:
- **A missing key** means the default — you only have to write what you change.
- **An out-of-range number** is clamped into its band, not rejected.
- **An unrecognised enum value** falls back to the default with a log line,
rather than failing the whole file.
- **An unparseable file** is not overwritten. tty7 starts on defaults, keeps a
copy at `config.json.corrupt`, and says so in the log.
<Note>
A UTF-8 BOM at the start of the file is tolerated, which matters if you edited
it in a Windows editor.
</Note>
## Language
**Settings → General → Language** switches the interface between English,
简体中文, 日本語, and Русский. The choice is explicit — the system language is never
inferred — and CLI output stays English regardless, so agent and script
integrations keep a stable surface.
```json
{ "gui_language": "zh-CN" }
```