Connect i18next to your Goodspeed app
Locale detection and JSON translation files generated per locale. lib/i18n.ts wires i18next with expo-localization for automatic language switching. Goodspeed wires i18next into every app that needs it at generation time, so you start with a working integration, not a blank config and a documentation tab.
WHAT GETS WIRED IN
Built into every i18next build
Every app Goodspeed generates with i18next includes these wired integrations from the first build. No manual setup required.
| Item | Description | Strength |
|---|---|---|
| getLocales() from expo-localization detects the device's preferred language and matches it against gasConfig.features.i18n.locales | getLocales() from expo-localization detects the device's preferred language and matches it against gasConfig.features.i18n.locales | 01 |
| Unrecognized locales fall back to gasConfig.features.i18n.defaultLocale instead of crashing | Unrecognized locales fall back to gasConfig.features.i18n.defaultLocale instead of crashing | 02 |
| DevAgent generates locales/en.json and one file per declared locale with matching key sets | DevAgent generates locales/en.json and one file per declared locale with matching key sets | 03 |
| i18next.init skipped entirely when gasConfig.features.i18n.enabled is false, keeping single-locale apps lightweight | i18next.init skipped entirely when gasConfig.features.i18n.enabled is false, keeping single-locale apps lightweight | 04 |
| .github/workflows/i18n.yml checks translation completeness on PRs, failing if any declared locale is missing a key | .github/workflows/i18n.yml checks translation completeness on PRs, failing if any declared locale is missing a key | 05 |
Source: the Goodspeed app foundation · i18n
REAL GENERATED CODE
A snippet from a i18next integration the pipeline ships
This pattern is lifted from the engineered plumbing that ships inside every Goodspeed app. The studio generates i18next integration code like this for every app that includes it, not a placeholder you have to fill in yourself.
Locale detection
// lib/i18n.ts function getDeviceLocale(): string { try { const locales = getLocales(); const deviceLang = locales[0]?.languageCode ?? i18nConfig.defaultLocale; if (i18nConfig.locales.includes(deviceLang)) { return deviceLang; } return i18nConfig.defaultLocale; } catch { return i18nConfig.defaultLocale; } }
Today's log
APPS THAT USE I18NEXT
Where this integration ships
These app types include i18next as part of the generated stack. Each link goes to a full spec page with capabilities, scored ideas, and a pipeline walkthrough.
- Build a Social App appBuilding a social app from scratch means solving hard infrastructure problems: real-time feeds, fan-out writes, notification delivery, and content moderation hooks. Goodspeed generates a complete sociSOCIAL APP
- Build a Productivity App appProductivity apps succeed when they remove friction from the moment the user decides to work. Goodspeed generates a productivity app with Pomodoro timer, focused task queue, distraction blocker hooks,PRODUCTIVITY APP