Routeur d'application Next.js 15TypeScriptPasserelle Multilipi

Kit de démarrage de documentation DocTunes

Guide complet pour construire des docs de développeur modernes, configurer un middleware de routage en périphérie et mettre en place des traductions automatisées multilingues par sous-proxy.

Pour commencer

Pour initialiser votre nouveau portail de documentation avec notre kit de démarrage TypeScript, exécutez la commande suivante dans votre terminal :

Commande du terminal
# Cloner et installer les dépendances
git clone https://github.com/doctunes/documentation-starter-kit.git my-docs
cd my-docs
npm install

# Démarrer le serveur de développement sur localhost:3000
npm run dev
Disposition du répertoire du projet :
  • middleware.ts — Gestionnaire de réécriture de sous-proxy multilingue global
  • app/layout.tsx — Coque HTML globale, déclarations de polices et barre de navigation/pied de page
  • app/page.tsx — Page d'atterrissage et héros interactif
  • app/docs/page.tsx — Hub de documentation principal
  • app/playground/page.tsx — Simulateur de routage interactif
  • components/ — CodeBlock, Navbar, SearchModal réutilisables, etc.

Middleware multi-langue

Le cœur de notre moteur d'internationalisation est le edge middleware.ts placé à la racine du projet. Il intercepte toutes les requêtes entrantes, teste par rapport à une regex de préfixe de plus de 80 langues, et réécrit en toute sécurité la requête vers le proxy de traduction.

middleware.ts (Middleware Edge Racine)
1import { NextRequest, NextResponse } from 'next/server'
2
3const LANGUAGE_PATH = new RegExp(
4 '^/(?:mn-mong|sr-cyrl|sr-latn|zh-hans|zh-hant|es-419|en-us|en-gb|en-ca|en-au|fr-fr|fr-ca|fr-be|fr-ch|de-de|de-at|de-ch|pt-pt|pt-br|es-es|mww|af|sq|am|ar|hy|as|az|ba|eu|bn|bs|pt|bg|ca|hr|cs|da|dv|nl|en|et|fo|fj|fl|fi|fr|gl|ka|de|el|gu|ht|ha|he|hi|hu|is|ig|id|iu|ga|it|ja|kn|kk|rw|ko|ku|ky|lo|lv|ln|lt|lg|mk|mg|ms|ml|mt|mr|ne|no|or|ps|fa|pl|pa|ro|ru|sm|sd|si|sk|sl|so|es|sw|sv|ty|ta|tt|te|th|bo|ti|to|tr|tk|uk|ur|ug|uz|vi|cy|xh|yo|zu)(?:/|$)',
5 'i'
6)
7
8export function middleware(request: NextRequest) {
9 if (!LANGUAGE_PATH.test(request.nextUrl.pathname)) {
10 return NextResponse.next()
11 }
12
13 const destination = new URL(
14 request.nextUrl.pathname + request.nextUrl.search,
15 'https://sub-proxy.Multilipi.com'
16 )
17 const headers = new Headers(request.headers)
18 headers.set('X-Translation-Mode', 'sub-directory')
19 headers.set('X-Original-Host', 'divanshu.doctunes.io')
20 return NextResponse.rewrite(destination, { request: { headers } })
21}
22
23export const config = { matcher: '/:path*' }
Comment fonctionnent les réécritures

Contrairement aux redirections HTTP 301/302 standard, NextResponse.rewrite() modifie l'origine du proxy backend tout en gardant l'URL exacte dans la barre d'adresse du navigateur de l'utilisateur complètement intacte.

En-têtes de sous-proxy

Lors de la réécriture vers https://sub-proxy.multilipi.com, deux en-têtes obligatoires sont injectés pour assurer une isolation précise du locataire et un mode de traduction :

Nom de l'en-têteValeurObjectif
X-Translation-Modesous-répertoireIndique au moteur de traduction Multilipi d'analyser la locale à partir du chemin principal.
X-Original-Hostdivanshu.doctunes.ioSpécifie le domaine d'origine enregistré pour la validation SSL et des licences.

Locales prises en charge (80+)

L'expression régulière gère à la fois les codes de langue génériques à 2 lettres (par exemple es, de, fr) et les balises de dialecte régional localisées (par exemple zh-hans, pt-br, sr-cyrl):

/en-us/
/es-es/
/fr-fr/
/de-de/
/zh-hans/
/zh-hant/
/ja/
/hi/
/ar/
/pt-br/
/ru/
/ko/
/it/
/nl/
/sv/
/pl/
/tr/
/vi/
/th/
/el/
/cs/
/da/
/fi/
/he/

+ plus de 50 langues mondiales supplémentaires prises en charge dynamiquement.

Composants d'interface et blocs de code

Chaque page comprend des composants d'interface utilisateur en mode sombre pré-stylisés tels que des blocs de code copiables, des tableaux responsifs, des bannières d'alerte et des boîtes de dialogue modales.

components/ExampleUsage.tsx
import CodeBlock from '@/components/CodeBlock'

export default function MyDocs() {
  return (
    

Installation

) }

Référence API

DocTunes fournit des fonctions d'assistance REST et Edge pour inspecter par programmation les configurations de paramètres régionaux :

GET /api/v1/locales200 OK

Renvoie la liste des paramètres régionaux actifs du sous-proxy, leur statut et le nom d'hôte cible.

json
{
  "status": "online",
  "gateway": "https://sub-proxy.Multilipi.com",
  "originalHost": "divanshu.doctunes.io",
  "totalLocales": 84,
  "defaultLocale": "en"
}

Guide de déploiement

Déployez votre projet instantanément sur Vercel, AWS Amplify, Cloudflare Pages ou des conteneurs Docker auto-hébergés :

Déploiement via la CLI Vercel
# Déployer en production avec un environnement personnalisé
npx vercel --prod