Skip to content

Language Selection and Reordering

Kim Schulz edited this page Aug 25, 2026 · 1 revision

Language Selection & Dropdown Reordering

Mastodon allows tagging every published post with an ISO language code (e.g. en, da, fr, de). This ensures proper fediverse search indexing, automated translation matching, and user timeline filtering.

Mastui provides a curated, customizable language selector in the post composer so you can quickly tag posts without scrolling through hundreds of world languages.


πŸ“‹ Default Language Catalog

Mastui includes an extensive built-in catalog of 47+ world languages and regional variants (defined in mastui/languages.py):

Code Language Code Language Code Language
ar Arabic en-us English (US) lv Latvian
bg Bulgarian eo Esperanto lt Lithuanian
ca Catalan et Estonian ms Malay
zh Chinese (Simplified) fi Finnish nb Norwegian BokmΓ₯l
zh-hk Chinese (Hong Kong) fr French pl Polish
zh-tw Chinese (Traditional) gl Galician pt Portuguese
hr Croatian de German pt-br Portuguese (Brazil)
cs Czech el Greek ro Romanian
da Danish he Hebrew ru Russian
nl Dutch hi Hindi sr Serbian
en English hu Hungarian sk Slovak
en-gb English (UK) id Indonesian sl Slovenian
ga Irish it Italian es Spanish
ja Japanese ko Korean sv Swedish
th Thai tr Turkish uk Ukrainian
vi Vietnamese cy Welsh

By default, Mastui populates your composer dropdown with a fast-access set: da, en, fr, de, ja, ko, es, zh.


πŸ”„ Customizing & Re-Ordering via the UI

You can customize which languages appear in your composer and change their exact order of appearance:

  1. Press o to open the Mastui Options screen.
  2. Scroll to the Language Preferences section:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ β–Ό Language Preferences                                β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚   β”‚ English (en)                         [↑] [↓] [x] β”‚ β”‚
β”‚   β”‚ Danish (da)                          [↑] [↓] [x] β”‚ β”‚
β”‚   β”‚ German (de)                          [↑] [↓] [x] β”‚ β”‚
β”‚   β”‚ French (fr)                          [↑] [↓] [x] β”‚ β”‚
β”‚   β”‚ Japanese (ja)                        [↑] [↓] [x] β”‚ β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚   Add Language: [ Select Language to Add... β–Ό ]        β”‚
β”‚   [ Reset to Defaults ]                                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Re-order Priorities: Click ↑ or ↓ on any row to promote or demote that language in the dropdown list.
  2. Remove Unused Languages: Click x on any row to hide languages you do not write in.
  3. Add New Languages: Use the Add Language dropdown to select any language from the 47+ catalog; it will be appended to your active list.
  4. Reset: Click Reset to Defaults to restore the standard 8-language palette.
  5. Click Save Options at the bottom of the dialog.

✏️ Manual Configuration (.env)

Language preferences are stored per-profile in your ~/.config/mastui/profiles/<profile>/.env file under the POST_LANGUAGES key as a comma-separated list:

POST_LANGUAGES=en,da,de,ja

Rules & Formatting

  • Codes are case-insensitive and whitespace is automatically trimmed.
  • Regional dialect tags use standard hyphens (e.g. en-gb, pt-br, zh-tw).
  • Duplicate codes are automatically deduplicated while preserving your defined ordering.
  • If POST_LANGUAGES is empty or missing, Mastui falls back to the default language catalog.