Que Sont les Mises à Jour de Traduction OTA ?
Les mises à jour de traduction OTA (Over-the-Air) vous permettent de pousser les changements de traduction directement aux utilisateurs de votre application mobile sans exiger qu'ils téléchargent une nouvelle version depuis l'App Store ou Google Play.
Pensez-y comme la façon dont les applications mettent à jour leur contenu (flux d'actualités, listes de produits, etc.) sans avoir besoin d'une mise à jour complète de l'application. Les mises à jour de traduction OTA appliquent le même concept au contenu textuel de votre application.
Le Problème Traditionnel
Sans mises à jour OTA, changer n'importe quelle traduction nécessite :
- Temps de développement : Mettre à jour les fichiers de traduction, tester, fusionner
- Processus de build : Créer une nouvelle version de l'application
- Soumission à l'app store : Télécharger sur App Store Connect / Google Play Console
- Période de révision : 1-7 jours pour Apple, 1-3 jours pour Google
- Adoption utilisateur : Espérer que les utilisateurs ont activé les mises à jour automatiques
Temps total : 3-14 jours pour une simple correction de faute de frappe
Points de Douleur Réels
Équipe Marketing : "Nous devons mettre à jour le texte promotionnel pour la campagne de vacances" Développeur : "C'est un délai de 2 semaines si nous avons de la chance avec la révision de l'app" Équipe Marketing : "Mais la campagne commence lundi..."
Équipe QA : "Il y a une faute de frappe dans le flux de paiement allemand" Développeur : "Je corrigerai ça dans la prochaine version" Utilisateurs : Voient "Kasse bezaheln" au lieu de "Kasse bezahlen" pendant 3 semaines
Comment Fonctionnent les Mises à Jour OTA
Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ IntlPull │────▶│ CDN │────▶│ Application │
│ Dashboard │ │ (Mondial) │ │ Mobile │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Mettre à jour Mettre en cache Récupérer au
les traductions & distribuer lancement
Le Flux
- Vous mettez à jour les traductions dans le tableau de bord IntlPull ou poussez via CLI
- Cliquez sur publier pour déployer les changements
- Le CDN distribue les traductions mises à jour mondialement
- L'App vérifie les mises à jour au lancement (ou périodiquement)
- Téléchargement Delta : Seules les chaînes modifiées sont récupérées
- Les utilisateurs voient les mises à jour immédiatement
Implémentation Technique
SDK iOS :
Swift1import IntlPull 2 3@main 4struct MyApp: App { 5 init() { 6 IntlPull.configure( 7 projectId: "your-project", 8 apiKey: "your-key", 9 updatePolicy: .onLaunch // ou .periodic(minutes: 30) 10 ) 11 } 12 13 var body: some Scene { 14 WindowGroup { 15 ContentView() 16 } 17 } 18} 19 20// Utilisation n'importe où dans votre app 21struct WelcomeView: View { 22 var body: some View { 23 Text(IntlPull.t("welcome.title")) 24 // Se met à jour automatiquement quand les traductions changent 25 } 26}
SDK Android :
Kotlin1class MyApp : Application() { 2 override fun onCreate() { 3 super.onCreate() 4 5 IntlPull.configure( 6 context = this, 7 projectId = "your-project", 8 apiKey = "your-key", 9 updatePolicy = UpdatePolicy.OnLaunch 10 ) 11 } 12} 13 14// Utilisation 15class MainActivity : AppCompatActivity() { 16 override fun onCreate(savedInstanceState: Bundle?) { 17 super.onCreate(savedInstanceState) 18 19 binding.welcomeText.text = IntlPull.t("welcome.title") 20 } 21}
React Native :
JSX1import { IntlPullProvider, useIntlPull } from '@intlpullhq/react-native'; 2 3function App() { 4 return ( 5 <IntlPullProvider 6 projectId="your-project" 7 apiKey="your-key" 8 > 9 <WelcomeScreen /> 10 </IntlPullProvider> 11 ); 12} 13 14function WelcomeScreen() { 15 const { t } = useIntlPull(); 16 return <Text>{t('welcome.title')}</Text>; 17}
Fonctionnalités Clés
Mises à Jour Delta
Téléchargez seulement ce qui a changé. Si vous mettez à jour 5 chaînes sur 5 000, les utilisateurs téléchargent ~500 octets au lieu du fichier de traduction complet.
JSON1// Charge utile de mise à jour delta 2{ 3 "version": "2026-01-10T15:30:00Z", 4 "changes": { 5 "welcome.title": "Welcome back!", // Changé 6 "promo.banner": "Holiday Sale!" // Changé 7 } 8}
Support Hors Ligne
Les traductions sont mises en cache localement. Si le réseau est indisponible, l'application utilise les traductions en cache.
Swift1IntlPull.configure( 2 // ... 3 fallbackBehavior: .useCached, // Utiliser le cache si hors ligne 4 bundledTranslations: true // Inclure la base dans le bundle de l'app 5)
Contrôle de Version
Revenez à n'importe quelle version précédente instantanément :
Terminal1// Retour arrière CLI 2npx @intlpullhq/cli rollback --version 2026-01-01 3 4// Ou dans le tableau de bord : cliquez sur "Rollback" sur n'importe quelle version
Support d'Environnement
Testez les traductions avant de pousser en production :
Swift1IntlPull.configure( 2 // ... 3 environment: .staging // ou .production 4)
Cas d'Utilisation
1. Corriger les Erreurs de Traduction
Avant OTA : Attendre 1-2 semaines pour la version de l'app Avec OTA : Corrigé en moins d'une minute
2. Campagnes Saisonnières
Soldes d'Été → Rentrée → Halloween → Black Friday → Fêtes
Mettez à jour le texte promotionnel instantanément sans planifier les versions autour des campagnes marketing.
3. Test A/B de Copie
Testez différentes traductions pour optimiser la conversion :
Version A: "Start Free Trial"
Version B: "Try Free for 14 Days"
Mesurez les résultats et basculez vers le gagnant. Aucune version d'app nécessaire.
4. Lancer de Nouvelles Langues
Ajoutez le support pour une nouvelle langue sans attendre la prochaine version :
- Ajoutez les traductions dans IntlPull
- Publiez
- Les utilisateurs qui définissent cette langue la voient immédiatement
5. Mises à Jour Légales/Conformité
Quand les régulations exigent des changements de texte, mettez à jour immédiatement au lieu de vous démener pour une version d'urgence.
Considérations de Sécurité
Protection de Clé API
Swift1// Ne codez pas en dur les clés dans la source 2IntlPull.configure( 3 apiKey: Secrets.intlPullKey // Depuis le stockage sécurisé 4)
Vérification de Contenu
Les mises à jour OTA sont signées et vérifiées :
Swift1IntlPull.configure( 2 // ... 3 verifySignature: true // Vérifier l'intégrité du contenu 4)
Limitations de Portée
Les mises à jour OTA peuvent seulement changer les traductions, pas le code, pas les mises en page, pas la fonctionnalité. Cela vous garde conforme aux directives de l'app store.
Comparaison : OTA vs Traditionnel
| Aspect | Traditionnel | OTA |
|---|---|---|
| Temps de mise à jour | 3-14 jours | Instantané |
| Action utilisateur requise | Mise à jour App | Aucune |
| Risque de rejet | Oui | N/A |
| Vitesse de retour arrière | Jours | Secondes |
| Test A/B | Multiples builds | Bascule tableau de bord |
| Coût par mise à jour | Temps dev + révision | Gratuit |
Pourquoi les Autres TMS N'Offrent Pas l'OTA
Construire l'OTA nécessite :
- Infrastructure CDN mondiale : Coûteux à opérer
- SDKs natifs : iOS, Android, React Native, Flutter
- Système de mise à jour delta : Ingénierie complexe
- Mise en cache hors ligne : Stockage local robuste
- Gestion de version : Capacité de retour arrière
La plupart des plateformes TMS (Lokalise, Crowdin, Phrase) se concentrent sur le flux de traduction et exportent des fichiers pour que vous les regroupiez dans votre application. IntlPull a construit l'OTA depuis le départ.
Commencer avec l'OTA
Étape 1 : Créer un Compte IntlPull
Inscrivez-vous gratuitement. Pas de carte de crédit requise.
Étape 2 : Ajouter Votre Projet
Importez les traductions existantes ou commencez à neuf.
Étape 3 : Installer le SDK
iOS (CocoaPods) :
RUBYpod 'IntlPull'
iOS (SPM) :
https://github.com/intlpull/intlpull-ios
Android (Gradle) :
GROOVYimplementation 'com.intlpull:sdk:1.0.0'
React Native :
Terminalnpm install @intlpullhq/react-native
Étape 4 : Configurer & Expédier
Initialisez le SDK et commencez à utiliser les traductions. C'est tout. Les mises à jour affluent automatiquement.
FAQ
Q : Est-ce conforme aux directives de l'App Store ? R : Oui. Les mises à jour OTA pour le contenu (y compris les traductions) sont explicitement autorisées. Vous ne mettez pas à jour le code ou la fonctionnalité.
Q : Qu'en est-il des utilisateurs hors ligne ? R : Les traductions sont mises en cache localement. Les utilisateurs hors ligne voient les traductions en cache jusqu'à ce qu'ils se reconnectent.
Q : Quelle est la vitesse des mises à jour ? R : Le CDN distribué mondialement livre les mises à jour en <100ms aux utilisateurs du monde entier.
Q : Et si une mise à jour casse quelque chose ? R : Retour arrière instantané. Un clic dans le tableau de bord, et tous les utilisateurs obtiennent la version précédente.
Q : Puis-je utiliser cela avec une configuration i18n existante ? R : Oui. Le SDK IntlPull peut envelopper les implémentations existantes ou fonctionner de manière autonome.
Conclusion
Les mises à jour de traduction OTA transforment la localisation mobile d'un processus lent et douloureux en un flux de travail agile et réactif :
- Corrigez les fautes de frappe instantanément au lieu d'attendre des semaines
- Mettez à jour la copie marketing selon votre calendrier, pas celui d'Apple
- Testez A/B les traductions sans multiples builds d'app
- Lancez les langues plus vite sans coordination de version
IntlPull est le seul TMS qui offre un support OTA complet pour iOS, Android et React Native.
Prêt à expédier des traductions instantanément ? Commencez votre essai gratuit et expérimentez les mises à jour OTA aujourd'hui.
