Localiser les modèles de sujets par catégorie

Problème

La localisation du contenu de Discourse (manuelle et automatique via Discourse AI) fait un excellent travail pour localiser les titres de sujets, les publications, les noms de catégories et les descriptions de catégories. Cependant, les modèles de sujet de catégorie (categories.topic_template) ne peuvent pas être localisés. Dans les communautés multilingues, la préremplissage du composeur s’affiche toujours dans la langue par défaut du site — pour tout le monde.

Comportement actuel

  • CategoryLocalization stocke le name et la description pour chaque langue (le concern Localizable fournit le « support du nom/description multi-langues » pour Topic/Post/Category).
  • Le composeur utilise toujours le topic_template non localisé, quel que soit le paramètre de langue de l’interface du membre.

Solution proposée

  • Ajouter topic_template à CategoryLocalization (y compris l’interface de l’éditeur de localisation pour les administrateurs).
  • Lorsqu’un membre ouvre le composeur dans une catégorie, utiliser le modèle correspondant à sa langue d’interface, avec un repli sur le modèle par défaut de la catégorie si aucune localisation n’existe.
  • Le même problème s’applique aux plus récents modèles de formulaire par catégorie : ils peuvent différer entre les catégories, mais il n’existe pas de variante sensible à la langue au sein d’une même catégorie — les configurations multilingues devraient devoir diviser leur communauté en catégories séparées par langue pour contourner le problème.

Cas d’utilisation

Nous gérons une communauté bilingue (allemand par défaut, anglais via la traduction automatique par IA). Certaines catégories fournissent des modèles de composeur structurés avec des éléments de liste de contrôle et un bloc [event] pour le sélecteur de date intégré. Les membres anglophones reçoivent actuellement un modèle uniquement en allemand. Notre solution de contournement est un modèle bilingue unique (chaque étiquette est dupliquée en « Allemand / Anglais » sur une seule ligne), ce qui fonctionne, mais est peu pratique pour les éditeurs comme pour les membres et double le contenu du composeur.

Lié

  • #32464 (route des catégories localisées) — même surface de localisation, catégories.