Localisation de contenu : manuelle et automatique avec Discourse AI

Dans ce sujet, nous vous guiderons à travers les fonctionnalités de localisation du contenu et comment les activer. Ces fonctionnalités sont divisées en deux parties : ce qui est disponible par défaut dans Discourse ; et Discourse AI pour les traductions automatiques.

:warning: Pour un accès rapide aux sections pertinentes, utilisez les titres du wiki :backhand_index_pointing_right:t2:

Localiser le contenu de votre communauté

Une version mise à jour de Discourse (3.5.0.beta7-dev) vous donne accès à plusieurs fonctionnalités de localisation configurables à l’adresse :

  • <votre-url-site>/admin/site_settings/category/content_localization
Nouvelle localisation du contenu dans les paramètres du site 📸

Obtenir des informations sur vos utilisateurs

Tout d’abord, il est bon de recueillir quelques informations sur votre communauté. La requête Data Explorer suivante peut vous donner une idée du nombre d’utilisateurs qui ont peut-être défini leur locale dans /my/preferences/interface.

SELECT locale, count(*) as count
FROM users
WHERE (locale IS NOT null AND locale <> '')
GROUP BY locale
ORDER BY count DESC
Résultats d'exemple de Data Explorer

Définir les locales prises en charge par votre communauté

Grâce aux informations ci-dessus, nous sommes maintenant mieux informés sur les locales que votre communauté devrait prendre en charge.

Dans <votre-url-site>/admin/site_settings/category/content_localization, vous pouvez sélectionner les locales à prendre en charge.

  • Content localization enabled - active la fonctionnalité qui remplace le contenu utilisateur écrit à l’origine par du contenu localisé. Lisez la suite pour connaître les modes automatique et manuel de localisation.
  • Content localization supported locales - la liste des langues prises en charge par votre site
  • Content localization crawler param - abordé dans la section des robots ci-dessous
  • Content localization language switcher - abordé juste après
Liste des locales dans les paramètres du site 📸

L’activation du paramètre suivant Content localization language switcher vous permet également de rendre votre communauté plus accessible aux utilisateurs non connectés en affichant la liste des langues que vous avez choisies dans la liste des locales prises en charge :

Sélecteur de langue en haut à droite de la page

Visualiser le contenu localisé


Sujet de bienvenue localisé sur meta.discourse.org

Pour les lecteurs de contenu localisé (tous les visiteurs du site), ils peuvent survoler l’indicateur à côté de la date du message pour voir la langue originale du message. Cet indicateur n’apparaît que si le message n’est pas dans leur langue.

Si un utilisateur souhaite ne voir que le contenu original, il peut utiliser le basculement au-dessus de la chronologie du sujet pour désactiver les localisations pour l’ensemble du site.

Traductions automatiques avec Discourse AI :sparkles:

Discourse AI est la vitamine essentielle pour la fonctionnalité de localisation et élimine le besoin de traductions manuelles.

En tant qu’administrateur, vous voudrez vous rendre dans notre nouvelle section des fonctionnalités IA pour la Traduction.

Fonctionnalités Discourse AI dans les paramètres d'administration 📸

Faites défiler vers le bas dans /admin/plugins/discourse-ai/ai-features

Pour couvrir certains paramètres et recommandations importants :

  • AI translation backfill hourly rate - ce paramètre est défini par défaut sur 50. En supposant un taux de 50, votre site traduira 50 messages, 50 sujets et 50 catégories par heure, vers les locales que vous avez définies dans Content localization supported locales. Gardez ce nombre bas au début.
  • AI translation target categories - par défaut, aucune catégorie n’est sélectionnée. Seul le contenu des catégories sélectionnées sera traduit. Les sous-catégories doivent être ajoutées séparément. Laissez vide pour désactiver la traduction des sujets dans les catégories.
  • AI translation personal messages - par défaut sur none. Contrôle quels messages personnels sont traduits. ‘none’ désactive la traduction des MP. ‘group’ traduit uniquement les MP de groupe. ‘all’ traduit tous les MP.
  • AI translation include bot content - par défaut sur false. Lorsqu’il est activé, les messages des utilisateurs bot (user id < 0) seront également traduits. Par défaut, le contenu des bots est exclu de la traduction.
  • AI translation max post length - par défaut sur 10000. Il s’agit d’une mesure de sécurité qui empêche la traduction des messages dépassant une certaine longueur.
  • AI translation backfill max age days - par défaut sur 5. Cela signifie que les sujets et messages plus anciens que 5 jours ne seront pas traduits. Vous pouvez augmenter ce nombre pour traduire tous les sujets et messages.
  • AI translation post raw translator agent (et autres agents) - Dans les communautés plus formelles, les administrateurs peuvent choisir de créer leur propre agent. Cela vous permet de définir un prompt plus finement adapté à la langue ou au vocabulaire que vous préférez.

Vous pouvez consulter AI bot - Agents pour savoir comment configurer des agents appropriés et affiner les prompts pour chaque fonction.

Progression de la traduction

Vous trouverez plus d’informations sur la progression des traductions automatiques dans le graphique de progression de la traduction sur /admin/plugins/discourse-ai/ai-translations

Ce graphique apparaîtra si :

  • tous les agents de traduction ont un LLM valide
  • discourse ai enabled :check_mark:
  • ai translation enabled :check_mark:
  • content localization supported locales est rempli
  • ai translation backfill max age days est supérieur à 0
  • ai translation backfill hourly rate est supérieur à 0

Localisation manuelle

Comme la localisation est une fonctionnalité de base dans Discourse, nous vous fournissons la possibilité de remplir et de modifier les localisations manuellement au cas où les traductions automatiques avec Discourse AI ne seraient pas disponibles.

Par défaut, les administrateurs et les modérateurs sont configurés pour modifier les localisations.

Groupes autorisés à la localisation dans les paramètres du site 📸


Paramètre du site admin pour la localisation du contenu

Actuellement, nous disposons de localisations pour le contenu des messages, le titre du sujet, le nom de la catégorie, la description de la catégorie et les balises. Les sections suivantes vous montreront comment elles fonctionnent.

Localisation des catégories

Les catégories localisées sont visibles dans les zones suivantes, avec le nom et la description de la catégorie localisés :

Endroits où les catégories sont localisées 📸
  1. Page d’accueil, barre latérale et menu déroulant des catégories
  1. Page des catégories
  1. Une catégorie spécifique avec des sous-catégories

En tant qu’administrateur, vous devriez pouvoir accéder aux paramètres de catégorie comme d’habitude et trouver le nouvel élément de navigation “Localizations” sur la gauche.

Modification des localisations de catégorie dans les paramètres de catégorie 📸

Localisation des sujets et des messages

À partir des captures d’écran ci-dessus dans Localisation des catégories, vous avez peut-être remarqué que les titres et extraits de sujets sont localisés.

Il existe certains paramètres préalables :

  • Assurez-vous que votre utilisateur fait partie des content localization allowed groups
  • Le bouton addTranslation est automatiquement ajouté au post menu et aux post menu hidden items lorsque Content localization enabled est activé. Cela permet à l’icône :globe_with_meridians: d’apparaître dans le menu des messages pour les utilisateurs appartenant aux content localization allowed groups.
  • Content localization allow author localization est activé par défaut et permet aux auteurs de messages de localiser leur propre contenu en utilisant le même menu de messages que ci-dessus.
3 paramètres du site 📸


:backhand_index_pointing_down:t2:

Encore une fois, la liste des langues localisables se trouve dans le paramètre Content localization supported locales mentionné ci-dessus.

Modifier un message localisé

Si l’utilisateur consulte un message localisé et souhaite le modifier, une boîte de dialogue apparaîtra pour demander quelle version il préfère éditer :

L’éditeur approprié apparaîtra après la décision.

Supprimer la traduction d’un message pour une locale donnée

Si vous avez suivi correctement les instructions ci-dessus concernant le paramètre post menu, vous devriez pouvoir effectuer les opérations suivantes si vous appartenez aux Content localization allowed groups :

Robots (Crawlers)

Vous pouvez permettre aux robots d’accéder à votre site dans les différentes langues que vous avez configurées dans Content localization supported locales. Le paramètre du site se trouve dans la section “Content localization” sous Content localization crawler param :

Le résultat est que les robots peuvent voir ce qui suit, où chaque langue prise en charge a un hreflang correspondant dans l’en-tête de chaque sujet :

Pour une preuve/vérification supplémentaire

Nous avons testé cette fonctionnalité de manière approfondie et pouvons confirmer que nous sommes correctement indexés après l’introduction de X langues prises en charge

FAQ

J’ai tout configuré, mais la traduction automatique ne fonctionne toujours pas pour moi
Vérifiez si vous avez configuré les éléments suivants :

  • Content localization supported locales contient au moins une langue
  • Content localization enabled est :check_mark:
    • Allow user locale est :check_mark: (activé par défaut)
    • Set locale from cookie est :check_mark:
  • Ai translation enabled est :check_mark:
  • Ai translation backfill max age days n’est pas 0
  • Ai translation backfill hourly rate est supérieur à 12
  • Vous devez avoir un LLM fonctionnel configuré pour chaque agent de traduction

Si tout échoue, vous pouvez activer SiteSetting.ai_translation_verbose_logs.

Chaque message est-il traduit ?
Si AI translation backfill limit to public content est :check_mark: , tous les messages des catégories publiques seront traduits. Par défaut, les messages des bots (user id < 0) sont exclus sauf si AI translation include bot content est activé.

Les traductions automatiques sont-elles enregistrées, ou sont-elles envoyées au LLM à chaque fois que quelqu’un consulte un sujet ?
Les traductions sont enregistrées ; chaque message n’est envoyé qu’une seule fois par langue et les traductions sont réutilisées.

Si mon forum prend en charge l’anglais et le japonais (via Content localization supported locales), et que quelqu’un écrit en espagnol, son message sera-t-il traduit ?
Oui. Tous les sujets et messages seront traduits en anglais et en japonais, quelle que soit la langue d’écriture.

Si le message original est modifié, est-il re-traduit ?
Oui – avec un maximum de 2 fois par jour. Lorsqu’un message est modifié, il est envoyé pour re-traduction après un délai égal au plus grand entre 5 minutes et le SiteSetting.editing_grace_period pour tenir compte des modifications furtives. Les utilisateurs autorisés dans les Content localization allowed groups ont la possibilité d’envoyer un message pour re-traduction immédiatement.

Les traductions seront-elles supprimées si je change l’agent ou le LLM ?
Non, les traductions persistent généralement lors des changements de paramètres, sauf si elles sont explicitement supprimées via l’élément de menu de message ou l’éditeur de traduction.


24 « J'aime »
Content Localization and Automatic Translations for Your Community
I can't find discourse AI as a provider in the discourse translator plugin
2 language site
Machine-translate messages so users can read without knowing sender's language
Update or Replace Header Locale Selector for New Discourse Header (widgets-end-of-life) – Is Built-in Support Available?
Übersetzung wie hier auf Meta
Anonymous user language selector for Discourse
Translate Discourse automatically (without a button)
Help which plugin is in the screenshot
About auto translation
Auto Country Translation
How to Add Automatic Multilingual Translation Interface in Discourse?
3.6.0.beta2: Built-in palette editing, live AI translation progress, and better wiki tracking
The usage problem after using AI translation
AI translation backfill not working after all settings configured
AI translation backfill not working after all settings configured
Single post/header only partially translated -issue
Language Switcher Problem, Not Translating Posts
配置好 ai 翻译后,帖子已经被自动翻译,但是在帖子顶部和右侧没有显示语言切换按钮
Feature Request: Allow Users to Localize Only Their Own Topics
How to configure ai translate of `Ai translation backfill hourly rate`?
Seeking experience: Supporting a multilingual Discourse community
Ongoing translation in threads
I need help to configure LLM DeepSeek R1 0528 - free for Automatic translations with Discourse AI
I need help to configure LLM DeepSeek R1 0528 - free for Automatic translations with Discourse AI
Not sure how to juggle languages while setting up my francophone community
Structuring a multilingual community
Why is Discourse AI translation not working
How to set up Discourse AI for internal-only usage
AI translation of all PMs
Content localization language switcher doesn't work
Single post/header only partially translated -issue
Header Locale Selector
为啥的布署的discourse不支持修改语言
Topic list is shown in a language (DE) but has one (DE) topic not translated
If topic info is too long, tags are cut off and create a blank line
Content Localization and Automatic Translations for Your Community
Images break when the page is auto-translated by a browser translation extension (S3/R2 + CDN is configured correctly)
Bearbeitung von Übersetzen Beiträgen verbessern
Why Is the Discourse AI Translation Icon Not Appearing?
Why are posts in Swedish un-translated to Finnish, default locale?
Discourse AI Translator, Planet Icon Missing
Language switcher and language content
Multilingual user feedback on Automatic Translations
Sharing approaches to using automation to send messages to members