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.

tsx
'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.

ts
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:

  1. Wählen Sie das richtige Paket für Ihre App aus.
  2. Stellen Sie die Basislokalisierung korrekt ein.
  3. Halten Sie die Kontextschlüssel stabil und sinnvoll.
  4. Lassen Sie die Laufzeit vollständige Sätze und nicht Fragmente übersetzen.

Nächste: Nachrichtenformatierung

Kernkonzepte