Localisation iOS avec l'IA : traductions par pull request
PTC (Private Translation Cloud) prend le string catalog dans votre dépôt, le traduit dans 40+ langues et le renvoie sous forme de pull request.
Vous utilisez Claude Code, Codex ou Cursor ?
Connectez PTC à votre agent et il fait ceci pour vous : il apprend votre application, ne vous demande que ce à quoi le code ne peut pas répondre, et traduit et relit chaque langue. Un prompt :
Localisez cette application en allemand et en espagnol avec PTC.
Configurez-le une fois, et chaque push revient traduit
PTC est conçu pour une application en constante évolution, pas pour une traduction ponctuelle. Vous n'exportez, ne téléversez et ne téléchargez rien : le travail s'effectue là où se trouve votre code.
Nous gérons notre propre produit de cette manière. WPML compte environ 80 000 mots dans 21 langues. Une version devait autrefois attendre les traducteurs pendant deux semaines, et avec PTC, elle est prête en environ trois heures. Lisez comment nous traduisons WPML avec PTC.
- Connectez PTC à Claude Code ou Codex et donnez-lui un prompt :
Set up PTC translations.La page de démarrage contient la commande. - PTC apprend votre application une seule fois. L'agent trouve vos string catalogs et le code qui utilise chaque chaîne, indique à PTC ce que fait l'application, et écrit la configuration PTC. Consultez le fonctionnement du guide de l'agent PTC.
- Vous répondez à ce que vous seul savez : les langues, le prix, et la façon dont les traductions doivent arriver.
- PTC ouvre une pull request avec le
Localizable.xcstringstraduit. Dès lors, il fonctionne tout seul : chaque push sur votre branche par défaut revient de la même manière.
Vous ne payez que pour les chaînes nouvelles et modifiées. Une chaîne traduite une fois n'est jamais facturée à nouveau.
Pas d'agent de codage ? Connectez GitHub, GitLab ou Bitbucket vous-même, ou appelez l'API depuis votre build.
Ce qui revient dans la pull request
- Le même fichier. Un
Localizable.xcstringsavec vos chaînes sources et chaque langue, sous le nom attendu par Xcode. Les anciens fichiers.stringset.stringsdictfonctionnent de la même manière. - Toutes les formes plurielles. Une chaîne que vous avez marquée Vary by Plural obtient les catégories dont chaque langue a besoin : deux pour l'espagnol, trois pour le russe, les six pour l'arabe.
- Espaces réservés intacts.
%lld,%@et les interpolations restent là où la grammaire de chaque langue les place. - Traductions relues. PTC relit chaque traduction par rapport à la description de votre application et à votre glossaire avant d'ouvrir la pull request.
Deux modèles gardent une chaîne hors du catalogue
PTC traduit ce qui se trouve dans le string catalog. Xcode remplit le catalogue à partir de votre code SwiftUI au moment du build, et deux modèles courants échouent sans avertissement. La chaîne reste en anglais dans chaque langue.
Une variable passée à Text
// NOT localized - SwiftUI treats the variable as a plain String
let title = "welcome_title"
Text(title)
// Localized correctly
Text(LocalizedStringKey(title))
Une chaîne en dehors d'une vue
Dans un modèle de vue ou un helper, utilisez String(localized:) :
let errorMessage = String(localized: "error_generic")
Pluriels
Écrivez la chaîne une fois, puis choisissez Vary by Plural sur sa clé dans le catalogue. PTC remplit les formes pour chaque langue.
Text("\(bookCount) books on your shelf")
Pour le reste de la préparation, consultez comment préparer un logiciel pour la traduction et comment empêcher les traductions longues de casser les mises en page. L'allemand est environ 30 % plus long que l'anglais.
Des traductions adaptées à l'écran sur lequel elles apparaissent
Un string catalog donne à un traducteur « Send » et rien d'autre. PTC se base sur bien plus que la chaîne.
- Contexte issu de votre code. Votre agent de codage lit où une clé ambiguë est utilisée, et PTC transforme cela en une note d'une ligne qui guide la traduction.
- Un seul glossaire. PTC le construit à partir de vos traductions existantes et ne vous sollicite que lorsque vos propres sources se contredisent. Consultez voix de marque et glossaire.
- Écrans vérifiés. Lorsque la AI Visual QA est activée pour votre compte, vous téléversez des captures d'écran de l'application traduite. PTC corrige ce qui se trouve dans le catalogue, comme un libellé trop long pour une barre de navigation, et vous donne un prompt prêt à coller pour ce qui se trouve dans votre code Swift, comme une chaîne en dur.
Un seul projet pour iOS, Android et tout ce qui entoure l'application
- Android. Placez
Localizable.xcstringsetres/values/strings.xmldans un seul projet PTC. Un terme décidé pour l'espagnol sur Android est le même terme sur iOS. Consultez la localisation de votre application Android. - Fiche App Store et notes de version. Elles se trouvent en dehors du catalogue. Collez-les dans le même projet et elles utiliseront le même glossaire.
- Textes rédigés par vos utilisateurs. Le chat, les publications et les avis passent par l'API PTC au fur et à mesure de leur arrivée.
Prix : par mot, aucune licence par utilisateur
Le prix pour 1 000 mots commence à 3,00 € et diminue avec le volume mensuel jusqu'à 0,40 €. Les 500 premiers mots de chaque mois sont gratuits, et il n'y a pas d'abonnement. Consultez la page des tarifs.
Essayez-le sur votre propre string catalog, gratuitement
L'essai couvre 20 000 mots dans 2 langues pendant 30 jours, sans carte bancaire.
Commencez votre essai gratuit et connectez votre agent
Dernière mise à jour :