How to translate your status page
Enable multiple languages on your status page and contribute new translations.
statusas status pages support multiple languages. You can configure which locales are available per page and set a default language. Visitors can switch between languages using a built-in locale switcher.
Note
Supported locales
Currently supported languages:
| Code | Language |
|---|---|
en | English |
fr | Français |
de | Deutsch |
tr | Türkçe |
hi | हिंदी |
ko | 한국어 |
ja | 日本語 |
Enable translations on your status page
- Go to your dashboard and open the status page settings.
- Under Locales, select a default locale for your page.
- Check Enable locale switcher to allow visitors to switch languages.
- Select which languages you want to offer.
- Click Submit.
When the locale switcher is enabled, visitors will see a language dropdown on your status page. The default locale is omitted from the URL for cleaner paths (e.g., /status instead of /status/en), while non-default locales are included (e.g., /status/fr).
How routing works
statusas supports two routing modes for locales:
- Pathname routing (subdomains like
status.statusas.lt): the locale appears after the slug, e.g.,/status/fr/events. - Hostname routing (custom domains like
status.example.com): the locale is the first path segment, e.g.,/fr/events.
In both cases, the default locale is omitted from the URL (as-needed prefix strategy).
Contributing a new locale
Translations are open source. To add a new language:
1. Extend the locale registry
Add your locale to packages/locales/index.ts:
import type { Locale as DateFnsLocale } from "date-fns/locale";
import { de, enUS, fr, hi, ja, ko, tr } from "date-fns/locale";
export const locales = ["en", "fr", "de", "tr", "hi", "ko", "ja"] as const;
// ...
export const localeDetails: Record<Locale, { name: string; flag: string }> = {
en: { name: "English", flag: "🇺🇸" },
fr: { name: "Français", flag: "🇫🇷" },
de: { name: "Deutsch", flag: "🇩🇪" },
tr: { name: "Türkçe", flag: "🇹🇷" },
hi: { name: "हिंदी", flag: "🇮🇳" },
ko: { name: "한국어", flag: "🇰🇷" },
ja: { name: "日本語", flag: "🇯🇵" },
};
export const dateFnsLocales: Record<Locale, DateFnsLocale> = {
en: enUS,
fr,
de,
tr,
hi,
ko,
ja,
};2. Generate the translation file
Run the status page dev server:
pnpm dev:status-pageThe next-intl extraction plugin will automatically create a new apps/status-page/messages/<locale>.json file with all translation keys pre-populated from the source locale. You can then fill in the translations.
3. Submit a pull request
Once your translations are complete, submit a PR to the statusas repository. The locale will become available to all status pages after the next deployment.
Set Up the statusas Slack Agent
A step-by-step tutorial to install the statusas Slack agent and manage incidents directly from Slack
How to Use statusas React Widget
Add an statusas status widget to your React or Next.js app with the @statusas/react package as a React Server Component, or build your own with the typed fetch helper.