Compartir traducciones de tema (componente)

:information_source: Resumen Ayuda a traducir temas y componentes de temas compartiendo fácilmente las traducciones realizadas en la interfaz de Discourse
:eyeglasses: Vista previa Compartir temas en el creador de temas actualmente no es posible
:hammer_and_wrench: Repositorio GitHub - moin-Jana/share-theme-translations
:question: Guía de instalación Cómo instalar un tema o un componente de tema
:open_book: ¿Nuevo en los temas de Discourse? Guía para principiantes sobre el uso de temas de Discourse

Instalar este componente de tema

Discourse facilita la traducción de temas y componentes de temas. Sin embargo, estas traducciones a menudo permanecen solo en tu sitio local.
Este componente te ayuda a compartir tus traducciones con la comunidad y el autor mediante una solicitud de extracción (pull request) al repositorio o publicándolas en el tema aquí en Meta.


Cómo funciona

Este componente agrega una sección debajo de la interfaz de traducción cuando un tema o componente remoto contiene textos traducibles. Desde allí, puedes abrir un modal que te ayuda a compartir tus traducciones de varias maneras.

:warning: Nota sobre las ramas predeterminadas
El componente asume que la rama predeterminada del repositorio se llama main. Si el repositorio usa un nombre diferente (como master), algunos enlaces podrían no funcionar correctamente y podrían requerir ajustes manuales.

Crear nuevos archivos de traducción en GitHub

Si el tema está alojado en GitHub y el idioma aún no tiene un archivo de traducción, el botón:

  • abrirá el editor de GitHub con la ruta correcta (por ejemplo, locales/de.yml)
  • prellenará el editor con tus traducciones, correctamente formateadas
  • incluirá descripciones y configuraciones del tema (opcional)

Las descripciones no se pueden traducir en la interfaz de Discourse, pero puedes editarlas directamente en el editor de GitHub antes de guardar. Si no deseas traducirlas, también puedes desmarcar la casilla para excluirlas.

Pasos detallados
  1. Después de traducir, haz clic en el botón para abrir el modal
  2. Haz clic en “Crear solicitud de extracción”
  3. Haz un fork del repositorio
  4. El editor se abrirá con tus traducciones prellenadas. Si lo deseas, puedes traducir las descripciones directamente en el archivo.

    Cuando desactivas la casilla para excluir descripciones, estas no se incluirán, lo que simplifica el texto en el editor.
  5. Cuando estés listo, haz clic en “Confirmar cambios…”, luego en “Proponer cambios” y finalmente en “Crear solicitud de extracción” (dos veces).
  6. :partying_face: ¡Eso es todo! Has compartido tus traducciones.

Mejorar y agregar traducciones en GitHub

Incluso si ya existe una traducción para tu idioma, aún puedes mejorarla y agregar traducciones faltantes. Este proceso es un poco menos fluido. El botón:

  • abrirá el editor de GitHub con la ruta correcta (por ejemplo, locales/en_GB.yml)
  • en lugar de prellenar el editor de GitHub, las traducciones se copiarán a tu portapapeles para que puedas pegarlas fácilmente.
  • incluir información adicional como la descripción del tema y las configuraciones es posible si el idioma de tu interfaz coincide con el idioma de las traducciones que estás editando. De lo contrario, el componente no podrá obtener las descripciones en el idioma correcto y estas se excluirán; solo copiarás los textos traducidos. En ese caso, asegúrate de no sobrescribir las descripciones al pegar tus cambios. El componente te advertirá antes, por lo que podrás cambiar fácilmente el idioma de tu interfaz e incluir las descripciones.
Pasos detallados
  1. Cuando el idioma de tu interfaz no coincide con el idioma de la traducción (en este caso, mi idioma de interfaz es inglés estadounidense y estoy traduciendo al inglés británico), tienes dos opciones:

    A. Cambia el idioma de tu interfaz antes de abrir el modal
    B. Continúa y abre el modal sin cambiar el idioma.
  2. Verás el modal resaltando tus ediciones
    A. Si el idioma de tu interfaz también es el idioma al que traduces, puedes optar por excluir las descripciones usando la casilla

    B. De lo contrario, la casilla estará desactivada.
  3. Haz clic en “Copiar y abrir GitHub” y haz un fork del repositorio
  4. Verás el editor con las traducciones actualmente guardadas en GitHub.
    A. Si se incluyeron descripciones, simplemente puedes reemplazar todo el contenido del archivo.

    B. Si no cambiaste tu configuración regional o desmarcaste la casilla, solo se copiaron las traducciones del tema. Por lo tanto, reemplaza solo esas con tus traducciones. Asegúrate de que todo esté correctamente indentado.
  5. También puedes editar las descripciones. Cuando estés listo, haz clic en “Confirmar cambios…”, luego en “Proponer cambios” y finalmente en “Crear solicitud de extracción” (dos veces).
  6. :partying_face: ¡Eso es todo! Has compartido tus traducciones.

:warning: Algunos componentes de temas utilizan una plataforma de traducción para las traducciones. Por ejemplo, muchos componentes official se traducen en Crowdin. Esos archivos tienen una advertencia en la parte superior que te indica dónde puedes contribuir con tus traducciones en su lugar.

Compartir traducciones en Meta

Cuando no tienes una cuenta de GitHub y el enlace al tema de Meta está disponible, también puedes publicar tus traducciones allí y pedirle al autor que las incluya en la próxima actualización. Al hacer clic en “Copiar y abrir Meta”, se formatearán tus traducciones, se copiarán a tu portapapeles y se abrirá el tema de Meta en una nueva pestaña. Luego, simplemente haz clic en Responder y pega las traducciones formateadas que se copiaron para ti.

Pasos detallados
  1. Después de traducir, haz clic en el botón para abrir el modal.
  2. Haz clic en “Copiar y abrir Meta”.
  3. Haz clic en “Responder” para abrir el compositor y pegar tus traducciones.
  4. Si no excluiste las descripciones, puedes editarlas directamente antes de publicar tus traducciones.
  5. :partying_face: Has compartido tus traducciones

Si no se proporcionó un enlace al tema de Meta, puedes copiar las traducciones y buscar el tema relevante manualmente. No olvides el formato de tu publicación en ese caso.

Compartir traducciones en otras plataformas

Si el tema está alojado en GitLab u otra plataforma, tus traducciones se copiarán a tu portapapeles y el repositorio se abrirá en una nueva pestaña. A diferencia de GitHub, GitLab no admite contenido prellenado en la URL para el editor de archivos. Por lo tanto, necesitarás pegar las traducciones manualmente, incluso para archivos nuevos.
No investigué cómo se construyen los enlaces para editar archivos en otras plataformas. Por lo tanto, en ese caso, serás llevado al archivo o directorio en el repositorio y tendrás que averiguar cómo crear o editar un archivo por tu cuenta.

Configuración

Este componente incluye una configuración: hide_texts
Oculta la explicación introductoria y muestra un mensaje más corto que se muestra cuando el idioma de tu interfaz no coincide con el idioma al que estás traduciendo.

Reflexiones para el futuro

Actualmente, el componente no puede detectar si un tema se traduce externamente, por ejemplo, a través de Crowdin. Esto sería técnicamente posible si el archivo about.json incluyera un campo opcional translation_url, al igual que ya puede incluir una licencia o un enlace al tema meta. Por ejemplo:

"translation_url": "https://discourse.crowdin.com/discotoc"

Con esto en su lugar, el componente podría:

  • ocultar el botón de compartir cuando las traducciones se gestionen en otro lugar
  • mostrar un mensaje que explique dónde contribuir en su lugar
  • evitar solicitudes de extracción innecesarias o confusión

Esto no solo ayudaría a este componente; sería útil en general para que los administradores encuentren dónde contribuir con traducciones.

11 Me gusta

Increíble trabajo, Moin. Gracias por construir esto. :astronauta: :aplausos:

6 Me gusta