Ni18n
Search…
README
Is an easy to use integration for Next.js to enable i18next translations on your application with support for SSR, SSG and Client translation loading.
It gives you freedom to use i18next with a lot of different customizations, while still being compatible with next.js.
Ni18n also does not directly depend on i18next nor react-i18next, allowing you to update these dependencies without having to wait for any action on our part.

yarn add i18next react-i18next ni18n
npm install i18next react-i18next ni18n
import {
appWithI18Next,
loadTranslations,
clientNamespaces,
useSyncLanguage,
} from 'ni18n'

When running on Vercel we are unable to load the translation files automatically because the vercel/nft package doesn't bundle files requested by a third party lib.
A work around is to create a wrapper around loadTranslations that calls path.resolve('./', './public/locales'), and then use this function instead of the exported by the ni18n package.
import { loadTranslations as ni18nLoadTranslations } from 'ni18n'
import { ni18nConfig } from '../ni18n.config'
export const loadTranslations = async (
initialLocale?: string | undefined,
namespacesNeeded?: NamespacesNeeded | undefined,
) => {
const locales = path.resolve('./', './public/locales')
return await ni18nLoadTranslations(
ni18nConfig,
initialLocale,
namespacesNeeded,
)
}
You can read more on #49
Last modified 4mo ago
Copy link
On this page
Installing
Getting Started
Known Issues