Rendre les traductions de thème accessibles depuis le CSS

En fait, les paramètres du thème sont accessibles via CSS, mais pas les traductions du thème.

Ce serait bien de les rendre traduisibles.

Par exemple, dans le composant de thème DiscoTOC, nous avons ce paramètre :

utilisé dans le CSS :

Ajouter du texte via CSS est une solution de contournement de dernier recours car cela n’est pas accessible. Je ne pense pas que nous devions l’encourager en le prenant en charge avec des fonctionnalités supplémentaires.

8 « J'aime »

Mais est-ce qu’une telle chose serait réalisable via un plugin ?

Un plugin pour activer les traductions dans le SCSS… tout est possible, mais cela serait très désordonné. Par exemple, vous devriez compiler différents assets CSS pour chaque locale. Je recommande vivement de ne pas essayer de faire cela.

Une idée possible… mais pas une recommandation (c’est-à-dire que vous êtes seul responsable si vous tentez ceci :stuck_out_tongue: )

Je comprends que c'est une mauvaise idée

Vous pourriez faire quelque chose comme ceci dans le JavaScript du thème

document.documentElement.style.setProperty('--my-translation-name', `"${ I18n.t(themePrefix("my-translation-name")) }"`);

Et ensuite dans le CSS

&:before {
    content: var(--my-translation-name);
  }

Cela peut échouer de nombreuses manières : si vous mettez une citation ou des caractères spéciaux dans la traduction, cela cassera. Si vous essayez de l’utiliser dans IE11, cela cassera.

5 « J'aime »

Je ne soutiens pas non plus la mise à disposition des traductions dans le CSS du thème :+1:

Quant à l’exemple dans votre message @evantill, il sera supprimé dans la prochaine mise à jour de ce composant de thème.

8 « J'aime »

Ce sujet a été automatiquement fermé après 3 heures. De nouvelles réponses ne sont plus autorisées.