A backend plugin for i18next that supports using Prisma to load resources from the data source specified in the schema.prisma
configuration file.
This package expects the Prisma Client as a peer dependency.
npm
npm install @prisma/client i18next-prisma-backend
yarn
yarn add @prisma/client i18next-prisma-backend
Update your schema.prisma
files to include the following model with a minimum of the following fields:
model i18n {
namespace String
language String
key String
translation String
@@id([key, language])
@@index([language, translation])
}
You may use @@map
and @map
to specify the underlying database table and field names respectively. The plugin will expect this model to exist.
Apply the schema changes to your database.
This library supports ESM and CommonJS.
ESM
import i18next from "i18next";
import Backend from "i18next-prisma-backend";
i18next.use(Backend).init({
// Backend Options
backend: options
});
CommonJS
const i18next = require("i18next");
const Backend = require("i18next-prisma-backend");
i18next.use(Backend).init({
// Backend Options
backend: options
});
{
// Optional: If you have an existing client instance,
// you can specify it here. Otherwise, a new instance
// will be instantiated.
client: prisma; // PrismaClient() instance
}
Copyright © 2023 Aydrian Howard.
This project is MIT licensed.