Guia · Valores de origem
Atualizar o valor de origem de uma chave
Inicializar uma chave com create_key ou create_keys_bulk define o seu valor de origem uma única vez. Reexecutar com um source_value alterado não faz nada — por conceção, para que um seed automatizado nunca sobrescreva o texto de origem. Eis como alterar deliberadamente a origem de uma chave depois de já existir.
O no-op que vai encontrar
create_key e create_keys_bulk aceitam um source_value, mas só o honram quando efetivamente criam a chave. Chame-os de novo numa chave que já existe e o novo source_value é silenciosamente descartado — a chamada continua a ter êxito, a chave regressa com created: false e o texto de origem fica inalterado.
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 }] } Solução: update_source
Adicione update_source: true à chave — é um campo por chave (em create_key, ou em cada entrada items[] de create_keys_bulk), nunca um flag global. O valor de origem é então atualizado mesmo numa chave existente (created mantém-se false). É opt-in: um re-seed de rotina nunca altera o texto de origem por acidente.
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 }] } Ambos passam pela superfície MCP (uma chave com o scope mcp:*), e o projeto já tem de ter um idioma de origem. A alteração incrementa a versão e é registada no histórico da chave.
Ou reimportar o idioma de origem
O import i18next numa só passagem também atualiza os valores de origem. Reimportar os seus ficheiros do idioma de origem atualiza todas as origens existentes numa única chamada — prático quando o texto de origem já vive no seu repositório.
terminal 1# or re-import your source-language files — import upserts source values2sonenta import "./locales/en/**/*.json" # en = your source language O que muda
- Versionado e auditado. A nova origem é uma edição versionada normal, atribuída à sua chave de API, e aparece no histórico da chave.
- Os eventos de chave em falta resolvem-se. Os eventos de chave em falta abertos para essas chaves resolvem-se automaticamente assim que um valor de origem real chega.
- Opt-in por conceção. Sem
update_source, umsource_valuenuma chave existente permanece ignorado — uma reexecução do seu script de seed nunca sobrescreve o texto de origem por acidente.