Reemplazando la torre de Babel:
herramientas para documentos multilingües en R
rOpenSci

Maëlle Salmon, Yanina Bellini Saibene, Paola Corrales, Elio Campitelli

https://maelle-latinr24.netlify.app

Lighthouse at Le Conquet, Brittany, France.

Lighthouse at Le Conquet, Brittany, France.

Nuestra motivación

La publicación de recursos multilingües puede reducir la barrera de acceso al conocimiento, ayudar a democratizar el acceso a recursos de calidad y aumentar las posibilidades de contribuir a proyectos de software y ciencia abierta.

Nuestros objetivos

Traducir el material de rOpenSci más allá de la lengua inglesa: español, portugués.

  • mejores prácticas para el desarrollo de software,
  • revisión de código
  • contribución a proyectos de código abierto

Desarrollar y documentar nuestros procesos.

Qué necesitamos para la obra?

Lo que teniamos al principio

  • Un guía como libro Quarto;

  • Interés por usar DeepL API;

  • Uso de Git y GitHub para colaborar.

Lo que nos faltaba

  • Manera de publicar un libro Quarto multilingüe;

  • Manera de usar DeepL API para traducir Markdown.

Libro Quarto multilingüe: {babelquarto}

Primero nos aseguramos que no seria nativo a Quarto muy pronto: https://github.com/quarto-dev/quarto-cli/issues/275

Nuestro primero libro Quarto multilingüe

https://devguide.ropensci.org

Captura de pantalla del dev guide rOpenSci

Libros multilingües con {babelquarto}

Cada capítulo: filepath.qmd y filepath.es.qmd.

  • babelquarto::register_main_language("en")

  • babelquarto::register_further_languages(c("es", "pt"))

  • babelquarto::render_book()

_quarto.yml

Con la ayuda de babelquarto::register_,

babelquarto:
  languagelinks: sidebar
  languagecodes:
  - name: es
    text: "Version in es"
  - name: en
    text: "Version in en"
  mainlanguage: 'en'
  languages: ['es']
title-es: title in es
description-es: description in es
author-es: author in es
lang: en

Sitios web multilingües con {babelquarto}

https://www.joelnitta.com/

Captura de pantalla del sitio web de Joel Nitta en japonés

Cómo funciona {babelquarto}

  • Construye los dos sitios.

  • Añade los enlaces con {xml2}: XPath para modificar HTML.

Más sobre {babelquarto}

https://docs.ropensci.org/babelquarto/

¡Grácias al autor Pascal Burkhard! Grácias también a las otras personas que contribuyeron.

Cómo traducir Markdown

  • Traducir Markdown desde cero? 😭

  • Copiar y pegar en DeepL o Google Translate? 😭

  • Usar babeldown y después revisión por humanos! 🎉

Traducir Markdown con {babeldown}

  • Respecta el formato Markdown.

  • Envia texto a la API de DeepL.

Usar {babeldown}

  • Registra con DeepL.

  • Hello World.

Sys.setenv(DEEPL_API_KEY = keyring::key_get("deepl"))
babeldown::deepl_translate_markdown_string(
  "Je suis *ravie* de participer à **LatinR**.",
  source_lang = "fr",
  target_lang = "es",
  formality = "less"
)
[1] "Yo soy *encantado* formar parte de **LatinR**."

Cómo funciona {babeldown}

  • Transforma Markdown en XML usando {tinkr} ({commonmark} + {xml2} + {xslt}).
  • Protege algunas cosas (Hugo shortcodes).
  • Envia XML a la API de DeepL.
  • Envia también fragmentos de YAML a la API de DeepL.
  • Crea Markdown de nuevo.

Usar babeldown, con git y GitHub (1/3)

Diagrama de dos partes. A la izquierda una carpeta de hojas de Hugo en la rama new-post con el artículo en español con el texto 'Hola' y una imagen; a la derecha la carpeta de hojas de Hugo en la misma rama con el post en español con el texto 'Hola', el post con el nombre de archivo de destino en inglés con el texto 'Hola', y la imagen.

Usar babeldown, con git y GitHub (2/3)

Diagrama con dos partes. A la izquierda la carpeta de hojas de Hugo en la rama de auto-translate con el artículo en español con el texto 'Hola', el post con el nombre de archivo de destino en inglés con el texto 'Hola', y la imagen; a la derecha lo único que cambió es que el contenido del post con el nombre de archivo de destino en inglés es ahora 'Hello'.

Usar babeldown, con git y GitHub (3/3)

Dibujo del pull request de la rama auto-translate a la rama new-post donde la diferencia es que ahora se ha traducido al inglés el contenido de la entrada con el nombre de archivo de destino en inglés.

Más sobre nuestras herramientas

¡Participa!

https://maelle-latinr24.netlify.app

Fotos