Overview
Here we will talk about the i18n features and capabilities of Blueprint.
next-i18next package
We use the next-i18next package to provide content translations for static content for our apps.
Translation files can be stored in a shared package or within each app's directory, as documented here. The Foundation app follows the standard approach of storing translations within the app.
Route translations
We handle translating app routes with NextJS's built-in internationalization routing capabilities as well as some custom code. There are a number of touch-points for this:
- Supported locales are configured in the i18n config object in the app's
next.config.jsfile. - a
redirectsarray and arewritesmethod are also provided to thenext.config.jsobject. These arrays are generated usingcreateRewritesAndRedirectsbased on the translations provided inapps/<app-name>/src/app.i18n.cjs, which is where we provide translations for parts of urls, and the supported locales.
See NextJS docs for more detail on rewrites.