Skip to content

Implementation Guide ​

Breadcrumb: Docs > Multilingual Content

1. Stores de locale ​

  • activeLocale est persiste via preferences.
  • fallbackLocale est derive: si navigator.language != fr-FR, l'utiliser; sinon en-US.

Fichiers:

  • src/lib/stores/preferences.ts
  • src/lib/stores/locale.ts

2. Helper de traduction ​

Utiliser resolveTranslationFields pour obtenir des champs normalises:

ts
import { resolveTranslationFields } from '$lib/utils/localization';

const localized = resolveTranslationFields(content, activeLocale, fallbackLocale);

3. Application au UI ​

Points d'integration principaux:

  • menuItemMappers pour les titres de cartes.
  • Button.svelte et buttonUtils pour la navbar.
  • modalContent pour les modales de contenu.
  • useCmsData pour les contenus advertising.

4. Navigation et selection ​

La resolution de traduction est synchrone et ne bloque pas la navigation. Les champs sont normalises pour eviter les null dans l'UI.