MainSDK
Search⌘K
Integrations

Tolgee

Use Tolgee for MainSDK translations - project and API key, main.yaml, locales, missing strings caught by the check, testing and swapping.

1 interface1 driverWritten guide
Updated 2026-10-28

Tolgee is an open-source localization platform with in-context translation, available as a cloud service or self-hosted. Behind i18n, it holds your translations while your code keeps calling t(). Pick it when you want an open-source tool your team can host.

Interfaces it serves

Pick Tolgee in main.yaml for any of these. Your calls stay the same, and you can swap later.

Before you start

  1. Create a Tolgee project, on Tolgee Cloud or your own instance, with the languages you ship.
  2. Create a project API key.
  3. Store the key in your secrets manager.

Configure

main.yaml
i18n:
  driver: tolgee
  locales: [en-IN, hi-IN, ta-IN]
  # [to be decided] instance URL, and the API key as secret:TOLGEE_API_KEY

Use it

app/orders/heading.ts
import { t } from "mainsdk";

export function heading(orders: unknown[]) {
  return t("orders.count", { count: orders.length });
}

Local development and testing

Build with the default files driver and switch to tolgee when translators join. In tests, createTestApp() from @mainsdk/testing runs i18n without a network, and chaos.on("i18n", { outage: true }) simulates Tolgee being unreachable.

What MainSDK adds on top

  • A missing translation fails the check, not the user.
  • Formats from Unicode CLDR, and the locale from the user's choice first, never guessed from IP alone.

See Languages and formats.

Limits and notes

  • Planned driver from the product requirements; i18n has no spec yet.
  • How strings sync between your repo and Tolgee is not defined yet.

Swap to or from it

main.yaml
i18n:
  driver: tolgee   # was files

FAQ

Can I self-host Tolgee? Yes, Tolgee can be self-hosted. How the driver is pointed at your instance is not decided yet.

Next

Open questions

Was this page helpful?

↑↓ moveEnter openEsc close

Not decided yet