Gå til innholdet
Sonenta

Veiledning · Kildeverdier

Oppdater en nøkkels kildeverdi

Å seede en nøkkel med create_key eller create_keys_bulk setter kildeverdien dens én gang. Å kjøre på nytt med en endret source_value gjør ingenting — det er etter design, slik at en automatisert seed aldri overskriver kildetekst. Her er hvordan du bevisst endrer en nøkkels kilde etter at den allerede finnes.

No-op-en du vil støte på

create_key og create_keys_bulk godtar en source_value, men respekterer den kun når de faktisk oppretter nøkkelen. Kall dem igjen på en nøkkel som allerede finnes, og den nye source_value forkastes stille — kallet lykkes likevel, nøkkelen kommer tilbake med created: false, og kildeteksten er uendret.

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øsning: update_source

Legg til update_source: true på nøkkelen — det er et per nøkkel-felt (på create_key, eller på hver items[]-oppføring i create_keys_bulk), aldri et globalt flagg. Kildeverdien upsertes da selv på en eksisterende nøkkel (created forblir false). Det er opt-in: en rutinemessig re-seed endrer aldri kildetekst ved et uhell.

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 }] }

Begge går gjennom MCP-flaten (en nøkkel med mcp:*-scope), og prosjektet må allerede ha et kildespråk. Endringen versjonsbumpes og registreres i nøkkelens historikk.

Eller reimporter kildespråket

Engangs i18next-importen upserter også kildeverdier. Å reimportere kildespråkfilene dine oppdaterer hver eksisterende kilde i ett enkelt kall — praktisk når kildeteksten allerede ligger i repoet ditt.

terminal
1# or re-import your source-language files — import upserts source values2sonenta import "./locales/en/**/*.json"   # en = your source language

Hva som endres

  • Versjonert og revidert. Den nye kilden er en normal versjonert redigering, tilskrevet API-nøkkelen din, og vises i nøkkelens historikk.
  • Hendelser for manglende nøkler løses. Åpne hendelser for manglende nøkler for disse nøklene løses automatisk så snart en ekte kildeverdi lander.
  • Opt-in etter design. Uten update_source forblir en source_value på en eksisterende nøkkel ignorert — en ny kjøring av seed-skriptet ditt overskriver aldri kildetekst ved et uhell.

Videre