Markdown

Traduction IA pour les fichiers Markdown avec Lingo.dev CLI

Qu'est-ce que Markdown ?

Markdown est un langage de balisage léger qui utilise une syntaxe de formatage en texte brut pour créer des documents structurés. Il est largement utilisé pour la documentation, les fichiers README, les blogs et les systèmes de gestion de contenu.

Par exemple :

---
title: "Product Launch Guide"
description: "Everything you need to know about our latest product features"
author: "Product Team"
---

# Welcome to Our New Dashboard

Discover powerful new features designed to streamline your workflow and boost productivity.

## Getting Started

Follow these simple steps to set up your account and begin using our platform effectively.

![Dashboard overview screenshot](image.jpg)

Qu'est-ce que Lingo.dev CLI ?

Lingo.dev CLI est un CLI gratuit et open source pour traduire des applications et du contenu avec l'IA. Il est conçu pour remplacer les logiciels de gestion de traduction traditionnels tout en s'intégrant aux pipelines existants.

Pour en savoir plus, consultez Présentation.

À propos de ce guide

Ce guide explique comment traduire des fichiers Markdown avec Lingo.dev CLI.

Vous apprendrez à :

  • Créer un projet à partir de zéro
  • Configurer un pipeline de traduction
  • Générer des traductions avec l'IA

Prérequis

Pour utiliser Lingo.dev CLI, assurez-vous que Node.js v18+ est installé :

❯ node -v
v22.17.0

Étape 1. Configurer un projet

Dans le répertoire de votre projet, créez un fichier i18n.json :

{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.10",
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {}
}

Ce fichier définit le comportement du pipeline de traduction, notamment les langues entre lesquelles traduire et l'emplacement du contenu localisable sur le système de fichiers.

Pour en savoir plus sur les propriétés disponibles, consultez i18n.json.

Étape 2. Configurer la locale source

La locale source est la langue et la région d'origine dans lesquelles votre contenu a été rédigé. Pour configurer la locale source, définissez la propriété locale.source dans le fichier i18n.json :

{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.10",
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {}
}

La locale source doit être fournie sous forme de balise de langue BCP 47.

Pour la liste complète des codes de locale pris en charge par Lingo.dev CLI, consultez Codes de locale pris en charge.

Étape 3. Configurer les locales cibles

Les locales cibles sont les langues et régions vers lesquelles vous souhaitez traduire votre contenu. Pour configurer les locales cibles, définissez la propriété locale.targets dans le fichier i18n.json :

{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.10",
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {}
}

Étape 4. Créer le contenu source

Si ce n'est pas déjà fait, créez un ou plusieurs fichiers Markdown contenant le contenu à traduire. Ces fichiers doivent être situés dans un chemin qui inclut la locale source quelque part dans le chemin (par exemple, comme nom de répertoire tel que en/ ou comme partie du nom de fichier tel que messages.en.md).

Étape 5. Créer un bucket

  1. Dans le fichier i18n.json, ajoutez un objet "markdown" à l'objet buckets :

    {
      "$schema": "https://lingo.dev/schema/i18n.json",
      "version": "1.10",
      "locale": {
        "source": "en",
        "targets": ["es"]
      },
      "buckets": {
        "markdown": {}
      }
    }
    
  2. Dans l'objet "markdown", définissez un tableau d'un ou plusieurs motifs include :

    {
      "$schema": "https://lingo.dev/schema/i18n.json",
      "version": "1.10",
      "locale": {
        "source": "en",
        "targets": ["es"]
      },
      "buckets": {
        "markdown": {
          "include": ["./[locale]/example.md"]
        }
      }
    }
    

    Ces motifs définissent quels fichiers traduire.

    Les motifs eux-mêmes :

    • doivent contenir [locale] comme espace réservé pour la locale configurée
    • peuvent pointer vers des chemins de fichiers (par exemple, "[locale]/docs.md")
    • peuvent utiliser des astérisques comme espaces réservés génériques (par exemple, "[locale]/*.md")

    Les motifs glob récursifs (par exemple, **/*.md) ne sont pas pris en charge.

Étape 6. Configurer un LLM

Lingo.dev CLI utilise des modèles de langage de grande taille (LLM) pour traduire le contenu avec l'IA. Pour utiliser l'un de ces modèles, vous avez besoin d'une clé API d'un fournisseur pris en charge.

Pour démarrer le plus rapidement possible, nous recommandons d'utiliser Lingo.dev Engine — notre propre plateforme hébergée qui offre 10 000 tokens d'utilisation mensuelle gratuite :

  1. Créez un compte Lingo.dev.

  2. Exécutez la commande suivante :

    npx lingo.dev@latest login
    

    Cela ouvrira votre navigateur par défaut et vous demandera de vous authentifier.

  3. Suivez les instructions.

Étape 7. Générer les traductions

Dans le répertoire qui contient le fichier i18n.json, exécutez la commande suivante :

npx lingo.dev@latest run

Cette commande :

  1. Lit le fichier i18n.json.
  2. Trouve les fichiers qui doivent être traduits.
  3. Extrait le contenu traduisible des fichiers.
  4. Utilise le LLM configuré pour traduire le contenu extrait.
  5. Écrit le contenu traduit dans le système de fichiers.

La première fois que les traductions sont générées, un fichier i18n.lock est créé. Ce fichier garde une trace du contenu qui a été traduit, évitant ainsi les retraductions inutiles lors des exécutions suivantes.

Exemple

en/example.md

---
title: "Product Launch Guide"
description: "Everything you need to know about our latest product features"
author: "Product Team"
date: 2024-01-15
tags: ["apples", "bananas", "pears"]
---

# Welcome to Our New Dashboard

Discover powerful new features designed to streamline your workflow and boost productivity.

## Getting Started

Follow these simple steps to set up your account and begin using our platform effectively.

---

Our advanced analytics help you make data-driven decisions with confidence.

![Dashboard overview screenshot](image.jpg)

The intuitive interface makes it easy to navigate between different features and tools.

[View documentation](https://example.com)

Need help getting started? Our support team is available 24/7 to assist you.

***

Join thousands of satisfied customers who have transformed their business with our platform.

es/example.md

---
title: Guía de lanzamiento de producto
description: Todo lo que necesitas saber sobre las últimas características de
  nuestro producto
author: Equipo de producto
date: 2024-01-15
tags:
  - apples
  - bananas
  - pears
---

# Bienvenido a nuestro nuevo panel de control

Descubre nuevas y potentes funciones diseñadas para optimizar tus flujos de trabajo y aumentar la productividad.

## Primeros pasos

Sigue estos sencillos pasos para configurar tu cuenta y comenzar a utilizar nuestra plataforma de manera efectiva.

---

Nuestros análisis avanzados te ayudan a tomar decisiones basadas en datos con confianza.

![Captura de pantalla de la visión general del panel](image.jpg)

La interfaz intuitiva facilita la navegación entre diferentes funciones y herramientas.

[Ver documentación](https://example.com)

¿Necesitas ayuda para empezar? Nuestro equipo de soporte está disponible 24/7 para asistirte.

---

Únete a miles de clientes satisfechos que han transformado su negocio con nuestra plataforma.

i18n.json

{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.10",
  "locale": {
    "source": "en",
    "targets": ["es"]
  },
  "buckets": {
    "markdown": {
      "include": ["./[locale]/example.md"]
    }
  }
}

i18n.lock

version: 1
checksums:
  eed9ef23a605b747d38b8916cee1d500:
    md-section-0: d53f61b8c8922fb62d9df5678d9b44a8
    md-section-1: 98aec271471bedce0e12b530c7060827
    md-section-2: 9e5a786192608844493dfbb6e4100886
    md-section-3: 1a5299c38bb20c1b8af0e64e33d7b2b0
    md-section-4: 51adf33450cab2ef392e93147386647c
    md-section-5: e56cc804e3e06b5f5fb2484e88c18adc
    md-section-6: 0ea86a3338305070c865e8fe138da890
    md-section-7: bbabf7f391569a72099001e3d81eb251
    md-section-8: 36cbfd93f42528edce4faac2ac3c2c12
    md-section-9: a1c50054ab23d70be8d453789b214580
    md-section-10: 51adf33450cab2ef392e93147386647c
    md-section-11: cb596c9608828f7b87a0ab8fa37beb07
    fm-attr-title: f3469c4e3d3377c39a705c844930b3a5
    fm-attr-description: 2e988d98001e44997a3f5fa3fb487ca6
    fm-attr-author: ec8c8711fce61265a4fe296ce2ba3b6f
    fm-attr-tags: 313ac6f17ee08e4f4a6a2ca95e5ae024