Concepts fondamentaux
18ways a des opinions sur certaines choses. Une fois celles-ci clarifiées, le reste de l'API est simple.
Locale de base
Votre baseLocale est la langue dans laquelle vous écrivez.
Si votre texte produit est rédigé en anglais britannique, votre locale de base est en-GB. S'il est rédigé en anglais américain, votre locale de base est en-US.
Lorsque la locale actuelle correspond à la locale de base, 18ways renvoie immédiatement le texte source et ignore le travail de traduction.
Locale cible
Votre locale cible est la langue que l'utilisateur est en train de lire.
Dans Next.js, l'adaptateur peut le résoudre à partir du middleware, des cookies, du chemin d'accès et des préférences du navigateur.
Contextes
Les contextes sont la façon dont 18ways regroupe des copies liées.
Utilisez-les pour garder les demandes de traduction petites et éviter de mélanger des textes non liés.
'use client';
import { Ways } from '@18ways/react';
export function MarketingPage() {
return (
<Ways context="marketing">
<Ways context="hero">
<Hero />
</Ways>
<Ways context="pricing">
<Pricing />
</Ways>
</Ways>
);
}Les portées imbriquées Ways se composent en un seul chemin de contexte. marketing plus hero devient
marketing.hero.
Langues acceptées
18ways distingue entre :
- une locale qu'il peut reconnaître, comme
fr-FR - une locale que votre projet accepte réellement
Le runtime peut récupérer la liste des locales acceptées depuis l'API, puis normaliser les valeurs de locale entrantes par rapport à cette liste.
C'est pourquoi @18ways/next peut faire des choses sensées comme rediriger /en-US/docs vers /en-GB/docs
lorsque seul en-GB est activé.
import { init as initWays } from '@18ways/next/server';
const ways = initWays({
apiKey: 'YOUR_18WAYS_PUBLIC_API_KEY',
baseLocale: 'en-GB',
acceptedLocales: [
'en-GB',
'fr-FR',
'de-DE',
],
pathRouting: {
exclude: ['/dashboard', '/__design', '/__email'],
},
});Persévérance
Le cookie de préférence de locale utilisé par le runtime est 18ways_locale.
Lorsque les traductions se chargent
@18ways/next peut résoudre la locale sur le serveur, semer les traductions de contexte et émettre des métadonnées traduites.
Modèle mental partagé
Gardez le modèle simple :
- Choisissez le bon package pour votre application.
- Définissez correctement la locale de base.
- Gardez les clés de contexte stables et significatives.
- Laissez le runtime traduire des phrases complètes, pas des fragments.
Suivant : Formatage des messages