Plugin multilingue 🌐

Le plugin Multilingue permet aux administrateurs d’un forum multilingue de crĂ©er un environnement riche et comprĂ©hensible pour tous les utilisateurs et invitĂ©s, mĂȘme s’ils ne parlent pas la langue par dĂ©faut ou majoritaire du forum.

:page_facing_up: Obtenir le code

:book: Lire la documentation


Aperçu des fonctionnalités

Le plugin Multilingue étend le systÚme de locale existant de Discourse pour vous offrir :

  1. une interface d’administration pour toutes les langues utilisĂ©es sur votre forum ;

  2. un systùme de langue de contenu qui vous permet, ainsi qu’à vos utilisateurs, de filtrer le contenu de votre forum par langue ;

  3. une intégration avec le plugin Traducteur de Discourse, qui automatise certains aspects du systÚme de langue de contenu ;

  4. la possibilitĂ© de traduire les noms de catĂ©gories, les tags et d’autres textes semi-statiques sur votre forum ;

  5. la possibilitĂ© de dĂ©sactiver l’utilisation des langues d’interface existantes sur votre forum ;

  6. la possibilitĂ© d’ajouter des langues d’interface personnalisĂ©es (« locales ») directement Ă  votre forum ;

  7. des fonctionnalitĂ©s de langue pour les invitĂ©s amĂ©liorĂ©es, notamment un sĂ©lecteur de langue d’interface pour les invitĂ©s (« locale ») (sous forme de barre de pied de page ou de menu) ; et

  8. des champs facultatifs de langue d’interface et de langue de contenu lors de l’inscription (bientît disponible).


:point_right: Veuillez noter

Toutes les fonctionnalitĂ©s ci-dessus fonctionnent au-dessus du systĂšme de locale existant de Discourse et en conjonction avec toutes les fonctionnalitĂ©s de ce systĂšme (voir l’explication dĂ©taillĂ©e ici).

Si vous souhaitez ajouter des langues d’interface (« locales ») Ă  Discourse, la meilleure mĂ©thode consiste Ă  suivre les Ă©tapes dĂ©crites ici : How to add a new language. Vous pouvez Ă©galement ajouter une locale via un plugin, comme dĂ©crit ici.

La possibilitĂ© de le faire via l’interface d’administration de ce plugin ne devrait ĂȘtre envisagĂ©e qu’aprĂšs avoir Ă©puisĂ© les mĂ©thodes prises en charge par Discourse. Toutes les langues ajoutĂ©es Ă  Discourse via les mĂ©thodes prises en charge par Discourse seront automatiquement disponibles pour toutes les fonctionnalitĂ©s de ce plugin.


Captures d’écran d’exemple

Interface d’administration

Traductions de textes semi-statiques (et sélecteur de locale pour les invités)

SystĂšme de langue de contenu

Screen Shot 2020-02-25 at 2.24.51 PM

Intégration du plugin Traducteur avec le systÚme de langue de contenu


Crédits

Ce plugin a Ă©tĂ© rendu possible grĂące au soutien de la Fondation Wikimedia, avec un soutien particulier de @Elena_Lappen et @icaria36, qui ont apportĂ© une contribution significative Ă  la conception de l’ensemble des fonctionnalitĂ©s.

Pour en savoir plus sur la réflexion derriÚre ce plugin, consultez :

Structuring a multilingual community

68 « J'aime »

Wow ! Tu as Ă©tĂ© trĂšs occupĂ©. :slight_smile: Bon travail, @angus ! J’ai hĂąte de voir des exemples de cela en situation rĂ©elle. Fais-moi signe si tu as besoin que quelqu’un comme moi jette un Ɠil et donne son avis.

L’une des lacunes Ă©tait l’absence de fonctionnalitĂ© permettant au personnel d’amĂ©liorer les traductions des messages fournis par le plugin de traduction ; cela fera-t-il partie de cet effort ?

10 « J'aime »

Hmm. Je ne l’exclus pas, mais cela relĂšve probablement davantage du pĂ©rimĂštre du plugin de traduction.

Une fonctionnalitĂ© quelque peu liĂ©e que j’ai dĂ©veloppĂ©e Ă  un moment donnĂ© pour autre chose est une petite icĂŽne de compteur qui s’affiche pour les utilisateurs lorsque la locale qu’ils utilisent revient Ă  la locale par dĂ©faut en raison de l’absence de traduction. Cliquez sur l’icĂŽne et vous verrez :

“x traductions manquantes pour cette page. Aidez-nous à les traduire ici : (lien vers Transifex de Discourse).”

7 « J'aime »

Excellent travail comme d’habitude, Angus ! Je l’ai testĂ© sur mon site et j’ai remarquĂ© quelques petits problĂšmes ainsi que quelques questions.

ProblĂšmes

  1. Lorsque vous modifiez un sujet existant, le texte du menu déroulant ne suit pas les couleurs du thÚme :

  1. Le paramĂštre de langue du contenu devient trĂšs difficile Ă  utiliser au-delĂ  de quelques langues en raison de la ligne unique.

Questions

  1. Il semble que beaucoup de nos anciens sujets reçoivent rĂ©troactivement le tag de langue, ce qui est souhaitĂ©, mais seulement quelques-uns pour le moment. Un travail sera-t-il exĂ©cutĂ© pour appliquer le tag Ă  tous les messages existants Ă©ventuellement ? Sinon, existe-t-il un moyen d’appliquer un tag de langue Ă  tous les messages existants ? Notre site n’a Ă©tĂ© qu’en anglais jusqu’à prĂ©sent, donc je veux que tous les messages existants aient le tag en.
  2. Lorsque vous avez plusieurs langues dĂ©finies sous les langues de contenu, devriez-vous pouvoir filtrer par une langue individuelle ? Actuellement, lorsque je clique sur l’une des langues dans le menu dĂ©roulant, rien ne se passe.
2 « J'aime »

Merci pour ton retour, David, et pour avoir essayĂ© cela. J’ai poussĂ© plusieurs mises Ă  jour qui, entre autres, corrigent les deux problĂšmes que tu as mentionnĂ©s ci-dessus.

Pas encore. Actuellement, seuls les messages traduits par le plugin Traducteur recevront automatiquement une étiquette de contenu rétroactivement (si le plugin traducteur est activé et que la fonctionnalité de synchronisation est activée).

Je peux ajouter un tel job, mais il devra prendre une langue spĂ©cifique comme paramĂštre et s’exĂ©cuter sur un pĂ©rimĂštre dĂ©fini. En plus d’un pĂ©rimĂštre « Ă  l’échelle du site », je pourrais le faire par catĂ©gorie ou par Ă©tiquette (non liĂ©e au contenu) (c’est-Ă -dire appliquer cette Ă©tiquette de contenu Ă  tous les sujets dans cette catĂ©gorie ou ayant cette autre Ă©tiquette). Qu’est-ce qui te conviendrait ?

Non, la liste est destinĂ©e Ă  simplement t’afficher quelles sont actuellement tes langues de contenu. Pourrais-tu me dĂ©crire comment tu t’attends (ou aimerais) que cela se comporte ?

2 « J'aime »

Merci, Angus, cela a résolu mes problÚmes.

IdĂ©alement, j’aimerais que la balise en soit appliquĂ©e Ă  tous les messages existants qui n’ont pas de balise de langue. Est-ce trop large ? Le problĂšme est que si un utilisateur dĂ©finit sa langue de contenu sur, par exemple, l’anglais et l’espagnol, il ne verra alors que les messages avec une balise de langue ; il ne verra pas les milliers de messages sans balise.

Parce qu’il y a une liste et qu’elles s’illuminent au survol, cela donne l’impression qu’elles sont cliquables. Dans ce cas, mon attente est que, lorsque vous cliquez sur l’une d’elles, vos messages soient filtrĂ©s par cette langue. Je pense que cela pourrait ĂȘtre une fonctionnalitĂ© utile pour filtrer par langue, mais ce n’est pas non plus quelque chose dont j’ai absolument besoin.

Par ailleurs, j’aimerais avoir la possibilitĂ© de dĂ©placer le bouton de langue. J’ai dĂ©jĂ  beaucoup d’élĂ©ments dans ma barre de navigation et cela commence Ă  devenir encombrĂ©. De plus, le bouton mis en Ă©vidence semble dĂ©placĂ© au-dessus du bouton « Nouveau sujet » et il force ce dernier Ă  se placer en dessous. Je suppose qu’il n’est pas possible de le dĂ©placer au dĂ©but de la barre de navigation, par exemple avant « Derniers » ? Ou il pourrait flotter dans un coin comme sur ma page d’accueil WordPress : https://naturephotographers.network, ou encore ĂȘtre placĂ© dans l’en-tĂȘte, similaire Ă  l’option du plugin de traduction.

Je comprends votre raisonnement pour le placer dans la barre de navigation, car vous filtrez de maniĂšre similaire aux autres boutons, mais le fait est que vous ne le dĂ©finiriez qu’une seule fois, puis vous l’oublieriez. Ce n’est pas comme si vous filtriez rĂ©guliĂšrement par diffĂ©rentes langues.

Merci encore, ce plugin ainsi que Translate changent la donne.

3 « J'aime »

Pour moi, c’est le comportement souhaitĂ©. Les utilisateurs ne doivent pas voir de publications dans une langue Ă©trangĂšre. S’il n’y a aucune publication dans leur langue, ils ne doivent en voir aucune.

Cependant, en tant qu’option, une fonctionnalitĂ© d’« Ă©tiquetage en masse » serait apprĂ©ciable.

2 « J'aime »

D’accord, la solution que j’ai proposĂ©e sur Pavilion est que si la langue par dĂ©faut correspond Ă  l’une des langues de sujet sĂ©lectionnĂ©es, alors afficher toutes les publications sans balises. Mais le balisage en lot serait la meilleure option.

@angus, je ne suis pas certain Ă  100 % si cela est liĂ© Ă  votre plugin ou Ă  une modification du noyau, mais il pourrait y avoir un bug que j’ai rencontrĂ©. Lorsque je modifie une publication existante, effectue quelques changements et tente de sauvegarder, je reçois cette erreur : « Aucune des balises que vous avez sĂ©lectionnĂ©es ne peut ĂȘtre utilisĂ©e ». Aucune balise n’est dĂ©finie, sauf la balise en, et le « nombre minimum de balises requises dans un sujet » est rĂ©glĂ© sur 0. Des idĂ©es ?

2 « J'aime »

Je me suis heurtĂ© Ă  un autre problĂšme aujourd’hui, Angus. J’avais prĂ©cĂ©demment une balise ig (abrĂ©viation d’Instagram) qui a Ă©tĂ© supprimĂ©e par le plugin pour faire place Ă  la langue igbo. Je suppose qu’il n’y a aucun moyen de la rĂ©cupĂ©rer ? J’ai essayĂ© de dĂ©sactiver le plugin en espĂ©rant qu’elle serait toujours lĂ , mais hĂ©las, elle semble avoir disparu depuis longtemps. Je sais que c’est un risque que l’on prend en testant des plugins. Vous devriez peut-ĂȘtre ajouter un avertissement indiquant qu’il supprimera toutes les balises portant le mĂȘme nom.

3 « J'aime »

Je vais vous envoyer un MP à ce sujet (il est peu probable qu’elle soit perdue).

Je passerai en revue les autres suggestions utiles et les retours demain.

3 « J'aime »

Mon Dieu ! Vous ĂȘtes fantastique !
Je veux dire, j’admire vraiment votre travail. J’espĂšre aussi que ce message ne dĂ©tournera pas l’attention des gens de votre travail fabuleux.

7 « J'aime »

Juste une note : David et moi avons résolu ce problÚme et rétabli les balises ig existantes.

S’il y a un conflit entre une balise prĂ©existante et une balise de langue de contenu, la langue ne sera pas disponible en tant que langue de contenu tant que le conflit ne sera pas rĂ©solu. Vous le verrez dans votre administration des langues.

Je traiterai tout autre problÚme et demande de fonctionnalité au cours de la semaine à venir.

9 « J'aime »

Cher Angus, est-il possible d’utiliser uniquement le sĂ©lecteur de langue pour les invitĂ©s ? Je n’ai pas besoin d’utiliser toutes les fonctions de ce systĂšme — je souhaite simplement permettre aux invitĂ©s de changer la langue de l’interface.

2 « J'aime »

Chaque fonctionnalité du plugin fonctionne indépendamment.

Installez le plugin et activez simplement le sélecteur de langue : Pavilion.

Nous utilisons actuellement ce plugin Ă  cette fin sur thepavilion.io.

4 « J'aime »

Excellent travail @angus !

Nous avons installĂ© le plugin, mais dĂ©sormais aucun contenu n’est visible pour les utilisateurs, mĂȘme pour le personnel. Cependant, lorsque vous Ă©ditez une catĂ©gorie et tentez de la supprimer, nous obtenons alors l’avertissement suivant :

La seule façon d’accĂ©der Ă  un sujet est alors de suivre le lien dans le message d’avertissement ou de connaĂźtre l’URL du sujet. Si nous accĂ©dons au sujet (RIO Paris) et ajoutons ensuite une balise de langue de contenu, par exemple « english », il devient visible comme prĂ©vu. Nous pensons que le plugin Multilingue fonctionne parfaitement. Seul le contenu associĂ© Ă  une balise est affichĂ©. Cependant, nous trouvons cela trompeur et dĂ©routant lorsque les gens ne peuvent pas voir tous les sujets liĂ©s sans associer une balise de langue. Nous avons des milliers de sujets prĂ©cĂ©demment publiĂ©s qui sont invisibles. Existe-t-il une solution pour attribuer rapidement une balise de langue Ă  ceux-ci, car nous ne pouvons pas voir de liste pour le moment ?

Veuillez nous conseiller.

ÉditĂ© : J’ai rĂ©solu mon problĂšme de visibilitĂ© en ajoutant des balises Ă  tous les sujets de certaines catĂ©gories selon la langue qu’elles Ă©taient censĂ©es utiliser, dans Rails :

  1. cd /var/discourse puis ./launcher enter app
  2. obtenir les identifiants des catégories avec rake categories:list
  3. Si une catĂ©gorie ne devant contenir que des sujets en allemand a l’identifiant 245, alors rake tags:bulk_tag_category["de",245]
1 « J'aime »

J’obtiens une page blanche aprĂšs avoir exĂ©cutĂ© :
./launcher rebuild app

J’ai dĂ©couvert que c’est ce plugin qui en est la cause. Impossible d’accĂ©der au site et Ă  la partie administration.
J’ai seulement activĂ© le contenu multilingue, mais je ne l’ai pas configurĂ©.

Comment puis-je réinitialiser les paramÚtres de ce plugin dans la base de données ?

Est-ce que votre.website.com/safe-mode fonctionne ?

J’ai dĂ©sactivĂ© ce plugin maintenant. Les problĂšmes ont commencĂ© avec la disparition de la liste des plugins dans le panneau d’administration. Ensuite, j’ai essayĂ© de reconstruire l’application. Mais aprĂšs la reconstruction, le site ne s’ouvrait plus. Maintenant, il s’ouvre, mais avec ce plugin dĂ©sactivĂ©.

@angus, peux-tu vérifier ton plugin avec une version récente de Discourse ?

En mode sans échec sans les plugins non officiels, je vois cette page sans la liste des plugins :

Mode sans échec sans tous les plugins :

Est-il possible de réinitialiser les paramÚtres de ce plugin dans la base de données ?

À cette Ă©poque, aucun mode ne pouvait rĂ©soudre le problĂšme (sĂ»r, sans version non officielle, sans tout) — dans tous les modes, je ne voyais pas la liste des plugins installĂ©s dans le systĂšme.

1 « J'aime »