A backend connector for i18next that loads translations from KarpelesLab (KLB) systems.
npm install @karpeleslab/i18next-klb-backendimport i18next from 'i18next';
import { Backend } from '@karpeleslab/i18next-klb-backend';
import { getLocale } from "@karpeleslab/klbfw";
i18next
.use(Backend)
.init({
// Backend options
lng: getLocale(),
backend: {
// any custom options
},
// i18next recommended options
load: 'currentOnly', // recommended to avoid loading special languages
fallbackLng: false,
ns: ['translation'],
defaultNS: 'translation',
});This package includes TypeScript type definitions:
import i18next from 'i18next';
import { Backend, BackendOptions } from '@karpeleslab/i18next-klb-backend';
const options: BackendOptions = {
allowMultiLoading: false,
// other options
};
i18next
.use(Backend)
.init({
backend: options,
// other i18next options
});This backend loads translations from your KLB system by:
- Using the
FW.i18nglobal if available and matching the requested language - Fetching from
/l/<language>/_special/locale.json - Falling back to
/_special/locale/<language>.jsonif the first fetch fails
The backend expects translations in JSON format with the structure:
{
"token": "value",
"another_token": "another value"
}- Integrates with KLB framework globals (
FW.Locale,FW.i18n,FW.prefix) - Automatically handles language code format (requires 5-character codes like 'en-US')
- Simple interface with minimal configuration
- TypeScript definitions included
MIT