Traduire une application iOS en anglais (.strings et .xcstrings)
Envoyez votre Localizable.strings ou votre String Catalog Xcode (.xcstrings) : Manuce vous rend le même fichier, avec les valeurs en anglais, les clés et les spécificateurs %@, %d et %1$@ intacts. Dans un catalogue, la langue anglaise est ajoutée, variations plurielles comprises, et un rapport indique ce qui n’a pas été traduit et pourquoi.
Combien ça coûte
Pour les fichiers de langue d'une application iOS totalisant environ 2 000 mots, vers l’anglais :
Comprendre, usage interne.
Prêt à transmettre, par le spécialiste technique.
Relecture croisée. Pour ce qui engage.
Prix pour une langue, mise en page d'origine comprise. TVA non applicable, article 293 B du CGI. Le devis exact, calculé sur le nombre de mots de votre fichier, s'affiche avant paiement.
Ce qui change quand une app iOS passe du français à l’anglais
Avant de traduire, décidez quel anglais vous visez. Xcode distingue en (anglais générique), en-GB et en-US. Le choix se voit dans l’interface : Favourites ou Favorites, Personalise ou Personalize, colour ou color. Indiquez-le dès le départ, et gardez la même variante partout, y compris dans les messages d’autorisation.
Le texte anglais est en général 10 à 15 % plus court que le français, mais pas de façon uniforme : "Se connecter" devient "Sign in", "Paramètres" devient "Settings", alors qu’une étiquette très courte peut s’allonger. Les troncatures sont donc plus rares qu’en sens inverse, mais un bouton dimensionné au plus juste reste à contrôler.
- Typographie : les espaces insécables avant « : ; ? ! » disparaissent en anglais, et les guillemets « » deviennent “ ” (ou ‘ ’ dans l’usage britannique).
- Majuscules : l’anglais met souvent une majuscule à chaque mot dans les titres et les boutons (Add to Cart), là où le français n’en met qu’une. Choisissez une règle et tenez-la.
- Dates : 03/04 se lit 3 avril au Royaume-Uni et 4 mars aux États-Unis. Un format écrit en dur dans une chaîne, comme
dd/MM/yyyy, n’est pas traduit : formatez les dates dans le code selon la locale de l’utilisateur.
Les pluriels : du français à one/other
L’anglais n’a que deux catégories de pluriel CLDR : one et other. Le piège vient du zéro. En français, 0 tombe dans la catégorie one (« 0 photo »), en anglais dans other (« 0 photos »). Copier la logique française produit donc une faute visible dès qu’une liste est vide.
Dans un String Catalog (.xcstrings), Manuce ajoute la langue anglaise avec ses variations one et other :
one:%d photo selectedother:%d photos selected
Dans un Localizable.strings simple, il n’existe pas de variation plurielle : une chaîne du type "%d photo(s)" sera traduite telle quelle, avec ses parenthèses. Si vos compteurs comptent, le catalogue .xcstrings est le format à privilégier.
Les spécificateurs positionnels permettent à l’anglais de réordonner la phrase sans casser l’affichage : "Envoyé par %1$@ le %2$@" devient "Sent by %1$@ on %2$@". Manuce vérifie que chaque %@, %d ou %1$@ de la source se retrouve dans la valeur anglaise.
Ce que Manuce rend exactement, et ce qu’il ne fait pas
Vous récupérez le même fichier, dans le même format, prêt à remettre dans le projet Xcode. Seules les valeurs changent : indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage (UTF-8 ou UTF-16) et BOM sont conservés. Un diff dans votre gestionnaire de versions ne montre donc que les traductions.
- Clés non touchées : si vos clés sont le texte français lui-même (
"Annuler" = "Annuler";), la clé reste en français et seule la valeur passe à"Cancel". Le code continue de trouver la chaîne. - Non traduits : valeurs vides, URL, adresses email, nombres, couleurs, formats de date, identifiants, et tout ce qui est marqué non traduisible.
- Contrôle valeur par valeur : chaque traduction est comparée à la source (variables, balises). En cas d’écart persistant, la valeur française est gardée et le rapport le signale.
Le rapport liste les chaînes traduites et celles laissées telles quelles, avec la raison. Le prix porte sur les mots des valeurs, clés et balises exclues.
Manuce traduit des fichiers : il ne compile pas l’application et ne vérifie pas l’affichage à l’écran. Ce contrôle visuel reste de votre côté. Pour une version publiée sur l’App Store, le niveau Professionnel est celui qui vise un texte prêt à transmettre.
Préparer les fichiers et vérifier au retour
Un moteur traduit mieux une chaîne dont il comprend l’usage. « Valider » peut donner Confirm, Submit ou Validate selon l’écran. Les commentaires étant conservés, profitez-en pour donner le contexte :
/* Bouton de l’écran de paiement */"checkout.confirm" = "Valider";
Avant l’envoi :
- Marquez comme non traduisibles les noms de marque et de fonctions qui doivent rester en français.
- N’oubliez pas les messages d’autorisation (appareil photo, localisation), souvent rangés dans un fichier InfoPlist.strings de même syntaxe : un message laissé en français sur un iPhone réglé en anglais se remarque.
- Retirez du fichier les dates et montants écrits en dur ; ils ne seront pas adaptés.
Au retour, lisez d’abord le rapport, puis lancez l’app avec l’anglais comme langue de l’application. Testez une liste vide pour vérifier « 0 items », les grandes tailles de Dynamic Type, et les écrans où une variable est insérée au milieu d’une phrase.
En pratique
- Choisissez la variante d’anglais (en, en-GB ou en-US) et ajoutez des commentaires de contexte aux chaînes ambiguës.
- Déposez votre Localizable.strings ou votre catalogue .xcstrings et consultez le devis, calculé sur les mots des valeurs.
- Lisez l’extrait gratuit au niveau choisi, puis lancez la traduction.
- Récupérez le fichier et le rapport, replacez le fichier dans le projet Xcode et testez l’app en anglais.
Questions fréquentes
Mes clés Localizable.strings seront-elles traduites ?
Non. Les clés restent exactement telles quelles, même si elles sont écrites en français. Seules les valeurs passent en anglais, ce qui permet au code de retrouver chaque chaîne sans modification.
Comment sont gérés les pluriels dans un fichier .xcstrings ?
La langue anglaise est ajoutée au catalogue avec ses variations plurielles, soit one et other. Attention au zéro : il est singulier en français mais pluriel en anglais, « 0 photos ». Dans un Localizable.strings simple, il n’y a pas de variation plurielle à remplir.
Que se passe-t-il si une traduction casse un %@ ou un %d ?
Chaque valeur traduite est comparée à la source, variables et balises comprises. Si l’écart persiste, la valeur française est conservée et le rapport l’indique, pour que vous sachiez quelle chaîne reprendre à la main.
Anglais britannique ou américain : lequel choisir ?
Cela dépend de votre public. Le britannique écrit Favourites et colour, l’américain Favorites et color, et les deux lisent les dates dans un ordre différent. Indiquez la variante voulue et gardez-la sur tous les fichiers de l’app.
Mon fichier sera-t-il modifié en dehors des traductions ?
Non. Indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage et BOM sont conservés. Le fichier se remet dans le projet tel quel, et un diff ne montre que les valeurs changées.
Le spécialiste qui s’en charge
Ce sujet est confié à Dédale, le spécialiste technique. Voir comment il travaille.
Le même fichier, vers une autre langue
Vers l’anglais, d’autres fichiers
À lire aussi
Testez sur votre fichier, gratuitement
Un extrait de votre fichier traduit au niveau choisi, avant tout paiement. Vous jugez, puis vous décidez.