Languages

Brief

Every menu, button and label in Terminal Delight comes in nine languages: English, Español, Deutsch, Français, Русский, 中文, 日本語, 한국어 and हिन्दी.

Press F1, click 🌐 English ▾, and type to filter: the language's own name, its English name or its code all work. The window changes at once, and the choice is saved with the session.

Key names like Ctrl+T, symbols, and names like FOCUS, MCP, claude and codex stay as they are in every language, and so does anything your programs print.

Technical has the codes and how a language is added.

Technical

Codes and strings

CodeShown asEnglish
enEnglishEnglish
esEspañolSpanish
deDeutschGerman
frFrançaisFrench
ruРусскийRussian
zh中文Chinese
ja日本語Japanese
ko한국어Korean
hiहिन्दीHindi

The choice is the lang field of the session file, ~/.config/terminal-delight/sessions/<name>.toml, written in lowercase: lang = "zh". With no field, the language is English. Because it belongs to the session, two windows on two sessions can show two languages. Use one of the nine codes exactly when editing the file by hand.

How it's built#

Every piece of text is a field of one table, Strings, with 215 fields and one complete copy per language. English is the source. A language that leaves a field out doesn't compile, so a half-translated build can't ship. Adding a language means adding it to the list and writing its table; the compiler names every field still missing.

Pane labels follow the same rule: SHELL and REMOTE are translated, while CLAUDE, CODEX and program names are not. The labels the MCP server reports stay in English whatever the window shows, so a script reads the same words in any language.

The translations were written in-house. Each one wants a pass by a native speaker before it's advertised as supported.

Sources

  1. The table, the nine languages and their tests: lang.rs; the picker: main.rs.