|
Documentation
Réserver une démoPlateforme
PlateformeMCPCLI
APIWorkflows
GuidesChangelog

Vue d’ensemble

  • @lingo.dev/cli

Premiers pas

  • Démarrage rapide
  • Configuration

Référence

  • lingo push
  • lingo pull
  • Autres commandes
  • lingo purge

Configuration

  • Contrôle des clés
  • Formats
  • Langues

Guides

  • Ajouter une langue
  • Traductions existantes
  • Retraduction
  • Notes pour le traducteur
  • Exécutions, état et reprise
  • CI/CD
  • Monorepos
  • Grands projets

Vous cherchez l’ancien CLI (v0) ? Voir la documentation du CLI historique

Formats

Le CLI prend en charge six formats de fichier. Le format est déduit de l’extension du fichier ; pour le remplacer, définissez format sur une entrée files[].

FormatExtensionsValeur de formatNotes
JSON.jsonjsonPaires clé-valeur. Prend en charge les contrôles de clé.
JSONC.jsoncjsoncJSON avec commentaires. Les commentaires sont conservés et font aussi office de notes pour les traducteurs.
Markdown.mdmdLa prose est traduite ; le frontmatter doit être activé explicitement.
MDX.mdxmdxMarkdown + JSX. Les props des composants doivent être activées explicitement.
Markdoc.mdocmarkdocMarkdown + balises. Frontmatter + attributs de balise.
OpenAPI YAML.yamlyaml-openapiSpécifications OpenAPI. Définissez toujours format explicitement.

Voir le fonctionnement de bout en bout

Le projet de démonstration inclut un fichier par format, avec la configuration exacte nécessaire pour chacun. Clonez-le avec npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo et lancez un push.

bash
npx degit lingodotdev/lingo.dev/demo/new-cli my-lingo-demo
cd my-lingo-demo

JSON et JSONC#

Traduction simple en clé-valeur. Chaque valeur de chaîne est traduite, sauf si un contrôle de clé indique le contraire.

json
{ "pattern": "content/en/app.json", "lockedKeys": ["meta.version"] }

JSONC conserve aussi les commentaires, que le moteur interprète comme du contexte — voir les notes pour les traducteurs.

json
{ "pattern": "content/en/settings.jsonc", "preservedKeys": ["featureFlags"] }

Markdown, MDX et Markdoc#

Le texte du corps est traduit par défaut. Le frontmatter et les composants intégrés ne sont pas traduits, sauf si vous les activez explicitement.

Frontmatter#

Listez les champs de frontmatter à traduire avec translateFrontmatterFields :

json
{
  "pattern": "content/en/guide.md",
  "translateFrontmatterFields": ["title", "description"]
}

Props des composants MDX#

Avec MDX, vous pouvez traduire des props spécifiques sur des composants précis avec translateComponentProps :

json
{
  "pattern": "content/en/landing.mdx",
  "translateFrontmatterFields": ["title"],
  "translateComponentProps": [{ "component": ["Hero", "Callout"], "props": ["title", "body"] }]
}

Cela traduit les props title et body sur <Hero> et <Callout>, et laisse toutes les autres props inchangées.

Markdoc#

Markdoc fonctionne comme Markdown, avec conservation du frontmatter et des attributs de balise :

json
{
  "pattern": "content/en/changelog.mdoc",
  "translateFrontmatterFields": ["title"]
}

OpenAPI YAML#

Le YAML générique étant ambigu, les spécifications OpenAPI nécessitent un format explicite :

json
{ "pattern": "content/en/api.yaml", "format": "yaml-openapi" }

Le moteur traduit les champs destinés aux utilisateurs (résumés, descriptions) et laisse intactes les clés de schéma, les chemins et les identifiants d’opération.

Chemins de sortie#

Les cibles sont écrites en remplaçant le segment de langue du motif source — content/en/app.json → content/de/app.json. Conservez la langue source dans le chemin pour que le CLI sache où écrire les cibles. Voir Configuration.

Vous venez de l’ancien CLI ?#

L’ancien CLI prenait en charge ~25 formats (CSV, PO, XLIFF, chaînes Android/Xcode, Flutter ARB, HTML, etc.). La prise en charge de ces formats est ajoutée au CLI actuel en fonction de l’usage ; en attendant que le vôtre arrive, la documentation du legacy CLI le couvre.

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

Max PrilutskiyMax Prilutskiy·Mis à jour il y a environ 8 heures·2 min de lecture