Wat is het STRINGS-bestandsformaat?
Een .strings-bestand is een tekstbestand waarin gelokaliseerde weergaveteksten - zoals meldingen, foutberichten, knoplabels en andere UI-tekst - voor macOS- en iOS-applicaties worden opgeslagen. Veel .strings-bestanden met diverse waarschuwingen, notificaties en foutmeldingen worden bewaard binnen de app-bundel, georganiseerd in taalspecifieke .lproj-mappen (bijvoorbeeld en.lproj/ voor Engels of fr.lproj/ voor Frans). Het besturingssysteem selecteert tijdens runtime de juiste .lproj-map om de tekst weer te geven die bij de landinstelling past.
De meest voorkomende bestandsnaam is Localizable.strings - het standaardbestand dat Xcode automatisch opzoekt. Elke vermelding volgt een eenvoudige sleutel-waarde-syntaxis: "key" = "value"; - sleutels en waarden zijn geciteerde tekenreeksen, gescheiden door een = en afgesloten met een puntkomma. Commentaar gebruikt de C-stijl /* */ of // syntaxis. Bron-.strings-bestanden zijn gecodeerd als UTF-8 (voorkeur sinds Xcode 10) of historisch als UTF-16 met een byte-order mark.
Een .strings-bestand kan worden geopend en bewerkt door Apple Xcode, MacroMates TextMate, BBEdit, VS Code of elke platte-tekstverwerker. Tijdens een Xcode-build worden bron-.strings-bestanden gecompileerd naar een binair property list-formaat binnen de app-bundel, waardoor de geïmplementeerde bestanden verschillen van de brontekst.
Apple introduceerde .xcstrings (String Catalogs) in Xcode 15 (2023) als een modern, op JSON gebaseerd alternatief met ingebouwde ondersteuning voor meervoudsvormen en grammaticale varianten. Het .strings-formaat blijft volledig ondersteund en wordt veelvuldig gebruikt op macOS, iOS, iPadOS, tvOS en watchOS.
Beveiliging & veiligheid
RISICO: LOW.strings-bestanden zijn platte tekst zonder uitvoerbare inhoud. Geen beveiligingsrisico bij het openen. Bij het wijzigen van strings binnen een app-bundel van derden (jailbreak/mod) kun je de licentie of voorwaarden van de app schenden.
Formaatdetails
in een notendopProgramma's die STRINGS-bestanden openen
Technische details
diepe specificaties| Codering | UTF-8 (voorkeur, Xcode 10+); UTF-16 LE of BE met BOM (legacy-conventie) |
| Legacy BOM | UTF-16 LE: `FF FE`; UTF-16 BE: `FE FF`; gecompileerde binaire plist-vorm begint met `bplist` (hex 62 70 6C 69 73 74) |
| Syntaxis invoer | `"key" = "value";` - zowel sleutel als waarde tussen dubbele aanhalingstekens; puntkomma-afsluiting vereist |
| Syntaxis commentaar | C-stijl `/* blokcommentaar */` of `//` regelcommentaar |
| Mapconventie | Bestanden geplaatst in `.lproj`-mappen vernoemd naar landinstelling (bijv. `en.lproj/`, `ja.lproj/`, `fr.lproj/`) |
| Standaard bestandsnaam | `Localizable.strings` - het bestand waarin Xcode standaard zoekt naar voor de gebruiker zichtbare tekstreeksen |
| Gecompileerde vorm | Xcode converteert bron-`.strings` naar binaire plist tijdens de app-build; gedistribueerde app-bundels bevatten binaire code, geen brontekst |
| Meervouds-/geslachtsregels | Een bijbehorend `.stringsdict`-bestand (XML plist) in dezelfde `.lproj`-map regelt meervoudsvormen en grammaticale varianten |
| Opvolgend formaat | `.xcstrings` (String Catalogs, op JSON gebaseerd, Xcode 15 / 2023) is de moderne vervanger voor nieuwe projecten |
| MIME-type | `text/plain` voor bronvorm; gecompileerde binaire vorm is `application/octet-stream` |
| Platformbereik | macOS, iOS, iPadOS, tvOS, watchOS en visionOS |
| Build-tools | `genstrings` extraheert tekstreeksen uit broncode naar `.strings`-bestanden; `ibtool` compileert ze naar binaire plist in de app-bundel |
| Uitgebracht | Mac OS X 10.0 (March 2001); later adopted for iOS (2007) |
| Laatste versie | Strings files remain current; Apple introduced .xcstrings (String Catalogs) in Xcode 15 / 2023 as a modern alternative |
| Specificatie | developer.apple.com |
STRINGS conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over STRINGS-bestanden.