Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "Initiale Historie"v9.7.13.11.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Prettier-Plugin
prettier-plugin-intlayer bringt die Schlüssel Ihrer Übersetzungen bei jeder Formatierung durch Prettier in eine feste Reihenfolge. Diffs bleiben übersichtlich, Merge-Konflikte werden seltener und fehlende Locales fallen sofort auf.
Kopieren Sie den Code in die Zwischenablage
Installation
Kopieren Sie den Code in die Zwischenablage
Erfordert Prettier 3 oder höher.
Wenn Ihr Projekt bereits Prettier verwendet, installiert intlayer init prettier das Plugin und trägt es automatisch in Ihre Konfiguration ein.
Verwendung
Fügen Sie das Plugin zu Ihrer Prettier-Konfiguration hinzu:
Kopieren Sie den Code in die Zwischenablage
Um es nur auf Ihre Inhaltsdeklarationen anzuwenden, verwenden Sie ein Override:
Kopieren Sie den Code in die Zwischenablage
Was sortiert wird
t(): Locales
Die festgehefteten (pinned) Locales stehen an erster Stelle (en standardmäßig). Die übrigen Locales folgen in alphabetischer Reihenfolge.
Kopieren Sie den Code in die Zwischenablage
plural(): CLDR-Reihenfolge
Die Kategorien verlaufen von der kleinsten Menge bis zum Fallback: zero, one, two, few, many, other.
Kopieren Sie den Code in die Zwischenablage
enu(): Aufsteigende Schwellenwerte
Bedingungen werden nach ihrer Zahl und anschließend nach Operator sortiert (<1, <=1, 1, >=1, >1). fallback steht an letzter Stelle.
Kopieren Sie den Code in die Zwischenablage
Zur Laufzeit greift die erste zutreffende Bedingung. Das Plugin wendet die neue Reihenfolge nur an, wenn jede Menge weiterhin zu demselben Inhalt aufgelöst wird. Wenn die Reihenfolge das Ergebnis beeinflussen würde, bleibt das Objekt unverändert. Beispielsweise fängt in { '<1': …, '<=-2.3': … } der Schlüssel '<1' jede negative Zahl ab.
select(): Alphabetisch
Fälle werden alphabetisch sortiert und fallback steht am Ende.
Kopieren Sie den Code in die Zwischenablage
Ohne einen Schlüssel fallback oder other dient der letzte Fall als Fallback. Dieser Fall bleibt an letzter Stelle und nur die vorangehenden Fälle werden sortiert.
.content.json-Dateien
Die serialisierte Form wird genauso sortiert: { "nodeType": "translation", "translation": { … } } sowie Knoten für plural, enumeration und select.
Inhaltsschlüssel (Opt-in)
Mit intlayerSortContentKeys: true sortiert das Plugin auch die Schlüssel des Wörterbuchs content alphabetisch auf jeder Schachtelungsebene. Dies gilt ausschließlich für *.content.*-Dateien.
Kopieren Sie den Code in die Zwischenablage
Die Sortierung durchläuft alle Hilfsfunktionen (t, plural, enu, select, cond, gender, md, insert, nest, file…), um die darin enthaltenen Objekte zu erreichen. Die interne Schlüsselstruktur jedes Helpers behält ihre Ordnung bei. An cond() und gender() übergebene Schlüssel werden nie umgeordnet, da ihr letzter Schlüssel als Fallback dient. Felder neben content (key, title, locale…) bleiben unverändert.
Optionen
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Option | Standard | Beschreibung |
|---|---|---|
intlayerPinnedLocales | ["en"] | Locales, die in t() an erster Stelle gehalten werden, in dieser Reihenfolge. Übergeben Sie [], um alle Locales zu sortieren. |
intlayerSortContentKeys | false | In *.content.*-Dateien auch die Inhaltsschlüssel des Wörterbuchs und verschachtelte Objekte sortieren. |
Was unverändert bleibt
- Objekte mit Spread (
...base), berechnetem Schlüssel ([key]), Methode oder doppeltem Schlüssel. plural()-Maps mit einem Schlüssel, der keine CLDR-Kategorie ist.enu()-Maps, deren neue Reihenfolge den aufgelösten Inhalt verändern würde.- Aufrufe anderer Funktionen, die wie ein Helper benannt sind, aber kein Objektargument erhalten.
Kommentare wandern mit dem Schlüssel, zu dem sie gehören.
Unterstützte Parser
babel, babel-flow, babel-ts, typescript, flow, acorn, espree, meriyah, json, json5 und jsonc. Die <script>-Blöcke von Vue-, Svelte- und Astro-Dateien werden mit diesen Parsern formatiert.
Bekannte Einschränkung. Prettier führt pro Parser nur ein einziges Plugin aus. Wenn ein weiteres Plugin ebenfalls die JavaScript/TypeScript-Parser ersetzt (beispielsweiseprettier-plugin-tailwindcss), wird nur das zuletzt aufgeführte auf diese Dateien angewendet. Beschränken Sieprettier-plugin-intlayermit einem Override auf*.content.*-Dateien, um diesen Konflikt zu vermeiden.
