Localizable.strings omzetten naar .xcstrings

Sleep je Localizable.strings-bestanden hierheen (één per taal): de tool voegt ze samen tot één .xcstrings String Catalog die je kunt downloaden. Gratis, zonder account, en je bestanden verlaten je browser niet.

Zet je .strings-bestanden om

Of plak de inhoud van een bestand

Omgezet in je browser: er wordt geen bestand geüpload.

Bewerk de catalogus zonder terug te gaan naar Xcode

LocalePilot is een desktopapp die je .xcstrings-bestanden opent, placeholders controleert (%@, %1$@, %d), desgewenst vertaalt met lokale AI en het bestand daarna terugschrijft in de stijl van Xcode: een ongewijzigde catalogus komt er byte-identiek uit. De app wordt afgerond voor macOS: laat je e-mailadres achter om te horen wanneer hij uitkomt.

Wat de converter doet

  • Leest je .strings-bestanden (UTF-8 of UTF-16, commentaar met /* … */ en //, escapes \n, \" en \U00e9).
  • Voegt alle talen van een tabel samen tot één catalogus (Localizable.xcstrings, InfoPlist.xcstrings…): één vermelding per sleutel, met de vertaling van elke taal in de status translated. Tabellen worden nooit gemengd.
  • Gebruikt het commentaar boven een sleutel als commentaar van de vermelding.
  • Meldt sleutels die in een taal ontbreken, sleutels die twee keer zijn gedefinieerd en onleesbare regels.

Het bestand wordt geschreven in de stijl van Xcode (inspringing van 2 spaties, een spatie vóór elke dubbele punt), zodat je Git-diff leesbaar blijft.

Localizable.strings omzetten naar xcstrings

  1. Verzamel het bestand Localizable.strings uit elke map xx.lproj.
  2. Sleep de projectmap of de bestanden een voor een hierheen en controleer de taal van elk bestand.
  3. Kies de brontaal, download Localizable.xcstrings en voeg het toe aan je Xcode-project.
  4. Build en bekijk daarna de diff: sleutels gemarkeerd als Stale, nieuwe sleutels uit de code en format specifiers komen aan bod in de handleiding over migreren naar een String Catalog.

Wat de converter niet doet

Hij leest geen .stringsdict-bestanden: meervoudsvormen en apparaatvariaties laat hij over aan Xcode of een catalogus-editor. Hij scant je code niet, dus voegt hij niet de teksten toe die Xcode uit SwiftUI-literals zou halen. Voor een heel project blijft het commando Migrate to String Catalog van Xcode de referentie; deze tool is voor losse bestanden, een export van een vertaler of een snelle test.

Veelgestelde vragen

Worden mijn .strings-bestanden naar een server geüpload?

Nee. Je bestanden worden lokaal gelezen en de catalogus wordt in de pagina opgebouwd: de download komt uit je browser, zonder tussenkomst van een server.

Hoe weet de tool de taal van elk bestand?

Hij leest die uit de naam van de map xx.lproj als je een map hierheen sleept, of uit de bestandsnaam (Localizable_nl.strings). Anders vul je de taal zelf in voordat je de catalogus maakt.

Waarom niet de migratie van Xcode gebruiken?

Voor een heel project is dat de beste keuze: de migratie verwerkt ook .stringsdict en kent je code. Deze converter is voor losse bestanden, zonder het project te openen, zoals een export van een vertaler of een test.

Worden meervoudsvormen uit .stringsdict omgezet?

Nee, alleen .strings-bestanden worden gelezen. Meervoudsvormen maak je in Xcode opnieuw als meervoudsvariaties in de catalogus.

Mijn .strings-bestand is UTF-16, is dat een probleem?

Nee, de UTF-16-codering van bestanden die Xcode maakt, wordt automatisch herkend, net als UTF-8.

Is de gemaakte catalogus geldig?

Het is JSON in het String Catalog-formaat (versie 1.0). Hij compileert met xcstringstool van Xcode, maar open hem in Xcode en bekijk de diff voordat je commit.

Wat is het verschil met LocalePilot?

Deze tool zet bestanden één keer om. LocalePilot is een desktopapp (wordt afgerond voor macOS) die .xcstrings bewerkt, placeholders controleert, vertaalt met AI en exporteert met een back-up.

Ontvang een bericht bij de lancering

LocalePilot wordt afgerond. Laat je e-mailadres achter om te horen wanneer het uitkomt.

  • macOS 12 of nieuwer · Ollama of LM Studio optioneel
  • App-interface in het Engels, Frans, Spaans, Italiaans en Portugees.