Pour votre information, une traduction complète de Discourse, y compris les messages, est possible

Pour ceux qui s’intéressent aux sites Discourse multilingues, je voulais partager des informations sur un produit que j’ai récemment pu intégrer à mon site hébergé. Je ne suis en aucun cas associé à cette entreprise, si ce n’est en tant que client, et je ne reçois aucune compensation. Je suis juste impressionné par cette technologie et je veux la partager car la traduction est si difficile et cela la rend si facile !

Le produit s’appelle Linguise. Vous pouvez voir comment il est configuré pour fonctionner avec Discourse (ou une technologie similaire) dans cette vidéo.

En gros, vous créez un compte (gratuit pendant 30 jours) et il vous guide dans la configuration de certains CNAME DNS pour le domaine principal de votre site qui incluent un préfixe linguistique de 2 lettres. Par exemple, fr.monsite.com, es.monsite.com - un pour chaque langue que vous souhaitez rendre disponible.

Ils vous fournissent ensuite un élément <script> personnalisé que vous devez inclure sur le site Discourse. La façon la plus simple de le faire est de créer un nouveau composant de thème, puis de placer leur commande de script dans la section <Head>.

C’est tout ce qu’il faut. Un sélecteur de langue apparaît maintenant sur votre site (vous pouvez facilement ajuster son emplacement et d’autres caractéristiques).

Cliquez sur ce sélecteur et choisissez une autre langue, et la page se rafraîchira. Vous verrez la plupart des éléments de l’écran se brouiller pendant une seconde ou deux, puis l’intégralité de la page sera traduite automatiquement.

Cela inclut les menus, les titres, les noms de catégories, les noms de messages, le contenu des messages, etc. Même les écrans d’administration et de configuration sont traduits.

C’est incroyable. Vous avez 85 langues au choix, et la tarification est basée sur le nombre de mots traduits - peu importe les langues utilisées. Elle commence à environ 15 par mois et atteint un maximum de 45 par mois pour une utilisation illimitée.

Cette technologie fonctionne également sur presque tous les sites. Ils prennent en charge directement Wordpress, Joomla, Squarespace, Wix, Drupal et de nombreux sites E-commerce, etc. Mais la façon dont cela fonctionne pour Discourse est une sorte de mécanisme général qui peut traduire n’importe quel site - même ceux pour lesquels vous n’avez pas le code source ou l’accès au backend, tant que vous avez un moyen d’inclure cette seule balise <script>.

6 « J'aime »

Partageriez-vous votre composant de thème ?

Est-il possible de personnaliser les traductions (noms de catégories, titres de sujets…) ?

3 « J'aime »

Le guide vidéo de Linguise n’est pas suffisant pour me permettre de traduire mon site Discourse.

Dès la première étape, où nous devons choisir notre plateforme, « Discourse » n’est pas une option. La vidéo YouTube est muette quant à ce qu’il faut choisir dans cette liste si nous sommes sur un site Discourse (et nous ne pouvons pas avancer tant que nous n’avons pas fait le bon choix).

Salut Bathinda. Vous avez choisi « Autre CMS hébergé dans le cloud ».

2 « J'aime »

Salut Thomas,

Vous pouvez facilement créer votre propre composant de thème vide en allant dans Admin/Themes/Composants.

Cliquez sur Installer, et dans la boîte de dialogue qui apparaît, cliquez sur Créer nouveau :

Dans la boîte de dialogue suivante, donnez-lui un nom :

Cela crée un composant vide. Maintenant, il vous suffit de cliquer sur Modifier CSS/HTML :

Allez dans l’onglet Head. C’est là que vous collerez la balise de script personnalisée que Linguise vous donne lorsque vous configurez les choses sur leur site web :

Dans mon image, j’ai inclus quelques commentaires, mais normalement vous obtiendriez juste une liste vide dans laquelle vous colleriez votre URL Linguise personnalisée.

Notez qu’en travaillant avec le support technique de Linguise, nous avons constaté que la balise de script devait être légèrement modifiée car parfois la page nécessitait un rafraîchissement manuel lors du changement de langue.

Si vous modifiez le début de la balise pour qu’elle commence par \u003cscript defer src=… cela résout le problème de rafraîchissement manuel.

En aparté, ces simples composants personnalisés peuvent être utilisés comme un moyen sûr et élégant pour apporter des modifications au thème que vous utilisez et affecter de nombreux éléments de l’écran.

Par exemple, sur mon site, j’ai désactivé un certain nombre d’éléments d’écran qui, selon moi, ne feraient que confondre ma population d’utilisateurs. Pour ce faire, dans l’onglet CSS, j’ai ajouté des sélecteurs CSS avec la propriété display: none.

Par exemple, ceci supprime le bouton Ajouter une section dans la barre latérale :

.sidebar-wrapper .sidebar-footer-wrapper .btn-flat.add-section {
    display: none;
}

La partie délicate est de trouver les sélecteurs CSS (c’est-à-dire la partie avant l’accolade ouvrante), mais si vous utilisez les outils de développement de votre navigateur web, vous pouvez généralement trouver les éléments de l’écran et copier leurs sélecteurs.

Bonne chance !

3 « J'aime »

C’est une explication très bonne et détaillée.
Merci pour cela.

1 « J'aime »

Je voulais faire un suivi avec quelques détails supplémentaires sur notre expérience pour faire fonctionner Linguise avec Discourse.

Tout d’abord, sur notre site, nous utilisons le plugin Discourse SAML pour authentifier les utilisateurs auprès d’un autre référentiel d’utilisateurs. Nous avons constaté qu’il y avait un problème de cookie dans ce cas particulier.

Heureusement, les gens de Communiteq (https://www.communiteq.com/), qui sont une excellente société d’hébergement pour Discourse, ont pu analyser le problème et créer une petite correction sous la forme d’un plugin pour le résoudre. Mais pour la plupart des gens, ce ne sera pas nécessaire.

Il y a une limitation à connaître ; Linguise ne fait aucune traduction lorsqu’il fonctionne dans sa langue par défaut, dans notre cas, l’anglais.

Normalement, ce n’est pas un problème, mais il y a un cas où cela l’est : les messages rédigés dans une autre langue, disons l’espagnol, apparaissent en espagnol lorsque Linguise est réglé sur l’anglais. Dans toute autre langue, ils seraient traduits, mais pas dans la langue par défaut.

Linguise pourrait s’améliorer à l’avenir, mais il n’y a aucun engagement.

La solution de contournement consiste à utiliser également le plugin Discourse Translator. Vous devez configurer l’accès à l’API de l’une des sociétés de traduction (Google, Yandex, Microsoft, etc.), puis configurer ces informations d’identification dans le plugin.

Une fois que vous avez fait cela, si vous êtes en anglais et que vous lisez un message créé par quelqu’un en espagnol, vous verrez une petite icône de globe

Cliquer dessus fait apparaître une traduction sous l’original.

Entre les deux, cela couvre tous les cas, bien que pas aussi élégamment que je l’aurais souhaité.

Nous utilisons un compte Google Cloud qui offre les 500 000 premiers mots chaque mois gratuitement, et nous dépassons rarement cette limite. Je pense que d’autres fournisseurs ont des offres similaires.

J’espère que cela sera utile à quelqu’un.

3 « J'aime »