Anleitung · Quellwerte
Den Quellwert eines Schlüssels aktualisieren
Das Anlegen eines Schlüssels mit create_key oder create_keys_bulk setzt seinen Quellwert nur einmal. Ein erneuter Lauf mit einem geänderten source_value bewirkt nichts — beabsichtigt, damit ein automatisiertes Seeding den Quelltext niemals überschreibt. So ändern Sie die Quelle eines Schlüssels bewusst nach seiner Erstellung.
Das No-op, auf das Sie stoßen werden
create_key und create_keys_bulk akzeptieren einen source_value, berücksichtigen ihn aber nur, wenn sie den Schlüssel tatsächlich erstellen. Rufen Sie sie für einen bereits existierenden Schlüssel erneut auf, wird der neue source_value stillschweigend verworfen — der Aufruf gelingt trotzdem, der Schlüssel kommt mit created: false zurück, und der Quelltext bleibt unverändert.
create_keys_bulk 1// create_keys_bulk — source_value on a key that ALREADY exists2{ "items": [3 { "namespace": "common", "name": "checkout.title",4 "source_value": "Checkout" }5] } 7// → no update_source: the existing source is left untouched8{ "results": [{ "index": 0, "status": "ok", "created": false }] } Lösung: update_source
Fügen Sie update_source: true zum Schlüssel hinzu — es ist ein Feld pro Schlüssel (an create_key oder an jedem items[]-Eintrag von create_keys_bulk), niemals ein globales Flag. Der Quellwert wird dann auch bei einem bestehenden Schlüssel aktualisiert (created bleibt false). Es ist Opt-in: ein routinemäßiges Re-Seeding ändert den Quelltext niemals versehentlich.
create_keys_bulk 1// update_source is a PER-ITEM flag — never a global one2{ "items": [3 { "namespace": "common", "name": "checkout.title",4 "source_value": "Checkout", "update_source": true }5] } 7// → created:false (the key existed) but the source is now upserted8{ "results": [{ "index": 0, "status": "ok", "created": false }] } Beide laufen über die MCP-Oberfläche (ein Schlüssel mit dem Scope mcp:*), und das Projekt muss bereits eine Quellsprache haben. Die Änderung erhöht die Version und wird in der Historie des Schlüssels protokolliert.
Oder die Quellsprache erneut importieren
Der i18next-Import in einem Durchlauf aktualisiert auch Quellwerte. Das erneute Importieren Ihrer Quellsprachdateien aktualisiert alle bestehenden Quellen in einem einzigen Aufruf — praktisch, wenn der Quelltext bereits in Ihrem Repository liegt.
terminal 1# or re-import your source-language files — import upserts source values2sonenta import "./locales/en/**/*.json" # en = your source language Was sich ändert
- Versioniert und auditiert. Die neue Quelle ist eine normale versionierte Bearbeitung, Ihrem API-Schlüssel zugeschrieben, und erscheint in der Historie des Schlüssels.
- Ereignisse über fehlende Schlüssel werden aufgelöst. Offene Ereignisse über fehlende Schlüssel für diese Schlüssel werden automatisch aufgelöst, sobald ein echter Quellwert eintrifft.
- Opt-in von Design her. Ohne
update_sourcebleibt einsource_valueauf einem bestehenden Schlüssel ignoriert — ein erneuter Lauf Ihres Seed-Skripts überschreibt den Quelltext niemals versehentlich.