Aller au contenu
Sonenta

Guide · CI

Attrapez les problèmes i18n à chaque pull request

Sonenta évalue l'impact i18n d'une pull request, clés mal structurées, chaînes en dur, placeholders manquants et candidats de qualité de traduction, et les signale directement sur le diff. C'est indicatif par défaut, avec l'option de bloquer une pull request sur de vraies erreurs de structure.

Ce que ça vérifie

Sur les fichiers qu'une pull request modifie :

Disponible aujourd'hui : la commande sonenta ci

sonenta ci est livrée dans @sonenta/cli et tourne hors-ligne. Pointez-la sur une ref de base et elle imprime un rapport prêt pour la pull request.

terminal
1npx @sonenta/cli ci --base origin/main --source-lang en

Options : --base <ref> (défaut : la base de la PR, sinon origin/main), --source-lang <code> (active le check same-as-source), --strict (sort non-zéro quand le statut est FAIL), --format markdown|json, --out <file>, --dir <path>, --src <dir>.

Branchez-la dans une GitHub Action :

.github/workflows/i18n.yml
1name: i18n2on: pull_request3jobs:4  i18n:5    runs-on: ubuntu-latest6    steps:7      - uses: actions/checkout@v48        with:9          fetch-depth: 010      - uses: actions/setup-node@v411        with:12          node-version: 2013      - run: npx @sonenta/cli ci --base "origin/${{ github.base_ref }}" --source-lang en

Hors-ligne, donc aveugle au glossaire

sonenta ci n'a pas accès à votre glossaire Sonenta, donc les checks de qualité (same_as_source, looks_like_raw_key) peuvent signaler à tort des termes gardés en source (marques, noms propres). Ils sont indicatifs et ne font jamais échouer le build. L'autorité pour la qualité de traduction est validate_translations (en ligne, conscient du glossaire) ; lancez-le avant de publier.

L'App GitHub hébergée (bientôt disponible)

Pas encore publiquement disponible. L'App Sonenta i18n hébergée n'est pas encore sur le GitHub Marketplace et l'installation self-serve n'est pas ouverte. Cette section décrit son fonctionnement ; la disponibilité générale sera confirmée ici à son ouverture.

L'App hébergée poste un Check Run GitHub natif sur chaque pull request, avec des annotations inline au fichier et à la ligne exacts, et gère les modes indicatif et bloquant. Elle demande ces permissions sur le dépôt : Contents (lecture), Checks (lecture et écriture) et Pull requests (lecture et écriture), et s'abonne à l'événement Pull request.

Configurer avec .sonenta/ci.json

Ajoutez un fichier .sonenta/ci.json à la racine de votre dépôt (il est lu sur le HEAD de la pull request) :

.sonenta/ci.json
1{ "project_id": "<your Sonenta project UUID>" }

Aucun autre champ n'est lu.

Indicatif ou bloquant

Par défaut le check est indicatif : les résultats apparaissent en annotations et le Check Run conclut neutral, donc une pull request n'est jamais bloquée. Pour exiger un check de structure au vert, activez Bloquer les pull requests sur les erreurs de structure i18n pour le projet, dans le dashboard client sous GitHub CI. Seul le check structurel peut bloquer ; les résultats de qualité, chaînes en dur et placeholders restent toujours indicatifs.

À quoi ressemble le résultat

Un Check Run nommé Sonenta i18n avec un titre, un résumé et des annotations inline, une par résultat au fichier et à la ligne. Niveaux d'annotation : structurel = failure quand le blocage est activé, sinon warning ; qualité et chaînes en dur = warning. Le run conclut failure (erreur structurelle avec blocage activé), neutral (résultats indicatifs seulement) ou success (rien trouvé).

Voir un check réel sur une pull request publique

Suite