Mettre à jour la valeur source d'une clé
Initialiser une clé avec create_key ou create_keys_bulk fixe sa valeur source une seule fois. Relancer avec un source_value modifié ne fait rien, par conception, pour qu'un seed automatisé n'écrase jamais le texte source. Voici comment changer délibérément la source d'une clé après sa création.
Le no-op que vous rencontrerez
Section intitulée « Le no-op que vous rencontrerez »create_key et create_keys_bulk acceptent un source_value, mais ne l'honorent qu'à la création de la clé. Rappelez-les sur une clé qui existe déjà et le nouveau source_value est silencieusement ignoré : l'appel réussit quand même, la clé revient avec created: false, et le texte source reste inchangé.
// create_keys_bulk: source_value on a key that ALREADY exists{ "items": [ { "namespace": "common", "name": "checkout.title", "source_value": "Checkout" }] }
// → no update_source: the existing source is left untouched{ "results": [{ "index": 0, "status": "ok", "created": false }] }Solution : update_source
Section intitulée « Solution : update_source »Ajoutez update_source: true sur la clé : c'est un champ par clé (sur create_key, ou sur chaque entrée items[] de create_keys_bulk), jamais un drapeau global. La valeur source est alors mise à jour même sur une clé existante (created reste false). C'est opt-in : un re-seed de routine ne change jamais le texte source par accident.
// update_source is a PER-ITEM flag, never a global one{ "items": [ { "namespace": "common", "name": "checkout.title", "source_value": "Checkout", "update_source": true }] }
// → created:false (the key existed) but the source is now upserted{ "results": [{ "index": 0, "status": "ok", "created": false }] }Les deux passent par la surface MCP (une clé au scope mcp:*), et le projet doit déjà avoir une langue source. Le changement incrémente la version et est consigné dans l'historique de la clé.
Ou ré-importer la langue source
Section intitulée « Ou ré-importer la langue source »L'import i18next en une passe met aussi à jour les valeurs source. Ré-importer vos fichiers de langue source met à jour toutes les sources existantes en un seul appel : pratique quand le texte source vit déjà dans votre dépôt.
# or re-import your source-language files: import upserts source valuessonenta import "./locales/en/**/*.json" # en = your source language- Migrer depuis i18next: Amenez un catalogue existant dans Sonenta en une commande.
- CLI: Import, push, pull et publication depuis votre terminal.
- Imbrication des clés: Clés plates ou imbriquées, et le piège des clés à points.