Skip to content

📄 Traductions Statiques (In-App) ​

Les traductions statiques concernent tous les textes qui ne proviennent pas du CMS mais qui sont nécessaires au fonctionnement de l'interface utilisateur (boutons système, libellés de paramètres, dates, etc.).


🗄️ Stockage des Libellés ​

Les libellés sont centralisés dans le fichier src/lib/i18n/local-static.ts. Ils sont organisés par clés techniques, chaque clé contenant un dictionnaire de langues.

Exemple de structure ​

typescript
export const STATIC_LABELS: Record<StaticLabelKey, Record<string, string>> = {
	favorites: {
		'en-US': 'Favorites',
		'fr-FR': 'Favoris',
		'es-ES': 'Favoritos'
		// ...
	}
};

🛠️ Utilisation dans le Code ​

Helper t() ​

Pour récupérer une traduction dans un script ou un composant Svelte, on utilise la fonction t(key, locale) :

svelte
<script>
	import { t } from '$lib/i18n/local-static';
	import { activeLocale } from '$lib/stores/preferences';
</script>

<button>
	{t('learnMore', $activeLocale)}
</button>

Traduction des Tags ​

Un helper spécifique translateTag(tag, locale) est disponible pour traduire les catégories de contenu (ex: "Sport", "Tourisme") qui peuvent être fournies de manière brute par le CMS mais nécessitent une traduction d'interface normalisée.


🌍 Langues Supportées ​

Les langues actuellement gérées dans le code source sont définies dans SUPPORTED_LOCALES. Pour chaque langue, nous définissons :

  • code : Identifiant ISO (ex: ar-SA).
  • name : Nom de la langue.
  • direction : Sens de lecture (ltr ou rtl).

➕ Ajouter une nouvelle traduction ​

  1. Ouvrir src/lib/i18n/local-static.ts.
  2. Si c'est une nouvelle clé, l'ajouter au type StaticLabelKey.
  3. Ajouter l'entrée correspondante dans STATIC_LABELS avec les traductions pour toutes les langues supportées.

Retour à l'Aperçu | Retour à l'accueil