Formate / Android strings.xml

strings.xml, mit dem Escaping, an dem Ihr Build sonst scheitert

Android hat zwei Regeln, die in entgegengesetzte Richtungen scheitern, und beide lassen sich von Hand leicht falsch machen.

strings.xml

Ein nicht escapter Apostroph bricht den Build, ein unnötig escapter zeigt einen Backslash

aapt lehnt einen nackten Apostroph in einer String-Ressource ab, sodass eine französische oder italienische Übersetzung den Build stoppt, statt fehlerhaft ausgeliefert zu werden. Escapen Sie einen, der es nicht brauchte, sieht der Nutzer einen Backslash auf dem Bildschirm.

Linguiqo escapt beim Export und hebt das Escaping beim Import auf, sodass der Nutzer liest, was der Übersetzer tippt, und der Build bekommt, was aapt akzeptiert. Die beiden Schritte laufen in jeder Richtung in umgekehrter Reihenfolge, und genau das übersieht ein selbst geschriebenes Skript meistens.

Quantity Strings sind Pluralformen in Android-Schreibweise

Ein plurals-Element enthält item-Elemente nach quantity: zero, one, two, few, many, other. Welche davon eine Sprache tatsächlich nutzt, bestimmt CLDR, nicht die Datei, und ein item, das eine Sprache nie auswählt, ist Ballast, den der Build trotzdem mitliefert.

Linguiqo schreibt genau die Kategorien, die die Zielsprache nutzt.

Fragen

Bleiben meine String-Arrays erhalten?

Nein. Gelesen und geschrieben werden nur Strings und Quantity Strings, eine exportierte Datei enthält also keine string-array-Elemente. Halten Sie Arrays in einer eigenen Ressourcendatei, die Linguiqo nicht zuordnet.

Wird translatable="false" berücksichtigt?

Texte, die als nicht übersetzbar markiert sind, landen nicht in der Warteschlange des Übersetzers.

Laden Sie eine Android strings.xml-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