ni18n
v1.1.0
Published
Simple and powerful i18next integration for next.js
Downloads
32,651
Readme
Ni18n
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.
Installing
yarn add i18next react-i18next ni18n
npm install i18next react-i18next ni18n
import {
appWithI18Next,
loadTranslations,
clientNamespaces,
useSyncLanguage,
} from 'ni18n'
Getting Started
Read the docs at Getting Started or on the website https://jcquintas.gitbook.io/ni18n/usage/getting-started
Known Issues
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