Kernkonzepte
18ways hat zu einigen Dingen eine klare Meinung. Sobald diese klar sind, ist der Rest der API-Oberfläche einfach.
Basislokalisierung
Ihre baseLocale ist die Sprache, in der Sie schreiben.
Wenn Ihr Produkttext in britischem Englisch verfasst ist, ist Ihre Basislokalisierung en-GB. Wenn er in amerikanischem Englisch verfasst ist, ist Ihre Basislokalisierung en-US.
Wenn die aktuelle Sprache mit der Basissprache übereinstimmt, gibt 18ways den Quelltext sofort zurück und überspringt die Übersetzungsarbeit.
Zielgebiet
Ihre Zielregion ist die Sprache, die der Benutzer gerade liest.
In Next.js kann der Adapter dies aus Middleware, Cookies, dem Pfadnamen und den Browserpräferenzen auflösen.
Kontexte
Kontexte sind, wie 18ways verwandte Texte gruppiert.
Verwenden Sie sie, um Übersetzungsanfragen klein zu halten und um zu vermeiden, dass nicht verwandte Texte vermischt werden.
'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>
);
}Verschachtelte Ways-Scopes fügen sich zu einem Kontextpfad zusammen. marketing plus hero wird zu
marketing.hero.
Akzeptierte Regionen
18ways unterscheidet zwischen:
- eine Sprache, die es erkennen kann, wie
fr-FR - eine Gebietsschema, das Ihr Projekt tatsächlich akzeptiert
Die Laufzeit kann die akzeptierte Gebietsschema-Liste von der API abrufen und dann die eingehenden Gebietsschema-Werte mit dieser Liste normalisieren.
Deshalb kann @18ways/next sinnvolle Dinge tun, wie /en-US/docs auf /en-GB/docs umzuleiten,
wenn nur en-GB aktiviert ist.
import type { WaysConfig } from '@18ways/next/config';
export default {
apiKey: 'pk_dummy_demo_token',
baseLocale: 'en-GB',
router: 'app', // 'app', 'path', or 'none' depending on if you use app router, path router, or if you don't want the router to sync with locale at all
} satisfies WaysConfig;Persistenz
Das von der Laufzeit verwendete Cookie für die Gebietsschema-Präferenz ist 18ways_locale.
Wenn Übersetzungen geladen werden
@18ways/next kann die Locale auf dem Server auflösen, Kontextübersetzungen bereitstellen und übersetzte Metadaten ausgeben.
Geteiltes mentales Modell
Halten Sie das Modell einfach:
- Wählen Sie das richtige Paket für Ihre App aus.
- Stellen Sie die Basislokalisierung korrekt ein.
- Halten Sie die Kontextschlüssel stabil und sinnvoll.
- Lassen Sie die Laufzeit vollständige Sätze und nicht Fragmente übersetzen.
Nächste: Nachrichtenformatierung