Guida · Valori sorgente
Aggiornare il valore sorgente di una chiave
Inizializzare una chiave con create_key o create_keys_bulk imposta il suo valore sorgente una sola volta. Rilanciare con un source_value modificato non fa nulla — per progettazione, affinché un seed automatizzato non sovrascriva mai il testo sorgente. Ecco come cambiare deliberatamente la sorgente di una chiave dopo la sua creazione.
Il no-op che incontrerete
create_key e create_keys_bulk accettano un source_value, ma lo onorano solo alla creazione della chiave. Richiamateli su una chiave che esiste già e il nuovo source_value viene silenziosamente ignorato — la chiamata riesce comunque, la chiave torna con created: false e il testo sorgente resta invariato.
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 }] } Soluzione: update_source
Aggiungete update_source: true alla chiave — è un campo per chiave (su create_key, o su ogni voce items[] di create_keys_bulk), mai un flag globale. Il valore sorgente viene allora aggiornato anche su una chiave esistente (created resta false). È opt-in: un re-seed di routine non cambia mai il testo sorgente per sbaglio.
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 }] } Entrambi passano attraverso la superficie MCP (una chiave con scope mcp:*), e il progetto deve già avere una lingua sorgente. La modifica incrementa la versione ed è registrata nella cronologia della chiave.
Oppure reimportare la lingua sorgente
L'import i18next in un'unica passata aggiorna anche i valori sorgente. Reimportare i vostri file della lingua sorgente aggiorna tutte le sorgenti esistenti in un'unica chiamata — comodo quando il testo sorgente vive già nel vostro repository.
terminal 1# or re-import your source-language files — import upserts source values2sonenta import "./locales/en/**/*.json" # en = your source language Cosa cambia
- Versionato e auditato. La nuova sorgente è una normale modifica versionata, attribuita alla vostra chiave API, e appare nella cronologia della chiave.
- Gli eventi di chiave mancante si risolvono. Gli eventi di chiave mancante aperti per queste chiavi si risolvono automaticamente non appena arriva un vero valore sorgente.
- Opt-in per progettazione. Senza
update_source, unsource_valuesu una chiave esistente resta ignorato — rilanciare il vostro script di seed non sovrascrive mai il testo sorgente per sbaglio.