Aller au contenu
Server-Side i18n

i18n côté serveur pour Hono, Express et l'edge

Internationalisez votre API et vos applications rendues côté serveur. Better I18N fournit un middleware pour Hono, Express, Fastify et les runtimes edge, avec détection automatique de la langue.

Setup

Set up in 3 steps

Install the package

Installez @better-i18n/server. Installez éventuellement Hono ou Express selon votre framework.

terminal
npm install @better-i18n/server
# Hono: npm install hono
# Express: npm install express

Create a singleton

Instanciez createServerI18n() une seule fois au niveau du module. Le TtlCache est partagé entre toutes les requêtes, donc aucun appel au CDN par requête.

i18n.ts
import { createServerI18n } from '@better-i18n/server';

export const i18n = createServerI18n({
  projectId: 'your-org/your-api',
  defaultLocale: 'en',
});

Register middleware

Branchez le middleware de votre framework. Le middleware lit Accept-Language, résout la langue et injecte t() dans le contexte de la requête.

Example

Framework middleware

Choisissez votre framework serveur — l'API du middleware est la même sur Hono et sur les adaptateurs Node.js.

app.ts
import { Hono } from 'hono';
import { betterI18n } from '@better-i18n/server/hono';
import { i18n } from './i18n';

type Variables = { locale: string; t: Translator };
const app = new Hono<{ Variables: Variables }>();

app.use('*', betterI18n(i18n));

app.get('/api/users/:id', (c) => {
  const t = c.get('t');
  return c.json({ error: t('errors.notFound') }, 404);
});
Capabilities

Pourquoi utiliser Better I18N côté serveur ?

Middleware conforme aux standards du web — Hono, Cloudflare Workers, Deno Deploy
Adaptateur Node.js — Express, Fastify et Koa via fromNodeHeaders()
Accept-Language automatique — détection de la langue conforme à la RFC 5646
TtlCache singleton — zéro appel au CDN par requête après la mise en chauffe
t() typé — inférence TypeScript complète pour les clés de traduction
Prêt pour l'edge — prise en charge native de Cloudflare Workers

Other frameworks

Get started

Localisez dès aujourd'hui les réponses de votre API

Servez des messages d'erreur, des notifications et du contenu traduits depuis votre backend, sans surcoût.