Make a change

Languages and design

Five languages for every app string, and the design system every screen follows.

#Languages

The app speaks English, Korean, Indonesian, Japanese and Spanish. Every app-owned string must exist in all five.

FileLanguage
web/src/i18n/en.tsEnglish
web/src/i18n/ko.tsKorean
web/src/i18n/id.tsIndonesian
web/src/i18n/ja.tsJapanese
web/src/i18n/es.tsSpanish
  • Plurals use ICU messages. Japanese and Spanish need both one and other forms.
  • Run bun run check:i18n after any UI or server copy change.
  • Write naturally in each language. Do not translate word by word.

#Design system

Every screen follows docs/DESIGN-SYSTEM.md: colours, type, layout, components, copy and accessibility.

RuleIn practice
Calm screensShort titles, one-line descriptions, small status chips instead of sentences
Theme tokensUse the theme's colour tokens, never fixed colours, so light and dark both work
Phone widthEvery screen works at phone width
AccessibilityKeyboard reachable, visible focus, labels that match visible text, contrast that passes axe
CopyPlain words, short sentences, the same word for the same thing

Trina's colours and logo live in editions/trina/branding/ and are applied at build time.

Trina AX is free software under AGPL-3.0-only. Icons: Lucide (ISC). Edit this page