Repository navigation
Translating
Sextant's interface is available in English, Russian, Ukrainian, German, French, Spanish, Portuguese (Brazil), Italian, Polish, Turkish, Chinese (Simplified and Traditional), Japanese and Korean. By default it follows the language of your operating system (System); you can choose another one in Settings → General → Appearance → Language (see Settings).
Corrections from native speakers are very welcome. If a word sounds wrong, a sentence is unnatural, or a text does not fit its button, please tell us: open an issue with the language, where you saw the text (a screenshot helps) and what it should say, or send a pull request that fixes the file.
-
src/locales/<language>/<namespace>.jsonin the repository: one directory per language (en,ru,uk,de,fr,es,pt-BR,it,pl,tr,zh-CN,zh-TW,ja,ko), one file per part of the interface (common.json,settings.json,tray.json, …). English (en/) is the source. -
src/locales/TRANSLATING.md: the rules and the glossary. Read it before changing a translation.
The most important rules, in short:
- Keep
{{placeholders}}and$t(…)exactly as they are; move them where your grammar needs them. - Kubernetes kinds and API terms stay in English (Pod, Deployment, ConfigMap, namespace, kubeconfig, field names), and so do product names, commands and units. Common words (cluster, node, container, log) are translated, the same way everywhere, by the glossary.
- Plurals follow your language's CLDR forms:
_one/_few/_many/_otherin Russian, Ukrainian and Polish;_one/_many/_otherin French, Spanish, Italian and Portuguese;_otheronly in Chinese, Japanese and Korean. Every form keeps{{count}}. - Each key is a whole sentence: Sextant never glues pieces together, so word order is yours.
- Buttons should stay short; long hints may wrap.
npx vitest run src/locales/locales.test.ts # keys, placeholders, plural forms, markup, empty texts
cargo test -p sextant tray # the tray menu has every textThe test compares every language with English and fails on a missing or extra key, an empty text, a changed placeholder and plural forms that do not match the language. It runs in CI with every pull request, so a new interface text has to come with all its translations.
A new language is a new directory under src/locales/ with the same files and keys as English, named with its language tag (nl, sv, cs…), plus a row in TRANSLATING.md. Sextant picks it up by itself: it appears in the language list and is chosen on systems that use it. Right-to-left languages (Arabic, Hebrew, Persian) need layout work first; ask in an issue before starting one.
The wiki and the project's internal documents stay in English.
Next: Development.
Sextant is licensed under MIT or Apache-2.0. Found a mistake in this wiki? Open an issue.
Sextant
- Home
- Installation
- Getting started
- Using Sextant
- YAML editor
- Terminal
- Views and workspaces
- Custom columns
- Kubeconfig management
- All clusters
- Set image
- Safe apply (Preview changes)
- Upgrade readiness
- Security posture
- Best practices
- Storage
- Right-sizing
- Cost
- Resource map
- Request metrics and traffic
- Change timeline
- Cleanup
- Autoscaling
- Connectivity
- Traffic diagnosis
- Compare and drift
- RBAC: who can do what
- cert-manager and certificates
- Problems and notifications
- Argo Rollouts and Argo Workflows
- Ecosystem views
- Gateway API
- Service mesh
- Installing Flux and Argo CD
- MCP server
- Extensions
- Writing extensions
- Large clusters
- Accessibility
- Settings
- Troubleshooting
For contributors