better-i18n Publish Pipeline : CDN & GitHub Deployment
Prévisualisez les modifications en attente, puis déployez vers CDN ou GitHub avec une seule commande. Suivez chaque sync job du début à la fin.
better-i18n Publish Pipeline : CDN & GitHub Deployment
better-i18n sépare l'édition du deployment. Vous créez et mettez à jour les traductions librement — rien n'est mis en ligne jusqu'à ce que vous publiiez explicitement. Lorsque vous le faites, les modifications sont déployées vers votre endpoint CDN et/ou votre repository GitHub sous forme de sync job tracé.
Cette page explique le fonctionnement de la Publish Pipeline, ce que vous pouvez surveiller et comment intégrer la publication dans votre flux de travail.
Fonctionnement de la publication
1. Prévisualiser les modifications en attente
Avant de publier, examinez exactement ce qui sera déployé :
// MCP tool: getPendingChanges
{
"project": "your-org/your-project"
}
Retourne :
- hasPendingChanges — Si quelque chose est en file d'attente
- summary — Nombre de traductions, keys supprimés, total des modifications
- byLanguage — Répartition par code de langue
- deletedKeys — Keys qui seront définitivement supprimés
- publishDestination —
"github","cdn"ou"none"
2. Publier
Déployez toutes les modifications en attente ou des traductions spécifiques :
// MCP tool: publishTranslations
{
"project": "your-org/your-project"
}
// Ou publiez des traductions spécifiques
{
"project": "your-org/your-project",
"translations": [
{ "keyId": "uuid-1", "languageCode": "tr" },
{ "keyId": "uuid-2", "languageCode": "de" }
]
}
La publication est asynchrone — elle retourne immédiatement les IDs de sync job.
3. Suivre le deployment
Surveiller la progression du sync job :
// MCP tool: getSync
{
"project": "your-org/your-project",
"syncId": "sync-job-uuid"
}
Retourne le statut (pending, in_progress, completed, failed), les horodatages, les logs et les keys affectés.
Destinations de publication
CDN Deployment
Les traductions sont déployées sur le réseau edge de Cloudflare :
https://cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json
Votre application récupère les traductions depuis cet endpoint. Les mises à jour sont en ligne dans les secondes suivant une publication réussie — aucun redéploiement de l'application n'est nécessaire.
GitHub Deployment
Si vous avez connecté un repository GitHub, la publication crée une pull request ou pousse directement vers votre branch configurée. Les fichiers de traduction sont mis à jour selon les patterns que vous avez configurés (ex. : locales/**/*.json).
- Vous contrôlez le merge — better-i18n crée la PR, votre équipe la révise et la merge
- Seuls les patterns de fichiers configurés sont modifiés
- Historique complet des commits pour chaque modification de traduction
Types de sync job
| Type | Ce qu'il fait |
|---|---|
initial_import | Premier sync lors de la connexion d'un repository |
source_sync | Sync déclenché par un événement push GitHub |
cdn_upload | Déploie les traductions vers le CDN |
batch_publish | Publie plusieurs traductions en même temps |
Lister les opérations de sync récentes :
// MCP tool: getSyncs
{
"project": "your-org/your-project",
"limit": 10,
"status": "completed"
}
Intégration GitHub Webhook
better-i18n reçoit les événements push GitHub via des webhooks pour déclencher la synchronisation automatique :
- Vous poussez le code avec les fichiers de traduction mis à jour
- GitHub envoie un webhook à better-i18n
- better-i18n synchronise les modifications dans votre projet
- Les traductions se mettent à jour dans le dashboard
Cela maintient votre projet cloud synchronisé avec votre repository sans intervention manuelle.
Publication via REST API
Le même flux de publication est disponible via la REST API sur dash.better-i18n.com/api :
# Lister les modifications en attente
curl -H "Authorization: Bearer $API_KEY" \
https://dash.better-i18n.com/api/projects/your-org/your-project/pending-changes
# Publier toutes les modifications en attente
curl -X POST -H "Authorization: Bearer $API_KEY" \
https://dash.better-i18n.com/api/projects/your-org/your-project/publish
Intégrez la publication dans votre pipeline CI/CD — déployez les traductions dans le cadre de votre processus de release.
MCP Workflow
Avec le MCP server, votre assistant AI gère l'intégralité du cycle de publication :
« Vérifiez ce qui est en attente pour le projet landing, puis publiez toutes les traductions en turc. »
L'AI appelle getPendingChanges, vous montre le résumé et appelle publishTranslations avec votre confirmation. Suivez l'achèvement avec getSyncs.
Bonnes pratiques
- Toujours prévisualiser d'abord — Appelez
getPendingChangesavant chaque publication - Publier de manière incrémentale — Déployez des langues ou des keys spécifiques plutôt que tout à la fois
- Suivre les achèvements — Utilisez
getSyncpour vérifier que les jobs se sont terminés avec succès - Automatiser avec CI — Ajoutez des étapes de publication à votre pipeline de release via la REST API
- Utiliser les GitHub PRs — Permettez à votre équipe de réviser les modifications de traduction avant le merge
La Publish Pipeline vous donne un contrôle total sur le moment et la façon dont les traductions parviennent à vos utilisateurs. Rien n'est déployé sans votre action explicite.