Ce qu'il vous faut
- Un Mac sous macOS 12 ou plus récent.
- Vos fichiers de traduction, sur le disque : ARB Flutter, JSON imbriqué, JSON multi-langue,
.stringsApple ou String Catalogs Xcode (.xcstrings). Voir les formats pris en charge. - Si vous le souhaitez, un modèle d'IA : sur votre Mac avec Ollama ou LM Studio, ou dans le cloud avec votre propre clé API. Vous pouvez aussi tout traduire à la main.
LocalePilot travaille en local : vos fichiers sont seulement lus, et rien n'y est écrit avant l'export.
1. Installer LocalePilot
LocalePilot est distribué sous forme de fichier ZIP, signé avec un certificat Developer ID et notarisé par Apple.
ZIP signé et notarisé pour macOS 12 ou plus récent.
- Ouvrez le fichier ZIP téléchargé : le Finder en extrait l'app LocalePilot.
- Placez LocalePilot dans votre dossier Applications, puis ouvrez-la. L'écran Projets s'affiche.
Mises à jour : LocalePilot cherche une nouvelle version une fois par jour, ou quand vous cliquez sur Vérifier les mises à jour dans Réglages, Application. Rien n'est téléchargé ni installé tant que vous n'avez pas cliqué sur Installer dans la fenêtre de mise à jour. Ce que comprennent l'offre gratuite et Pro est détaillé sur la page des tarifs.
2. Ouvrir votre projet
- Sur l'écran Projets, cliquez sur Ouvrir un projet et choisissez le dossier qui contient vos fichiers de traduction.
- L'Assistant d'import analyse le dossier et montre ce qu'il a trouvé : formats, langues, fichiers qu'il importera et fichiers qu'il ignore, avec la raison.
- Si plusieurs formats ont été trouvés, le plus fourni est présélectionné. Confirmez-le avec Utiliser suivi du nom du format, ou choisissez-en un autre.
- Vérifiez la Locale source, la langue dans laquelle vos clés et vos textes sont écrits. S'il lui manque des clés présentes dans d'autres langues, l'assistant le signale et en propose une plus complète.
- Cliquez sur Créer le projet.
À cette étape, les fichiers sont seulement analysés. Si une seule langue a été trouvée, ajoutez vos langues cibles une fois le projet créé, avec Ajouter une langue… dans la barre latérale.
LocalePilot fonctionne dans le bac à sable de macOS (App Sandbox) : il ne lit et n'écrit que les dossiers que vous ouvrez. S'il perd l'accès au dossier d'un projet, rouvrez le projet depuis Projets récents et choisissez de nouveau le dossier.
3. Traduire
L'écran Traduire présente vos clés dans une table, le texte source à côté de la langue cible. Choisissez la langue cible dans la barre latérale. Au-dessus de la table, Toutes, À traduire et Brouillon IA filtrent la liste ; Matrice affiche chaque langue cible dans sa propre colonne.
À la main
Sélectionnez une ligne et appuyez sur Entrée pour modifier la traduction, puis sur ⌘ Entrée pour l'enregistrer et passer à la suivante. Les modifications sont enregistrées dans la base locale de LocalePilot ; le statut en haut de l'écran indique Sauvegardé. La saisie ne réécrit jamais vos fichiers.
Avec l'IA
- Configurez un fournisseur dans Réglages, Fournisseur IA. Sur ce Mac, Ollama et LM Studio : LocalePilot détecte le serveur local et liste les modèles déjà téléchargés. Pour un fournisseur cloud (OpenAI, Anthropic, Gemini, DeepSeek) ou un service de traduction automatique (DeepL, Microsoft Translator, Google Cloud Translation), cliquez sur Ajouter une clé et collez votre propre clé API ; elle est stockée dans le coffre sécurisé de macOS. Tester vérifie la connexion.
- Sur l'écran Traduire, cliquez sur Traduire avec IA. La fenêtre Traduction IA en lot s'ouvre.
- Choisissez le fournisseur et le modèle, les Locales cibles (Locale active ou Toutes les locales cibles) et la Sélection des entrées, par exemple Manquantes + vides.
- Ouvrez Avant de lancer pour voir où le texte est envoyé, combien de requêtes le lot prévoit et quelles clés sont incluses. Cliquez ensuite sur Traduire … cellules avec IA.
Chaque lot est enregistré dès son retour, avec le statut Brouillon IA à relire. Vos fichiers ne sont pas modifiés. Voir les brouillons affiche ce qui vient d'être traduit.
Les fournisseurs IA cloud nécessitent LocalePilot Pro. Les fournisseurs locaux comme Ollama et LM Studio restent gratuits. Pour installer un modèle local, voir Traduire une app Flutter avec Ollama ou LM Studio.
4. Relire et approuver
Sélectionnez une entrée et lisez-la dans le panneau de détail : source, traduction, placeholders et autres langues. Quand elle est juste, cliquez sur Approuver, ou appuyez sur ⌘ ⇧ Entrée pour l'approuver et passer à la suivante. Approuver cette clé dans toutes les locales fait de même pour toutes les langues cibles de la clé.
Approuver enregistre votre relecture. Ce n'est pas une condition de l'export : un brouillon IA que personne n'a relu est exporté comme une entrée approuvée. Avant d'exporter, utilisez le filtre Brouillon IA pour vérifier qu'il n'en reste aucun.
5. Contrôler la QA
L'écran Relire liste tout ce que la QA a trouvé dans le projet, regroupé par type : clés manquantes, valeurs vides, placeholders incohérents, risques ICU, formes plurielles, source copiée telle quelle, termes de glossaire, alertes de longueur, etc. Chaque problème a une sévérité : Blocage (il bloque l'export), Avertissement (à relire) ou Info.
- Corriger (Entrée) modifie la traduction sur place ; Ouvrir dans Traduire l'affiche dans la table.
- Approuver tel quel quand la traduction est juste malgré l'avertissement.
- I ignore un avertissement. Seuls les avertissements peuvent être ignorés ; les blocages et les infos restent.
Approuver ou ignorer un problème QA enregistre cette décision. Cela n'écrit rien dans vos fichiers.
6. Exporter
L'export est l'unique étape qui réécrit vos fichiers de traduction sur le disque. Cliquez sur Exporter dans la barre latérale : l'écran liste, fichier par fichier, ce qui sera écrit, les problèmes restants et les garde-fous.
- Dépliez un fichier pour voir ses changements : la valeur actuelle sur le disque et celle qui sera écrite.
- Cliquez sur Écrire … fichiers. Chaque fichier écrasé est d'abord sauvegardé, dans le stockage de LocalePilot, jamais dans votre projet.
- Le résultat indique ce qui a été écrit, ignoré ou sauvegardé.
Par défaut, un problème QA bloquant écarte les fichiers concernés de l'export complet (Bloquer l'export s'il reste des blocages, dans les réglages du projet). Corrigez le problème dans Relire, ou n'écrivez que les fichiers sans blocage avec Écrire les … fichiers sans blocage. Si un fichier a changé sur le disque depuis son chargement, LocalePilot ne l'écrase pas : il vous demande d'abord de résoudre le conflit.
Vos fichiers sont à jour : relisez les changements dans Git, comme d'habitude.
Pour aller plus loin
- Appuyez sur ? depuis n'importe quel écran pour ouvrir l'aide de l'app sur cet écran. ⌘ K retrouve n'importe quelle commande, section ou langue.
- Si vous publiez sur les stores, LocalePilot adapte aussi votre fiche App Store.
- Les guides expliquent les formats : ARB, pluriels ICU, String Catalogs, spécificateurs de format.