Formate / Apple String Catalog

String Catalogs, ohne JSON von Hand zu bearbeiten

Xcode 15 hat .strings durch eine einzige .xcstrings-Datei ersetzt, die alle Sprachen auf einmal enthält. Als Format ist sie besser, in einem Pull Request schlechter.

.xcstrings

Eine Datei, alle Sprachen, ein Merge-Konflikt

Das alte .strings-Layout gab jeder Sprache eine eigene Datei, sodass zwei Übersetzer an zwei Sprachen nie dieselben Zeilen berührten. Ein String Catalog legt alle in ein JSON-Dokument, jede Übersetzung landet also in derselben Datei, und zwei beliebige können kollidieren.

Der Import in Linguiqo trennt sie wieder: Jede Sprache wird zu einer Sprache, jeder Schlüssel zu einem Text, und beim Export wird die Datei einmal geschrieben.

Pluralvarianten werden gelesen, nicht plattgedrückt

Ein String Catalog speichert Pluralformen unter variations.plural, nach CLDR-Kategorie. Linguiqo liest sie in dieselben Pluralfelder, die jedes andere Format nutzt, sodass ein tschechischer Übersetzer vier Felder sieht und ein englischer zwei.

Gerätevarianten sind eine andere Achse und bleiben unangetastet, statt erraten zu werden.

Was Xcode zurückbekommt

Eine Datei in der Form, in der sie kam, mit ausgefüllten Lokalisierungen. Schlüssel, die Xcode extrahiert hat, bleiben, wie Xcode sie geschrieben hat.

Hat sich ein Text seit der letzten Synchronisierung sowohl in Xcode als auch in Linguiqo geändert, behält der Import die Version aus Linguiqo und legt die aus der Datei in der Historie des Textes ab.

Fragen

Unterstützt es Pluralformen in .xcstrings?

Ja, variations.plural wird pro Sprache gelesen und den CLDR-Kategorien dieser Sprache zugeordnet.

Kann ich weiterhin .strings-Dateien verwenden?

Ja. Apple .strings wird separat unterstützt, sodass ein Projekt mitten in der Umstellung beides importieren kann.

Laden Sie eine Apple String Catalog-Datei hoch und sehen Sie selbst

Die Demo liest eine echte Datei von Ihnen und zeigt, was dabei herauskommt. Ohne Konto, nach zwei Stunden wird alles gelöscht.

Demo öffnen

Was Linguiqo ist