|
Documentation
Réserver une démoPlateforme
PlateformeMCPCLIAPIWorkflows
Guides
Changelog

Localisation

  • Aperçu
  • API de traduction
  • Localisation d’applications web
  • Localisation d’apps mobiles
  • iOS avec String Catalogs
  • Android avec strings.xml
  • Localisation des e-mails
  • Contenu statique (ex. : .md, .json)
  • Next.js avec Markdoc
  • Rails avec i18n

Workflows

  • Configurer un moteur avec le MCP
  • Triage Jira
  • CI/CD

Localisation de contenu statique

La CLI Lingo.dev traduit les fichiers statiques de votre dépôt — Markdown, MDX, Markdoc, JSON, YAML, sous-titres et plus encore — via un moteur de localisation configuré. Pointez-la vers votre contenu, lancez une seule commande et récupérez les fichiers traduits à côté des originaux.

Types de contenu pris en charge#

Type de contenuFormatBucket CLIExemple de chemin
DocumentationMarkdownmarkdowndocs/[locale]/getting-started.md
DocumentationMDXmdxdocs/[locale]/getting-started.mdx
DocumentationMarkdocmarkdocdocs/[locale]/getting-started.mdoc
Données structuréesJSONjsondata/[locale].json
Données structuréesYAMLyamldata/[locale].yaml
Articles de blogMarkdown / MDXmarkdown / mdxblog/[locale]/post-slug.md
Sous-titresSRTsrtsubs/[locale]/intro.srt
Sous-titresVTTvttsubs/[locale]/intro.vtt
Feuilles de calculCSVcsv-per-localedata/[locale].csv
Chaînes de configurationPropertiespropertieslang/[locale].properties
Chaînes de configurationGettext POpolocale/[locale]/messages.po
Texte brutTXTtxtcontent/[locale]/readme.txt

Prérequis#

Chaque exécution de la CLI fait passer votre contenu par un moteur de localisation : c’est lui qui détermine le modèle LLM, le glossaire, la voix de marque et les instructions à appliquer. Créez-en un dans le tableau de bord Lingo.dev et générez une clé API.

Sites de documentation#

La plupart des frameworks de documentation organisent les contenus traduits dans des répertoires dédiés par langue. Les buckets markdown, mdx et markdoc de la CLI traduisent ces fichiers tout en préservant le frontmatter, les blocs de code et la syntaxe des composants.

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "markdown": {
      "include": ["docs/[locale]/getting-started.md"]
    },
    "mdx": {
      "include": ["docs/[locale]/setup.mdx"]
    }
  }
}

Ajustez le motif include pour qu’il corresponde à la convention de répertoires de votre framework :

FrameworkConvention de répertoire par langueRéférence
Docusaurusi18n/[locale]/docusaurus-plugin-content-docs/current/Guide i18n de Docusaurus
NextraPages par langue ou dictionnaires JSONDocumentation Nextra
Hugocontent/[locale]/Guide multilingue de Hugo
Astrosrc/content/[locale]/ ou dictionnaires JSONGuide i18n d’Astro
VitePressPréfixe de répertoire [locale]/i18n de VitePress
MkDocsdocs/ par langue avec le plugin i18nPlugin i18n de MkDocs

Composants MDX

Le bucket mdx préserve la syntaxe des composants JSX pendant la traduction. Les composants personnalisés comme <Callout>, <Tabs> et <CodeBlock> restent inchangés : seul le texte qu’ils contiennent est traduit.

Données structurées#

Les fichiers JSON et YAML se traduisent avec les buckets json et yaml. Utilisez des clés verrouillées pour éviter que les valeurs non traduisibles (ID, URL, indicateurs de configuration) ne soient modifiées.

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "json": {
      "include": ["content/[locale].json"],
      "lockedKeys": ["id", "slug", "url"]
    },
    "yaml": {
      "include": ["data/[locale].yaml"]
    }
  }
}

Pour les fichiers YAML qui utilisent le code de langue comme clé racine — un cas fréquent dans Rails et Hugo — utilisez plutôt le bucket yaml-root-key : il lit la clé de langue source et écrit les clés des langues cibles dans le même fichier.

Sous-titres#

Les fichiers de sous-titres SRT et VTT se traduisent avec les buckets srt et vtt. La CLI préserve toutes les données de timing, les indices de repère et les balises de formatage : seul le contenu textuel est traduit.

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "srt": {
      "include": ["subs/[locale]/intro.srt"]
    }
  }
}

Gérer des volumes de contenu importants#

Les dépôts de contenu statique peuvent contenir des milliers de fichiers. La CLI gère cela efficacement grâce à trois mécanismes :

MécanismeComment ça aide
LockfileSuit les empreintes SHA-256 du contenu source. Lors des exécutions suivantes, seuls les fichiers nouveaux ou modifiés déclenchent une traduction.
Traitement parallèleRépartit la traduction entre plusieurs workers en parallèle. À configurer avec run --concurrency 20.
Exécutions cibléesTraitez un bucket ou une langue spécifique : run --bucket markdown ou run --target-locale es.

Étapes suivantes#

Formats pris en charge
Référence complète des plus de 25 formats de fichiers que la CLI peut traduire
Verrouillage des clés
Empêchez la traduction de certaines valeurs
Workflows CI/CD
Automatisez la traduction de contenu statique à chaque push
Lockfile
Comprendre le fonctionnement du suivi incrémental des traductions

Cette page vous a-t-elle été utile ?

Max PrilutskiyMax Prilutskiy·Mis à jour il y a 4 mois·3 min de lecture