Qu'est-ce que le format de fichier STRINGS ?
Un fichier .strings est un fichier texte qui stocke des chaînes d'affichage localisées - alertes, messages d'erreur, libellés de boutons et autres textes de l'interface utilisateur - pour les applications macOS et iOS. De nombreux fichiers .strings contenant divers messages d'alerte, de notification et d'erreur sont stockés dans le paquet de l'application (app bundle), organisés dans des répertoires .lproj spécifiques à la langue (par exemple, en.lproj/ pour l'anglais ou fr.lproj/ pour le français). Le système d'exploitation sélectionne le bon dossier .lproj au moment de l'exécution pour afficher le texte approprié à la langue locale.
Le nom de fichier le plus courant est Localizable.strings - le fichier par défaut que Xcode recherche automatiquement. Chaque entrée suit une syntaxe clé-valeur simple : "clé" = "valeur"; - les clés et les valeurs sont des chaînes entre guillemets, séparées par = et terminées par un point-virgule. Les commentaires utilisent la syntaxe de style C /* */ ou //. Les fichiers .strings sources sont encodés en UTF-8 (préféré depuis Xcode 10) ou historiquement en UTF-16 avec une marque d'ordre des octets (BOM).
Un fichier .strings peut être ouvert et édité par Apple Xcode, MacroMates TextMate, BBEdit, VS Code ou n'importe quel éditeur de texte brut. Lors de la compilation dans Xcode, les fichiers .strings sources sont compilés au format de liste de propriétés binaire (binary property list) à l'intérieur du paquet de l'application, de sorte que les fichiers déployés diffèrent du texte source.
Apple a introduit .xcstrings (Catalogues de chaînes) dans Xcode 15 (2023) comme une alternative moderne basée sur le JSON avec une prise en charge intégrée des pluriels et des variantes grammaticales. Le format .strings reste entièrement pris en charge et largement utilisé sur macOS, iOS, iPadOS, tvOS et watchOS.
Sécurité et sûreté
RISQUE : LOWLes fichiers .strings sont du texte brut sans contenu exécutable. Aucun risque de sécurité lors de leur ouverture. Lors de la modification de chaînes à l'intérieur d'un paquet d'application tiers (jailbreak/mod), vous pouvez enfreindre la licence ou les conditions d'utilisation de l'application.
Détails du format
en brefProgrammes qui ouvrent les fichiers STRINGS
Détails techniques
spécifications approfondies| Encodage | UTF-8 (préféré, Xcode 10+) ; UTF-16 LE ou BE avec BOM (convention héritée) |
| BOM hérité | UTF-16 LE : `FF FE` ; UTF-16 BE : `FE FF` ; la forme plist binaire compilée commence par `bplist` (hex 62 70 6C 69 73 74) |
| Syntaxe d'entrée | `"clé" = "valeur";` - la clé et la valeur sont entre guillemets doubles ; le point-virgule de fin est obligatoire |
| Syntaxe des commentaires | Style C `/* commentaire de bloc */` ou commentaires de ligne `//` |
| Convention de répertoire | Fichiers placés dans des répertoires `.lproj` nommés par paramètre régional (ex: `en.lproj/`, `ja.lproj/`, `fr.lproj/`) |
| Nom de fichier par défaut | `Localizable.strings` - le fichier dans lequel Xcode recherche les chaînes visibles par l'utilisateur par défaut |
| Forme compilée | Xcode convertit les fichiers `.strings` sources en plist binaire lors de la compilation de l'application ; les paquets d'applications déployés contiennent du binaire, pas du texte source |
| Règles de pluriel/genre | Un fichier `.stringsdict` associé (XML plist) dans le même répertoire `.lproj` gère les formes plurielles et les variantes grammaticales |
| Format successeur | `.xcstrings` (Catalogues de chaînes, basé sur JSON, Xcode 15 / 2023) est le remplaçant moderne pour les nouveaux projets |
| Type MIME | `text/plain` pour la forme source ; la forme binaire compilée est `application/octet-stream` |
| Portée de la plateforme | macOS, iOS, iPadOS, tvOS, watchOS et visionOS |
| Outils de compilation | `genstrings` extrait les chaînes littérales du code source vers des fichiers `.strings` ; `ibtool` les compile en plist binaire dans le paquet de l'application |
| Publié | Mac OS X 10.0 (March 2001); later adopted for iOS (2007) |
| Dernière version | Strings files remain current; Apple introduced .xcstrings (String Catalogs) in Xcode 15 / 2023 as a modern alternative |
| Spécification | developer.apple.com |
Conversions STRINGS
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers STRINGS.