Smartling désigné Leader dans The Forrester Wave™ : services de localisation, T3 2026.
Smartling nommé Leader dans la Vague™ Forrester

Quels sont les meilleurs outils pour traduire les chaînes de caractères 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 nouveaux 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 .strings et .stringsdict.

Dernière mise à jour : 17 septembre 2026

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

  • Apple a changé deux fois le format de localisation par défaut. Les premiers projets iOS stockent les chaînes dans Localizable.strings, un fichier clé-valeur ; les applications avec des chaînes sensibles au pluriel (« 1 élément » vs. « 5 éléments ») nécessitent également un fichier .stringsdict compagnon puisque .strings À elle seule, elle ne peut pas exprimer de catégories plurielles. À partir de Xcode 15, Apple a introduit les catalogues de chaînes (.xcstrings), décrits dans la documentation développeur d’Apple comme « Localisation et variation du texte avec un catalogue de chaînes », qui stockent les chaînes et pluriels de chaque localité dans un seul fichier JSON au lieu d’un seul fichier par langue.
  • NSLocalizedString associe le texte source à sa traduction dans le code. Les développeurs Swift et Objective-C encapsulent 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 fichiers .strings. .stringsdict, ou .xcstrings entrée.
  • La fonction d’export/importation de Xcode ne couvre que partiellement les pluriels. Xcode peut exporter les chaînes d’un projet en XLIFF pour qu’un traducteur puisse les remplir, mais cette exportation XLIFF n’inclut pas les chaînes sensibles au pluriel — un .stringsdict Le fichier doit toujours être téléchargé et traduit séparément, quel que soit le format utilisé par le reste de l’application.
  • Les applications natives ne contiennent pas de code HTML qu'un outil de navigateur puisse 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.
  • La migration de .strings/.stringsdict vers les catalogues de chaînes représente un changement de format, et non une simple mise à jour de version. Comme Xcode 15 a modifié le comportement par défaut d'Apple, les équipes en cours de migration se retrouvent souvent avec les deux formats dans la même base de code, et un outil qui n'analyse qu'un seul des trois formats oblige à 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 des trois actuellement utilisé par un projet : .strings (Identifiant iosde type de fichier Smartling ), .stringsdict (identifiant stringsdict), et Catalogues de chaînes (identifiant xcstrings), donc une migration de format ne nécessite pas de convertir manuellement les traductions existantes.
  • Couche de placement - verrouille les jetons de remplacement à la manière d’iOS d’Apple (comme %@ et %d) comme texte non modifiable lors de la traduction en utilisant la même placeholder_format = IOS directive à travers les types de fichiers, afin qu’un traducteur ne puisse pas accidentellement retaper ou réordonner un jeton dont l’application dépend à l’exécution.
  • Couche de contexte visuel - puisqu'une application native ne possède 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, afin de gérer un catalogue de chaînes ou des fichiers .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, y compris les substitutions variables, en février 2026, selon les propres notes de sortie de Smartling.

FormatExtensionIdentifiant SmartlingNotes
Cordes iOS.cordesiosFichier ressource 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 de caractères et pluriels de chaque localité.

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

  1. Externaliser chaque chaîne - enrouler le texte destiné à l’utilisateur dans NSLocalizedString, ou laisser Xcode 15+ extraire automatiquement les chaînes dans un catalogue de chaînes, afin que rien ne soit livré en dur et que chaque chaîne ait une clé stable.
  2. Confirmez quel format Apple le projet utilise - une base de code construite avant Xcode 15 est probablement sur .strings En plus d’un .stringsdict compagnon pour les pluriels ; un projet créé dans ou migré vers Xcode 15+ utilise un seul .xcstrings Catalogue de chaînes par cible à la place.
  3. Connectez le dépôt - liez le projet via un connecteur tel que le GitHub Connector de Smartling, qui détecte les .strings nouveaux ou modifiés, .stringsdict, ou .xcstrings file une pull request et les transmet automatiquement 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 sur lequel elle apparaît, puisqu’il n’existe pas de HTML pour scanner un outil navigateur.
  5. Considérez l'export/import manuel d'Xcode comme optionnel , 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échargement pour les chaînes plurielles.

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

  • Déployez une application native iOS ou macOS en Swift ou Objective-C vers plusieurs langages cibles.
  • J'ai commencé la migration depuis Localizable.strings/.stringsdict aux catalogues de chaînes de caractères d'Xcode 15, ou conserver 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 pas la bonne priorité

  • Une application iOS pré-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 ne comportant qu'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 qu’une installation d’un connecteur de dépôt.

Liste de contrôle 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 .strings hérités et .stringsdict Des formats ?
Un outil qui ne prend en charge que les anciens formats impose une étape de conversion manuelle une fois qu’un projet migre vers le format par défaut de Xcode 15.

Comment les espaces réservés de type iOS comme %@ et %d sont-ils protégés lors de la traduction ?
Cherchez un format provisoire conçu spécifiquement pour les conventions iOS, pas un modèle générique configuré à la main 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, donc un traducteur travaillant sur l’un ou l’autre doit voir chaque forme plurielle requise par une langue cible, pas seulement « une » et « autre ».

Avez-vous réellement besoin de la fonctionnalité d'exportation/importation des localisations d'Xcode ?
Si l’outil de traduction analyse .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 puisse analyser, le contexte visuel basé sur une capture d'écran ou une vidéo constitue le substitut pratique.

Comment Smartling supporte-t-il la localisation des chaînes Swift et iOS ?

Smartling analyse nativement les trois formats de fichiers de ressources Apple : .strings fichiers (identifiant iosde type de fichier Smartling), .stringsdict fichiers pour les chaînes sensibles au pluriel (identifiant stringsdict) et les catalogues de chaînes (identifiant xcstrings), que Smartling a pris en charge en janvier 2025 et étendus au nouveau format XCStrings 1.1, y compris les substitutions de 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 substitut. Étant donné que les applications iOS natives ne contiennent pas de code HTML qu'un outil basé sur un navigateur puisse analyser, la fonctionnalité Visual Context 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 exacte sur laquelle travaille un traducteur. Pour les équipes qui déploient des versions iOS via GitHub, le connecteur GitHub de Smartling suit une branche spécifique et détecte les nouvelles chaînes de caractères ou celles modifiées. .stringsdict, ou .xcstrings dans une pull request, et renvoie 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 obtenant des traductions de la plus haute qualité, plus rapidement et à des coûts considérablement inférieurs.