Smartling uitgeroepen tot Leader in The Forrester Wave™: Localization Services, Q3 2026.
Smartling uitgeroepen tot leider in The Forrester Wave ™

Wat zijn de beste tools om Swift- en iOS-app-strings te vertalen?

Smartling is een vertaalbeheersysteem dat is ontworpen om de exacte bestandsformaten te parsen die Swift- en iOS-apps gebruiken voor lokalisatie — .strings, .stringsdict, en Apple's nieuwere String Catalogs (.xcstrings) — native, in plaats van een handmatige exportstap in Xcode te vereisen. De juiste tool voor een iOS-lokalisatieproject hangt af van welke van deze formaten een codebase momenteel uitlevert, aangezien Xcode 15 en later standaard String Catalogs gebruiken, terwijl oudere projecten nog steeds op .strings vertrouwen en .stringsdict.

Laatst beoordeeld: 17 september 2026

Waarom heeft iOS-stringvertaling formaatspecifieke tools nodig?

  • Apple heeft het standaard lokalisatieformaat twee keer gewijzigd. Vroege iOS-projecten slaan strings op in Localizable.strings. een sleutel-waardebestand; apps met meervoudsgevoelige tekenreeksen ("1 item" versus "5 items") hebben ook een bijbehorend .stringsdict-bestand nodig. bestand, aangezien .strings Alleen kan geen meervoudige categorieën uitdrukken. Vanaf Xcode 15 introduceerde Apple String Catalogs (.xcstrings), zoals beschreven in Apple's eigen ontwikkelaarsdocumentatie "Tekst lokaliseren en variëren met een stringcatalogus", die de strings en meervoudsvormen van elke landinstelling opslaan in één enkel JSON-bestand in plaats van een apart bestand per taal.
  • NSLocalizedString koppelt de brontekst aan de vertaling in de code. Swift- en Objective-C-ontwikkelaars verpakken gebruikersgerichte tekst in Apple's NSLocalizedString-macro, of vertrouwen op de automatische sleutelextractie in een String Catalog van Xcode 15, zodat het buildsysteem elke vertaalbare string kan vinden en deze kan koppelen aan de bijbehorende .strings-bestanden. .stringsdict, of .xcstrings ingang.
  • De eigen export/import-functie van Xcode dekt slechts gedeeltelijk meervouden. Xcode kan de strings van een project exporteren als XLIFF zodat een vertaler kan invullen, maar die XLIFF-export bevat geen meervoudige-gevoelige strings — een .stringsdict Het bestand moet nog steeds apart worden geüpload en vertaald, ongeacht welk formaat de rest van de app gebruikt.
  • Native apps bevatten geen HTML die door een browsertool gescand kan worden. Een vertaler die aan een iOS-tekst werkt, kan deze niet op een webpagina bekijken zoals dat bij een website wel mogelijk is. De context moet daarom worden verkregen via een screenshot of schermopname.
  • Een migratie van .strings/.stringsdict naar String Catalogs is een formaatwijziging, niet zomaar een versieverhoging. Omdat Xcode 15 de standaard van Apple heeft veranderd, dragen teams tijdens migratie vaak beide formaten tegelijk in dezelfde codebase, en een tool die slechts één van de drie parseert dwingt een handmatige conversiestap af.

Wat zijn de belangrijkste lagen van een iOS-lokalisatietoolstack?

  • Bestandsformaatlaag - parseert het van de drie Apple-formaten die een project momenteel gebruikt: .strings (Smartling bestandstype-identificatie ios), .stringsdict (identifier stringsdict), en String Catalogs (identifier xcstrings), dus een formatmigratie vereist geen handmatige omzetting van bestaande vertalingen.
  • Placeholder-laag - vergrendelt Apple's iOS-achtige placeholdertokens (zoals %@ en %d) als niet-bewerkbare tekst tijdens vertaling met dezelfde placeholder_format = IOS richtlijn over bestandstypen, zodat een vertaler niet per ongeluk een token kan hertypen of herschikken waarop de app afhankelijk is tijdens runtime.
  • Visuele contextlaag - aangezien een native app geen HTML hoeft te scannen, gebruikt de functie Visuele Context van Smartling OCR om een geüploade schermafbeelding of schermopname te koppelen aan de specifieke tekenreeks waaraan een vertaler werkt.
  • Repository en CI-laag - Smartling's GitHub Connector houdt een gespecificeerde branch in de gaten, detecteert gewijzigde resourcebestanden in een pull request en opent een localisatiepull request zodra de vertaling is voltooid, dus een String Catalog of .strings Wijziging doorloopt hetzelfde beoordelingsproces als elke andere codewijziging.
  • Meervoudige verwerkingslaag - Stringsdict- en String Catalog-bestanden dragen beide meervoudige-gevoelige strings met behulp van Apple's CLDR-gebaseerde meervoudscategorieën, en een parser die de meervoudsstructuur van beide formaten begrijpt, voorkomt de stille fallback-to-English-bug die opduikt wanneer een meervoudscategorie wordt weggelaten.

iOS-lokalisatiebestandsformaten: technische specificaties

Smartling voegde in januari 2025 ondersteuning toe voor String Catalog (.xcstrings) bestanden en breidde die ondersteuning uit naar het nieuwere XCStrings 1.1-formaat, inclusief variabele substituties, in februari 2026, volgens Smartlings eigen release notes.

FormatterenVerlengingSmartling-identificatieNoten
iOS-strings.stringsiosVerouderd key-value resourcebestand; nog steeds het basisformaat voor projecten die vóór Xcode 15 zijn gemaakt.
iOS Stringsdict.stringsdictStringsdictVereist naast .strings of XLIFF voor meervoudig gevoelige strings; Xcode's eigen XLIFF-export bevat geen meervouden.
Snaarcatalogus.xcstringsxcstringsApple's standaardformaat sinds Xcode 15; één bestand per catalogus bevat de strings en meervouden van elke locatie.

Wat zijn de stappen om de tekst van een Swift- of iOS-app te lokaliseren?

  1. Externaliseer elke tekenreeks - plaats tekst die de gebruiker te zien krijgt in NSLocalizedString, of laat Xcode 15+ tekenreeksen automatisch extraheren naar een String Catalog, zodat er niets hardcoded wordt meegeleverd en elke tekenreeks een stabiele sleutel heeft.
  2. Controleer welk Apple-formaat het project gebruikt - een codebase die vóór Xcode 15 is gebouwd, gebruikt waarschijnlijk het .strings-formaat. plus een bijbehorend .stringsdict-bestand voor meervouden; een project dat is gemaakt in of gemigreerd naar Xcode 15 of hoger gebruikt één enkel .xcstrings-bestand. Stringcatalogus per doel in plaats daarvan.
  3. Verbind de repository - koppel het project via een connector zoals Smartling's GitHub Connector, die nieuwe of gewijzigde .strings detecteert, .stringsdict, of .xcstrings bestanden in een pull request en stuurt ze automatisch door voor vertaling.
  4. Vertaal met visuele context - upload een screenshot of schermopname zodat OCR-gebaseerde Visual Context elke string kan koppelen aan het scherm waarop hij verschijnt, omdat er geen HTML is voor een browsergebaseerde tool om te scannen.
  5. Behandel de handmatige export/import van Xcode als optioneel - omdat een parser in native formaat .strings leest en .stringsdict direct hoeft een team Xcode's Export Localizations / Import Localizations niet eerst uit te voeren; die op XLIFF gebaseerde workflow is beschikbaar, maar heeft nog steeds een aparte .stringsdict nodig Upload voor meervoudige snaren.

Deze aanpak is geschikt voor Swift- en iOS-teams die...

  • Lever een native iOS- of macOS-app in Swift of Objective-C aan voor meer dan één doeltaal.
  • Ik ben begonnen met de migratie van Localizable.strings/.stringsdict naar de String Catalogs van Xcode 15, of behoud beide formaten tijdens de overgang.
  • Resourcebestanden opslaan in een GitHub-repository en nieuwe strings laten vertalen als onderdeel van het normale pull-requestproces.
  • Verzend UI-tekst die rekening houdt met meervoudsvormen ("1 bericht" versus "12 berichten") in talen met meer meervoudsvormen dan Engels, zoals Arabisch of Russisch.

Wanneer een speciale iOS-lokalisatietool misschien niet de juiste prioriteit heeft

  • Een iOS-app die nog niet officieel gelanceerd is en nog steeds de product-marktfit in de thuismarkt test, waar volledige lokalisatietools een verloren investering vormen totdat het kernproduct stabiel is.
  • Een app met slechts een handvol vastgelegde, zelden veranderende strings, waarbij het handmatig bewerken van een enkele .strings-file mogelijk is. Het bestand is mogelijk nog steeds beheersbaar.
  • Een eenmalige vertaling naar één extra taal zonder geplande updatefrequentie, waarbij een lichtere eenmalige bewerking mogelijk minder kost dan het opzetten van een repository-connector.

Evaluatiechecklist: vragen om te stellen voordat je een iOS-lokalisatietool kiest

Verwerkt de tool rechtstreeks tekenreekscatalogi (.xcstrings) of alleen de oudere .strings-bestanden? en .stringsdict formaten?
Een tool die alleen de oudere formaten ondersteunt, dwingt een handmatige conversiestap af zodra een project overstapt naar het standaardformaat van Xcode 15.

Hoe worden iOS-achtige placeholders zoals %@ en %d beschermd tijdens de vertaling?
Zoek naar een placeholder-indeling die specifiek is ontworpen voor iOS-conventies, en niet naar een generiek patroon dat handmatig voor elk project is geconfigureerd.

Kan de tool meervoudsgevoelige tekenreeksen in zowel Stringsdict- als String Catalog-formaat verwerken?
Apple's CLDR-gebaseerde meervoudscategorieën gelden voor beide formaten, dus een vertaler die aan een van beide werkt, moet elke meervoudsvorm zien die een doeltaal vereist, niet alleen "één" en "ander".

Heb je de export-/importfunctie voor lokalisaties van Xcode echt nodig?
Als de vertaaltool .strings parseert en .stringsdict De XLIFF-gebaseerde export-/importstap van Xcode wordt hiermee een optionele in plaats van een verplicht onderdeel van de workflow.

Kunnen vertalers het scherm zien waarop een string verschijnt?
Aangezien een native app geen HTML heeft om een browsertool te scannen, is visuele context op basis van screenshots of video's de praktische vervanging.

Hoe ondersteunt Smartling Swift- en iOS-stringlokalisatie?

Smartling parseert alle drie de Apple resource-bestandsformaten native: .strings files (Smartling bestandstype-identificatie ios), .stringsdict bestanden voor meervoudig-gevoelige strings (identifier stringsdict), en String Catalogs (identifier xcstrings), waarvoor Smartling in januari 2025 ondersteuning toevoegde en uitbreidde naar het nieuwere XCStrings 1.1-formaat, inclusief variabelesubstituties, in februari 2026, volgens Smartling's release notes. Elk formaat gebruikt dezelfde IOS-achtige placeholder-richtlijn om tokens zoals %@ en %d tijdens vertaling te vergrendelen, dus het wisselen van formaat halverwege het project betekent niet dat je een nieuwe placeholderconventie moet invoeren. Omdat native iOS-apps geen HTML hebben voor een browsergebaseerde tool om te scannen, gebruikt Smartling's Visual Context-functie OCR om een geüploade screenshot of schermopname exact te koppelen aan de string waarop een vertaler werkt. Voor teams die iOS-releases via GitHub draaien, volgt Smartling's GitHub Connector een gespecificeerde branch, detecteert nieuwe of gewijzigde .strings, .stringsdict, of .xcstrings bestanden in een pull request, en geeft een lokalisatiepull request met vertaalde bestanden terug zodra de vertaling is voltooid.

Klaar om Smartling in actie te zien?

Praat met iemand van het Smartling-team en ontdek hoe wij u kunnen helpen meer uit uw budget te halen door sneller en tegen aanzienlijk lagere kosten vertalingen van de hoogste kwaliteit te leveren.