Guide · Källvärden
Uppdatera en nyckels källvärde
Att seeda en nyckel med create_key eller create_keys_bulk sätter dess källvärde en gång. Att köra om med ett ändrat source_value gör ingenting — avsiktligt, så att en automatiserad seed aldrig skriver över källtexten. Så här ändrar du medvetet en nyckels källa efter att den redan finns.
Den no-op du kommer att stöta på
create_key och create_keys_bulk accepterar ett source_value, men respekterar det bara när de faktiskt skapar nyckeln. Anropa dem igen på en nyckel som redan finns och det nya source_value släpps tyst — anropet lyckas ändå, nyckeln kommer tillbaka med created: false, och källtexten är oförändrad.
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
Lägg till update_source: true på nyckeln — det är ett per-nyckel-fält (på create_key, eller på varje items[]-post i create_keys_bulk), aldrig en global flagga. Källan upsertas då även på en befintlig nyckel (created förblir false). Det är opt-in, så en rutinmässig re-seed ändrar aldrig källtexten av misstag.
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 }] } Båda körs på MCP-ytan (en nyckel med scopet mcp:*), och projektet måste redan ha ett källspråk. Ändringen versionshöjs och registreras i nyckelns historik.
Eller importera om källspråket
Engångsimporten av i18next upsertar också källvärden. Att importera om dina källspråksfiler uppdaterar varje befintlig källa i ett enda anrop — praktiskt när källtexten redan finns i ditt repo.
terminal 1# or re-import your source-language files — import upserts source values2sonenta import "./locales/en/**/*.json" # en = your source language Vad som ändras
- Versionshanterat & reviderat. Den nya källan är en vanlig versionshanterad redigering, tillskriven din API-nyckel, och visas i nyckelns historik.
- Händelser för saknade nycklar löses. Öppna händelser för saknade nycklar för dessa nycklar löses automatiskt så snart ett riktigt källvärde landar.
- Opt-in enligt design. Utan
update_sourceförblir ettsource_valuepå en befintlig nyckel ignorerat — en omkörning av ditt seed-skript skriver aldrig över källtexten av misstag.