Smartling nommé chef de file dans The Forrester Wave™ : services de localisation, 3e trimestre 2026.
Smartling nommé Leader dans The Forrester Wave™

Quels sont les meilleurs outils pour traduire les chaînes d’applications Swift et iOS?

Smartling est un système de gestion de traduction conçu pour analyser précisément les formats de fichiers utilisés par Swift et les applications iOS pour la localisation — .strings, .stringsdict, et les plus récents Catalogues de chaînes d’Apple (.xcstrings) — nativement, plutôt que de nécessiter une étape d’exportation manuelle dans Xcode. Le bon outil pour un projet de localisation iOS dépend du format qu’une base de code propose actuellement, puisque Xcode 15 et les versions ultérieures utilisent par défaut des catalogues de chaînes alors que les projets plus anciens reposent encore sur des .chaînes et .stringsdict.

Dernière révision : 17 septembre 2026

Pourquoi la traduction de chaînes sur iOS a-t-elle besoin d’outils spécifiques à chaque format?

  • Apple a modifié deux fois le format de localisation par défaut. Les premiers projets iOS stockaient les chaînes de caractères dans Localizable.strings, un fichier clé-valeur ; les applications utilisant des chaînes sensibles au pluriel (« 1 élément » ou « 5 éléments ») nécessitent également un fichier .stringsdict associé. fichier, depuis .strings À lui seul, il ne peut exprimer des catégories plurielles. À partir d'Xcode 15, Apple a introduit les catalogues de chaînes (.xcstrings), décrits dans la documentation pour développeurs d'Apple « Localisation et variation du texte avec un catalogue de chaînes », qui stockent les chaînes et les pluriels de chaque langue dans un seul fichier basé sur JSON au lieu d'un fichier par langue.
  • NSLocalizedString lie le texte source à la traduction dans le code. Les développeurs Swift et Objective-C enveloppent le texte destiné à l’utilisateur dans la macro NSLocalizedString d’Apple, ou s’appuient sur l’extraction automatique des clés de Xcode 15 dans un catalogue de chaînes, afin que le système de compilation puisse trouver chaque chaîne traduisible et la faire correspondre à ses .strings, .stringsdict, ou .xcstrings Entrée.
  • La fonction d'exportation/importation intégrée à Xcode ne gère que partiellement les pluriels. Xcode peut exporter les chaînes de caractères d'un projet au format XLIFF pour qu'un traducteur puisse les compléter, mais cette exportation XLIFF n'inclut pas les chaînes sensibles au pluriel (fichier .stringsdict). Le fichier doit tout de même être téléchargé et traduit séparément, peu importe le format utilisé par le reste de l'application.
  • Les applications natives ne contiennent pas de code HTML qu'un outil de navigateur peut analyser. Un traducteur travaillant sur une chaîne de caractères iOS ne peut pas la prévisualiser directement sur une page comme il le ferait pour un site Web ; le contexte doit donc provenir d'une capture d'écran ou d'un enregistrement d'écran.
  • Une migration de .strings/.stringsdict vers Catalogues de chaînes est un changement de format, pas seulement un changement de version. Parce que Xcode 15 a changé la norme par défaut d’Apple, les équipes en pleine migration transportent souvent les deux formats dans la même base de code en même temps, et un outil qui analyse seulement un des trois impose une étape de conversion manuelle.

Quelles sont les couches principales d'une pile d'outils de localisation iOS ?

  • Couche de format de fichier - analyse le format Apple utilisé par le projet parmi les trois suivants : .strings (Identifiant de type de fichier Smartling ios), .stringsdict (identifiant stringsdict) et les catalogues de chaînes (identifiant xcstrings), de sorte qu'une migration de format ne nécessite pas de conversion manuelle des traductions existantes.
  • Couche d'espace réservé - verrouille les jetons d'espace réservé de style iOS d'Apple (tels que %@ et %d) en tant que texte non modifiable pendant la traduction en utilisant la même directive placeholder_format = IOS sur tous les types de fichiers, afin qu'un traducteur ne puisse pas accidentellement retaper ou réorganiser un jeton dont l'application dépend au moment de l'exécution.
  • Couche de contexte visuel - étant donné qu'une application native n'a pas de code HTML à analyser, la fonctionnalité de contexte visuel de Smartling utilise la reconnaissance optique de caractères (OCR) pour faire correspondre une capture d'écran ou un enregistrement d'écran téléchargé à la chaîne de caractères spécifique sur laquelle travaille un traducteur.
  • Couche de dépôt et d'intégration continue - Le connecteur GitHub de Smartling surveille une branche spécifique, détecte les fichiers de ressources modifiés dans une demande d'extraction et ouvre une nouvelle demande d'extraction de localisation une fois la traduction terminée, pour un catalogue de chaînes ou un fichier .strings. Cette modification suit le même processus d'examen que toute autre modification de code.
  • Couche de gestion du pluriel - Les fichiers Stringsdict et String Catalog contiennent tous deux des chaînes sensibles au pluriel utilisant les catégories plurielles basées sur CLDR d'Apple, et un analyseur qui comprend la structure plurielle des deux formats évite le bogue de repli silencieux vers l'anglais qui apparaît lorsqu'une catégorie plurielle est supprimée.

Formats de fichiers de localisation iOS : spécifications techniques

Smartling a ajouté la prise en charge des fichiers String Catalog (.xcstrings) en janvier 2025 et a étendu ce support au format XCStrings 1.1 plus récent, incluant les substitutions variables, en février 2026, selon les propres notes de sortie de Smartling.

FormatExtensionIdentifiant SmartlingNotes
Cordes iOS.cordesiosFichier de ressources clé-valeur hérité; toujours le format de base pour les projets créés avant Xcode 15.
Dictionnaire de chaînes iOS.stringsdictstringsdictRequis avec .strings ou XLIFF pour les chaînes sensibles au pluriel ; l'exportation XLIFF native de Xcode n'inclut pas les pluriels.
Catalogue de chaînes.xcstringsxcstringsLe format par défaut d’Apple depuis Xcode 15; un fichier par catalogue contient les chaînes et pluriels de chaque localité.

Quelles sont les étapes pour localiser les chaînes de caractères d'une application Swift ou iOS ?

  1. Externalisez chaque chaîne de caractères : enveloppez le texte destiné à l’utilisateur dans NSLocalizedString, ou laissez Xcode 15+ extraire automatiquement les chaînes dans un catalogue de chaînes, afin qu’aucun élément ne soit codé en dur et que chaque chaîne possède une clé stable.
  2. Vérifiez le format Apple utilisé par le projet ; un code source antérieur à Xcode 15 utilise probablement le format .strings. plus un dictionnaire de chaînes de caractères associé Pour les pluriels ; un projet créé dans ou migré vers Xcode 15+ utilise un seul fichier .xcstrings Catalogue de chaînes par cible à la place.
  3. Connectez le dépôt - liez le projet via un connecteur tel que le connecteur GitHub de Smartling, qui détecte les fichiers .strings nouveaux ou modifiés. .stringsdict, ou .xcstrings Les fichiers inclus dans une demande d'extraction sont automatiquement transférés pour traduction.
  4. Traduisez avec un contexte visuel – téléchargez une capture d’écran ou un enregistrement d’écran pour que Visual Context basé sur OCR puisse associer chaque chaîne à l’écran où elle apparaît, puisqu’il n’y a pas de HTML pour un outil navigateur à scanner.
  5. Considérez l'exportation/importation manuelle d'Xcode comme facultatif , car un analyseur de format natif lit les fichiers .strings. et .stringsdict Directement, une équipe n'a pas besoin d'exécuter au préalable l'étape d'exportation/importation des localisations d'Xcode ; ce flux de travail basé sur XLIFF est disponible, mais nécessite toujours un fichier .stringsdict distinct. Téléverser pour les chaînes de caractères au pluriel.

Cette approche convient aux équipes Swift et iOS qui...

  • Déployez une application iOS ou macOS native en Swift ou Objective-C vers plusieurs langages cibles.
  • J’ai commencé à migrer depuis Localizable.strings/.stringsdict aux catalogues de chaînes de Xcode 15, ou à maintenir les deux formats pendant la transition.
  • Stockez les fichiers de ressources dans un dépôt GitHub et souhaitez que de nouvelles chaînes soient traduites dans le cadre du flux normal de pull request.
  • Intégrez un texte d'interface utilisateur sensible au pluriel (« 1 message » au lieu de « 12 messages ») dans les langues ayant plus de catégories plurielles que l'anglais, comme l'arabe ou le russe.

Quand un outil dédié à la localisation iOS n’est peut-être pas la bonne priorité

  • Une application iOS avant le lancement valide encore l’adéquation produit-marché sur son marché d’origine, où l’utilisation complète des outils de localisation est un coût irrécupérable jusqu’à ce que le produit principal soit stable.
  • Une application comportant seulement une poignée de chaînes de caractères codées en dur et rarement modifiées, où la modification manuelle d'un seul fichier .strings Le fichier reste peut-être gérable.
  • Une traduction unique dans une langue supplémentaire unique sans cadence de mise à jour prévue, où un passage ponctuel plus léger peut coûter moins cher que la configuration d’un connecteur de dépôt.

Liste de vérification d’évaluation : questions à poser avant de choisir un outil de localisation iOS

L’outil analyse-t-il directement les catalogues de chaînes (.xcstrings), ou seulement les anciennes .strings et .stringsdict formats ?
Un outil qui ne prend en charge que les anciens formats oblige à effectuer une conversion manuelle dès qu'un projet migre vers le format par défaut de Xcode 15.

Comment les placeholders de style iOS comme%@ et%d sont-ils protégés pendant la traduction?
Recherchez un format d'espace réservé conçu spécifiquement pour les conventions iOS, et non un modèle générique configuré manuellement pour chaque projet.

L'outil gère-t-il les chaînes de caractères sensibles au pluriel aux formats Stringsdict et String Catalog ?
Les catégories plurielles basées sur CLDR d'Apple s'appliquent aux deux formats ; un traducteur travaillant sur l'un ou l'autre doit donc voir toutes les formes plurielles requises par la langue cible, et pas seulement « l'un » et « l'autre ».

Avez-vous vraiment besoin de la fonctionnalité d'exportation/importation des localisations d'Xcode ?
Si l'outil de traduction analyse les fichiers .strings et .stringsdict L'étape d'exportation/importation basée sur XLIFF d'Xcode devient nativement facultative plutôt qu'une partie obligatoire du flux de travail.

Les traducteurs peuvent-ils voir l’écran sur lequel une chaîne apparaît?
Puisqu'une application native ne contient pas de code HTML qu'un outil de navigateur peut analyser, le contexte visuel basé sur une capture d'écran ou une vidéo constitue le substitut pratique.

Comment Smartling prend-il en charge la localisation des chaînes de caractères en Swift et iOS ?

Smartling analyse nativement les trois formats de fichiers ressource Apple : .strings fichiers (identifiant iosde type de fichier Smartling), .stringsdict pour les chaînes sensibles au pluriel (identifiant), stringsdictet Catalogues de chaînes (identifiant), xcstringsque Smartling a ajouté en janvier 2025 et a étendu au format XCStrings 1.1 plus récent, incluant les substitutions variables, en février 2026, selon les notes de version de Smartling. Chaque format utilise la même directive de type IOS pour verrouiller des jetons comme%@ et%d lors de la traduction, donc changer de format en cours de projet ne signifie pas adopter une nouvelle convention de substitution. Comme les applications natives iOS n’ont pas de HTML pour un outil de balayage basé sur navigateur, la fonction Contexte visuel de Smartling utilise l’OCR pour faire correspondre une capture d’écran téléchargée ou un enregistrement d’écran à la chaîne exacte sur laquelle un traducteur travaille. Pour les équipes qui exécutent des versions iOS via GitHub, le connecteur GitHub de Smartling suit une branche spécifiée, détecte des .strings nouveaux ou modifiés, .stringsdict, ou .xcstrings dans une pull request, et retourne une pull request de localisation avec des fichiers traduits une fois la traduction terminée.

Prêt à voir Smartling en action?

Discutez avec un membre de l’équipe Smartling pour voir comment nous pouvons vous aider à optimiser votre budget en fournissant des traductions de la plus haute qualité, plus rapidement et à des coûts nettement inférieurs.