Localizzazione dei contenuti - Manuale e automatica con Discourse AI

In questo argomento, vi guideremo attraverso le funzionalità di localizzazione dei contenuti e come attivarle. Le funzionalità sono divise in due parti: ciò che è disponibile di default in Discourse; e Discourse AI per le traduzioni automatiche.

:warning: Per un accesso rapido alle sezioni pertinenti, utilizzate le intestazioni della wiki :backhand_index_pointing_right:t2:

Localizzare i contenuti della vostra community

Una versione aggiornata di Discourse (3.5.0.beta7-dev) vi offre accesso a diverse funzionalità di localizzazione configurabili all’indirizzo:

  • <your-site-url>/admin/site_settings/category/content_localization
Nuova localizzazione dei contenuti nelle impostazioni del sito 📸

Ottenere informazioni sui vostri utenti

Innanzitutto, è utile raccogliere alcune informazioni sulla vostra community. La seguente query di Data Explorer può darvi un’idea di quanti utenti abbiano impostato la propria lingua in /my/preferences/interface.

SELECT locale, count(*) as count
FROM users
WHERE (locale IS NOT null AND locale <> '')
GROUP BY locale
ORDER BY count DESC
Esempi di risultati da Data Explorer

Impostare le lingue supportate dalla vostra community

Con le informazioni sopra riportate, ora abbiamo una visione più chiara di quali lingue la vostra community dovrebbe supportare.

In <your-site-url>/admin/site_settings/category/content_localization, potete selezionare le lingue da supportare.

  • Content localization enabled - attiva la funzionalità che sostituisce i contenuti originali scritti dagli utenti con contenuti localizzati. Continuate a leggere per scoprire le modalità automatica e manuale di localizzazione.
  • Content localization supported locales - l’elenco delle lingue supportate dal vostro sito
  • Content localization crawler param - trattato nella sezione sui crawler più avanti
  • Content localization language switcher - trattato subito sotto
Elenco delle lingue nelle impostazioni del sito 📸

Abilitando l’impostazione successiva Content localization language switcher, è anche possibile rendere la vostra community più accessibile agli utenti non registrati, mostrando l’elenco delle lingue scelte nell’elenco delle lingue supportate:

Selettore delle lingue in alto a destra della pagina

Visualizzare i contenuti localizzati


Argomento di benvenuto localizzato su meta.discourse.org

Per i visualizzatori di contenuti localizzati (tutti i visitatori del sito), è possibile passare il cursore sull’indicatore accanto alla data del post per visualizzare la lingua originale del post. Questo indicatore appare solo se il post non è nella loro lingua.

Se un utente desidera vedere solo i contenuti originali, può utilizzare l’interruttore sopra la cronologia dell’argomento per disabilitare le localizzazioni per l’intero sito.

Traduzioni automatiche con Discourse AI :sparkles:

Discourse AI sono le vitamine essenziali per la funzionalità di localizzazione ed eliminano la necessità di effettuare traduzioni manuali.

Come amministratore, dovrete recarvi nella nuova sezione delle funzionalità AI per la Traduzione.

Funzionalità di Discourse AI nelle impostazioni di amministrazione 📸

Scorrete verso il basso in /admin/plugins/discourse-ai/ai-features

Per coprire alcune impostazioni e raccomandazioni importanti:

  • AI translation backfill hourly rate - questa impostazione ha un valore predefinito di 50. Assumendo un tasso di 50, il vostro sito tradurrà 50 post, 50 argomenti e 50 categorie all’ora, nelle lingue impostate in Content localization supported locales. Mantenete questo valore basso quando iniziate.
  • AI translation target categories - predefinito su nessuna categoria selezionata. Solo i contenuti nelle categorie selezionate verranno tradotti. Le sottocategorie devono essere aggiunte separatamente. Lasciate vuoto per disabilitare la traduzione degli argomenti nelle categorie.
  • AI translation personal messages - predefinito su none. Controlla quali messaggi personali vengono tradotti. ‘none’ disabilita la traduzione dei PM. ‘group’ traduce solo i PM di gruppo. ‘all’ traduce tutti i PM.
  • AI translation include bot content - predefinito su false. Se abilitato, anche i post degli utenti bot (user id < 0) verranno tradotti. Di default, i contenuti dei bot sono esclusi dalla traduzione.
  • AI translation max post length - predefinito su 10000. Questa è una misura di sicurezza che impedisce la traduzione di post superiori a una certa lunghezza.
  • AI translation backfill max age days - predefinito su 5. Ciò significa che gli argomenti e i post più vecchi di 5 giorni non verranno tradotti. Potete aumentare questo valore a un numero elevato per tradurre tutti gli argomenti e i post.
  • AI translation post raw translator agent (e altri agenti) - In community più formali, gli amministratori possono scegliere di creare il proprio agente. Questo permette di impostare un prompt più accurato per la lingua o il vocabolario preferito.

Potete consultare AI bot - Agents per sapere come configurare agenti adatti e affinare i prompt per ciascuna funzione.

Stato della traduzione

Potete trovare ulteriori informazioni sull’avanzamento delle traduzioni automatiche nel grafico Stato della traduzione in /admin/plugins/discourse-ai/ai-translations

Questo grafico apparirà se:

  • tutti gli agenti traduttori hanno un LLM valido
  • discourse ai enabled :check_mark:
  • ai translation enabled :check_mark:
  • content localization supported locales è compilato
  • ai translation backfill max age days è maggiore di 0
  • ai translation backfill hourly rate è maggiore di 0

Localizzazione manuale

Poiché la localizzazione è una funzionalità fondamentale in Discourse, offriamo la possibilità di inserire e modificare manualmente le localizzazioni nel caso in cui le traduzioni automatiche con Discourse AI non siano disponibili.

Di default, gli amministratori e i moderatori sono configurati per modificare le localizzazioni.

Gruppi autorizzati alla localizzazione nelle impostazioni del sito 📸


Impostazione del sito amministratore per la localizzazione dei contenuti

Attualmente, abbiamo localizzazioni per il contenuto del post, il titolo dell’argomento, il nome della categoria, la descrizione della categoria e i tag. Le sezioni successive mostreranno come funzionano.

Localizzazione delle categorie

Le categorie localizzate sono visibili nelle seguenti aree, con sia il nome che la descrizione della categoria localizzati:

Luoghi in cui le categorie sono localizzate 📸
  1. Homepage, barra laterale e menu a discesa delle categorie
  1. Pagina delle categorie
  1. Una categoria specifica con sottocategorie

Come amministratore, dovreste essere in grado di accedere alle impostazioni della categoria come al solito e trovare il nuovo elemento di navigazione “Localizzazioni” sulla sinistra.

Modifica delle localizzazioni delle categorie nelle impostazioni della categoria 📸

Localizzazione di argomenti e post

Dagli screenshot precedenti in Localizzazione delle categorie, potreste aver notato che i titoli degli argomenti e gli estratti vengono localizzati.

Ci sono alcune impostazioni preliminari:

  • Assicuratevi che il vostro utente sia nei content localization allowed groups
  • Il pulsante addTranslation viene aggiunto automaticamente a post menu e post menu hidden items quando Content localization enabled è attivo. Questo permette all’icona :globe_with_meridians: di apparire nel menu del post per gli utenti nei content localization allowed groups.
  • Content localization allow author localization è abilitato di default e permette agli autori dei post di localizzare i propri contenuti utilizzando lo stesso menu del post sopra menzionato.
3 Impostazioni del sito 📸


:backhand_index_pointing_down:t2:

Ancora una volta, l’elenco delle lingue localizzabili si trova nell’impostazione Content localization supported locales menzionata sopra.

Modifica di un post localizzato

Nel caso in cui l’utente stia visualizzando un post localizzato e voglia modificarlo, apparirà una finestra di dialogo per chiedere quale versione preferisce modificare:

Dopo aver deciso, apparirà l’editor appropriato.

Eliminazione della traduzione di un post per una determinata lingua

Se avete seguito correttamente le istruzioni sopra riguardanti l’impostazione post menu, dovreste essere in grado di fare quanto segue se siete nei Content localization allowed groups:

Crawlers

Potete permettere ai crawler di vedere il vostro sito nelle varie lingue configurate in Content localization supported locales. L’impostazione del sito si trova nella sezione “Content localization” come Content localization crawler param:

Il risultato sarà che i crawler potranno vedere quanto segue, dove ogni lingua supportata ha un corrispondente hreflang nell’head di ogni argomento:

Per ulteriori prove/verifiche

Abbiamo testato questa funzionalità estensivamente e possiamo confermare che siamo indicizzati correttamente dopo aver introdotto X numeri di lingue supportate

FAQ

Ho configurato tutto, ma la traduzione automatica non funziona ancora per me
Verificate se avete impostato quanto segue:

  • Content localization supported locales ha almeno una lingua
  • Content localization enabled è :check_mark:
    • Allow user locale è :check_mark: (abilitato di default)
    • Set locale from cookie è :check_mark:
  • Ai translation enabled è :check_mark:
  • Ai translation backfill max age days non è 0
  • Ai translation backfill hourly rate è maggiore di 12
  • Dovete avere un LLM funzionante impostato per ogni agente di traduzione

Se tutto il resto fallisce, potete abilitare SiteSetting.ai_translation_verbose_logs.

Ogni post viene tradotto?
Se AI translation backfill limit to public content è :check_mark:, tutti i post nelle categorie pubbliche verranno tradotti. Di default, i post dei bot (user id < 0) sono esclusi a meno che AI translation include bot content non sia abilitato.

Le traduzioni automatiche vengono salvate o vengono inviate all’LLM ogni volta che qualcuno visualizza un argomento?
Le traduzioni vengono salvate; ogni post viene inviato una sola volta per lingua e le traduzioni vengono riutilizzate.

Se il mio forum supporta l’inglese e il giapponese (tramite Content localization supported locales) e qualcuno scrive in spagnolo, il suo post verrà tradotto?
Sì. Tutti gli argomenti e i post verranno tradotti in inglese e giapponese, indipendentemente dalla lingua scritta.

Se il post originale viene modificato, viene ripreso e tradotto di nuovo?
Sì – con un massimo di 2 volte al giorno. Quando un post viene modificato, viene inviato per la rielaborazione dopo un ritardo pari al massimo tra 5 minuti o il SiteSetting.editing_grace_period per tenere conto delle modifiche “ninja”. Gli utenti autorizzati nei Content localization allowed groups hanno la possibilità di inviare immediatamente un post alla rielaborazione.

Le traduzioni verranno eliminate se cambio l’agente o l’LLM?
No, le traduzioni generalmente persistono attraverso le modifiche alle impostazioni, a meno che non vengano eliminate esplicitamente utilizzando l’elemento del menu del post o l’editor di traduzione.


24 Mi Piace
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