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 React, vous le conservez généralement dans l'état et le passez à la racine Ways.

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.

tsx
import { Ways } from '@18ways/react';
 
export function AppRoot() {
  return (
    <Ways
      apiKey="YOUR_18WAYS_PUBLIC_API_KEY"
      locale="fr-FR"
      baseLocale="en-GB"
      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.

tsx
import { Ways } from '@18ways/react';
 
export function AppRoot() {
  return (
    <Ways
      apiKey="YOUR_18WAYS_PUBLIC_API_KEY"
      locale="fr-FR"
      baseLocale="en-GB"
      acceptedLocales={[
        'en-GB',
        'fr-FR',
        'de-DE',
      ]}
      context="app"
    >
      <App />
    </Ways>
  );
}

Persévérance

Le cookie de préférence de locale utilisé par le runtime est 18ways_locale.

Lorsque les traductions se chargent

@18ways/react peut suspendre pendant qu'un contexte semé se résout et maintient un cache partagé en mémoire sur le client.

Modèle mental partagé

Gardez le modèle simple :

  1. Choisissez le bon package pour votre application.
  2. Définissez correctement la locale de base.
  3. Gardez les clés de contexte stables et significatives.
  4. Laissez le runtime traduire des phrases complètes, pas des fragments.

Suivant : Formatage des messages