Skip to content

aydrian/i18next-prisma-backend

Repository files navigation

i18next Prisma backend plugin

npm license code style: prettier

A backend plugin for i18next that supports using Prisma to load resources from the data source specified in the schema.prisma configuration file.

Getting Started

Install packages

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

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.

Usage

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
});

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
}

📝 License

Copyright © 2023 Aydrian Howard.
This project is MIT licensed.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •