Le CLI Lingo.dev s’adapte aux projets comptant des milliers de clés de traduction et des dizaines de langues cibles grâce au traitement parallèle, à la traduction incrémentielle via le lockfile et à des options de traitement ciblé.
Traitement parallèle#
Le CLI répartit les tâches de traduction entre plusieurs workers exécutés en parallèle. Le niveau de concurrence par défaut est de 10 workers :
npx lingo.dev@latest runAugmentez le niveau de concurrence pour les projets d’envergure :
npx lingo.dev@latest run --concurrency 20Pour un projet de 50 fichiers dans 10 langues (soit 500 tâches de traduction), le traitement parallèle les exécute simultanément au lieu de les traiter séquentiellement. Consultez Parallel Processing pour en savoir plus sur l’architecture des workers.
Traitement ciblé#
Traitez des sous-ensembles précis plutôt que l’ensemble du projet :
# Specific languages
npx lingo.dev@latest run --target-locale es --target-locale fr
# Specific file format
npx lingo.dev@latest run --bucket json
# Specific files
npx lingo.dev@latest run --file components/header
# Specific keys
npx lingo.dev@latest run --key welcome.titleCes options peuvent être combinées — --force --bucket json --target-locale es retraduit tout le contenu JSON en espagnol uniquement.
Intégration CI/CD#
Automatisez la traduction à chaque push avec GitHub Actions :
name: Lingo.dev Localization
on:
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
localize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}Le lockfile garantit que seul le contenu modifié est traduit, ce qui permet de garder des exécutions CI rapides, même sur les grands projets.
Organisation par buckets#
Séparez les types de contenu dans des buckets distincts pour un traitement ciblé :
{
"buckets": {
"json": {
"include": ["src/locales/[locale].json"]
},
"markdown": {
"include": ["docs/[locale]/*.md"]
}
}
}Vous pouvez ainsi traiter séparément la documentation et le contenu de l’application : --bucket markdown traduit uniquement la documentation.
