Localización de contenido: manual y automática con Discourse AI

En este tema, te guiaremos por las funciones de Localización de Contenido y cómo habilitarlas. Las funciones se dividen en dos partes: lo que está disponible por defecto en Discourse; y Discourse AI para traducciones automáticas.

:warning: Para un acceso rápido a las secciones relevantes, utiliza los encabezados de la wiki :backhand_index_pointing_right:t2:

Localización del contenido de tu comunidad

Discourse te da acceso a varias funciones de localización disponibles para su configuración en:

  • <your-site-url>/admin/site_settings/category/content_localization
Localización de contenido en la configuración del sitio 📸

Preparación

En primer lugar, es bueno obtener alguna información sobre tu comunidad a través del explorador de datos.

Idioma mediante las preferencias del usuario

La siguiente consulta puede darte una idea de cuántos usuarios pueden haber establecido su idioma en /my/preferences/interface.

SELECT locale, count(*) as count
FROM users
WHERE (locale IS NOT null AND locale <> '')
GROUP BY locale
ORDER BY count DESC
Resultados de ejemplo del Explorador de datos

De dónde vienen tus usuarios

Una mejor solución, si tienes Eventos de visualización de página del navegador habilitados (configuración del sitio), es esta consulta que te dice de qué país es tu usuario:

SELECT
  e.country_code AS country_code,
  COUNT(*) AS pageviews
FROM browser_pageview_events e
WHERE e.country_code IS NOT NULL
  AND e.country_code <> ''
GROUP BY e.country_code
ORDER BY pageviews DESC
Resultados de ejemplo

Configuración

Con la información anterior, ahora estás mejor informado sobre qué idiomas debería soportar tu comunidad.

En <your-site-url>/admin/site_settings/category/content_localization, comienza a configurar esto.

  • Content localization enabled - activa la función que reemplaza el contenido escrito original del usuario con contenido localizado. Sigue leyendo para conocer los modos de localización automática (IA) y manual (humana).
  • Content localization supported locales - la lista de idiomas que tu sitio soporta
  • Content localization crawler param - cubierto en la sección de rastreadores a continuación
  • Content localization language switcher - cubierto justo a continuación
Lista de idiomas en la configuración del sitio 📸

Selector de idioma

Habilitar la configuración posterior Content localization language switcher también te permite hacer tu comunidad más accesible para usuarios no conectados mostrando la lista de idiomas que has elegido en la lista de idiomas soportados:

Selector de idioma en la parte superior derecha de la página

Visualización de contenido localizado

Para los visualizadores de contenido localizado (todos los visitantes del sitio), pueden pasar el cursor sobre el indicador junto a la fecha de la publicación para ver el idioma original de la publicación. Este indicador solo aparece si la publicación no está en su idioma. Simplemente pueden hacer clic en el indicador para ver la publicación original también.

Para nuestros visualizadores multilingües conectados, pueden indicar que entienden varios idiomas, por lo que el contenido en esos idiomas no se traducirá.

Traducciones automáticas con Discourse AI :sparkles:

Discourse AI es esencial para la función de localización, y elimina la necesidad de hacer traducciones manuales.

Como administrador, querrás dirigirte a nuestra área dedicada en Discourse AI para Traducciones. Esta área dedicada cubre:

  • progreso de la traducción
  • configuración de IA
  • configuración del idioma de la aplicación

Para cubrir algunas configuraciones y recomendaciones importantes:

  • AI translation backfill hourly rate - esta configuración tiene un valor predeterminado de 50 - tu sitio traducirá 50 publicaciones, 50 temas, 50 categorías, 50 etiquetas por hora, a los idiomas que hayas establecido en Content localization supported locales. Mantén este número bajo al comenzar.
  • AI translation category scope - por defecto en Categorías públicas. Puedes cambiar esto a todas las categorías, o una selección específica.
  • AI translation personal messages y AI translation include bot content son autoexplicativos.
  • AI translation backfill start date - este valor está vacío por defecto. Si habilitas la función de traducción de IA “hoy”, la fecha se establece automáticamente en “hoy - 5 días”
  • AI translation post raw translator agent (y otros agentes) - En comunidades más formales, los administradores pueden elegir crear su propio agente. Esto te permite establecer un prompt que esté más ajustado al idioma o vocabulario que prefieras.

Puedes consultar AI bot - Agents sobre cómo configurar agentes adecuados y ajustar prompts para cada función.

Localización manual

Dado que la localización es una función central en Discourse, proporcionamos la capacidad de completar y editar localizaciones manualmente en caso de que las traducciones automáticas con Discourse AI no estén disponibles.

Por defecto, los administradores y moderadores están configurados para editar localizaciones.

Actualmente, tenemos localizaciones para contenido de publicaciones, título de temas, nombre de categorías, descripción de categorías, nombre de etiquetas, descripción de etiquetas y barra lateral. Las siguientes secciones te mostrarán cómo funcionan.

Localización de categorías

Las categorías localizadas son visibles en las siguientes áreas, con el nombre y la descripción de la categoría localizados:

Lugares donde las categorías están localizadas 📸
  1. Página de inicio, barra lateral y menú desplegable de categorías
  1. Página de categorías
  1. Una categoría específica con subcategorías

Como administrador, deberías poder acceder a la configuración de categorías como de costumbre, y encontrar el nuevo elemento de navegación “Localizaciones” a la izquierda.

Edición de localizaciones de categorías en la configuración de categorías 📸

Localización de temas y publicaciones

En las capturas de pantalla anteriores de Localización de categorías, podrías haber notado que los títulos de los temas y los extractos están localizados.

Hay algunas configuraciones previas necesarias

  • Asegúrate de que tu usuario esté en content localization allowed groups
  • El botón addTranslation se añade automáticamente a post menu y post menu hidden items cuando Content localization enabled está activado. Esto permite que :globe_with_meridians: aparezca en el menú de la publicación para usuarios en content localization allowed groups.
  • Content localization allow author localization está habilitado por defecto, y permite a los autores de publicaciones localizar su propio contenido usando el mismo menú de publicación anterior.
configuración del menú de publicación

Edición de una publicación localizada

En caso de que el usuario esté viendo una publicación localizada y quiera editar la publicación, aparecerá un diálogo preguntando qué versión prefiere editar:

Aparecerá el compositor apropiado después de decidir.

Localización personalizada de la barra lateral

Las secciones de la barra lateral que son “visibles para todos” también muestran controles de traducción adicionales:

Rastreadores

Puedes permitir que los rastreadores vean tu sitio en los varios idiomas que has configurado en Content localization supported locales. La configuración del sitio reside en la sección “Content localization” como Content localization crawler param:

El resultado sería que los rastreadores pueden ver lo siguiente, donde cada idioma soportado tiene un hreflang correspondiente en la cabeza de cada tema:

Para prueba / verificación extra

Hemos probado esta función extensamente, y podemos confirmar que estamos siendo indexados correctamente después de introducir X números de idiomas soportados

FAQ

He configurado las cosas, pero la traducción automática aún no funciona para mí
Confirma si has configurado esto

  • Content localization supported locales tiene al menos un idioma
  • Content localization enabled está :check_mark:
    • Allow user locale está :check_mark: (habilitado por defecto)
    • Set locale from cookie está :check_mark:
  • Ai translation enabled está :check_mark:
  • Debes tener un LLM funcional configurado para cada agente de traducción

Si todo lo demás falla, puedes habilitar SiteSetting.ai_translation_verbose_logs.

¿Las traducciones automáticas se guardan, o se envían al LLM cada vez que alguien ve un tema?
Las traducciones se guardan, cada publicación solo se envía una vez por idioma y las traducciones se reutilizan.

Si mi foro soporta inglés y japonés (vía Content localization supported locales), y alguien escribe en español, ¿se traducirá su publicación?
Sí. Todos los temas y publicaciones se traducirán al inglés y japonés, independientemente del idioma escrito.

Si la publicación original se edita, ¿se vuelve a traducir?
Sí – con un máximo de 2 veces por día. Cuando se edita una publicación, se envía para su retraducción después de un retraso mayor de 5 minutos o el SiteSetting.editing_grace_period para tener en cuenta las ediciones ninja. Los usuarios autorizados en Content localization allowed groups tienen la opción de enviar una publicación para su retraducción inmediatamente.

¿Se eliminarán las traducciones si cambio el Agente o LLM?
No, las traducciones generalmente persistirán a través de los cambios de configuración a menos que se eliminen explícitamente usando el elemento del menú de publicación o el compositor de traducción.


25 Me gusta
Content Localization and Automatic Translations for Your Community
2 language site
Machine-translate messages so users can read without knowing sender's language
Anonymous user language selector for Discourse
Update or Replace Header Locale Selector for New Discourse Header (widgets-end-of-life) – Is Built-in Support Available?
Übersetzung wie hier auf Meta
Multilingual user feedback on Automatic Translations
Sharing approaches to using automation to send messages to members
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
This Meta Branded theme is special. Can I use it on my forum too?
Feature Request: Translation of FAQ/Terms of Service/Privacy
Using Discourse and LibreTranslate without AI
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