Lingo.dev + .json5 (JSON5)
Lingo.dev CLI übersetzt JSON5-Lokalisierungsdateien mit vollständiger Unterstützung für JSON5-Syntax einschließlich Kommentaren, unquotierten Schlüsseln, nachgestellten Kommas und einfachen Anführungszeichen. Die CLI bewahrt die JSON5-Formatierung und entwicklerfreundliche Syntax bei, während sie die Framework-Kompatibilität gewährleistet und aus Kostengründen nur modifizierte Inhalte verarbeitet.
Schnelle Einrichtung
Erstellen Sie eine i18n.json
Konfigurationsdatei:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"json5": {
"include": ["locales/[locale].json5"]
}
}
}
Hinweis: [locale]
ist ein Platzhalter, der wörtlich in der Konfiguration bleiben sollte, da er während der CLI-Ausführung durch die tatsächliche Locale ersetzt wird.
Alles übersetzen
npx lingo.dev@latest i18n
Verarbeitet automatisch JSON5-Syntaxfunktionen, behält Kommentare und Formatierung bei und aktualisiert nur geänderte Inhalte.
JSON5-Syntax-Unterstützung
JSON5 erweitert JSON mit entwicklerfreundlicher Syntax:
{
// Kommentare werden unterstützt
title: "Hello, world!", // Zeilenkommentare funktionieren
description: 'Einfache Anführungszeichen erlaubt',
unquoted: 'Schlüssel funktionieren ohne Anführungszeichen',
trailing: 'Komma ist in Ordnung',
/* Blockkommentare
werden ebenfalls unterstützt */
multiline: "Dies ist ein \
langer String, der \
über mehrere Zeilen geht",
// Hexadezimale Zahlen
hex_value: 0xDEADBEEF,
positive: +123,
nested: {
key: 'value',
}, // Nachgestelltes Komma erlaubt
}
Intelligente Strukturerhaltung
Behält JSON5-Syntax und Framework-Konventionen bei:
{
nav: {
home: "Home",
about: {
team: "Unser Team"
}
},
items: {
one: "{{count}} Element",
other: "{{count}} Elemente"
},
// Konfiguration bleibt intakt
version: 0x010203
}
Erweiterte Konfiguration
Dateien ausschließen
"json5": {
"include": ["locales/[locale]/*.json5"],
"exclude": ["locales/[locale]/config.json5"]
}
Technische Schlüssel sperren
"json5": {
"lockedKeys": ["app/version", "settings/apiKey"]
}
Verwenden Sie Schrägstriche (/
) für verschachtelte Schlüsselpfade oder Sternchen (*
), um mehrere Schlüsselpfade abzugleichen.
JSON5 vs JSON
JSON5 bietet eine verbesserte Entwicklererfahrung bei vollständiger JSON-Kompatibilität:
- Kommentare: Dokumentieren Sie Ihre Übersetzungen mit Inline- und Block-Kommentaren
- Unzitierte Schlüssel: Übersichtlichere Syntax ohne Anführungszeichen um Eigenschaftsnamen
- Nachfolgende Kommas: Einfachere Bearbeitung und bessere Versionskontroll-Diffs
- Einfache Anführungszeichen: Flexibilität bei der String-Zitierung
- Mehrzeilige Strings: Bessere Lesbarkeit für lange Texte
- Zahlenformate: Hexadezimal, positive Vorzeichen und mehr
Alle JSON-Dateien sind gültige JSON5-Dateien, was die Migration nahtlos macht.