Przejdź do treści
Sonenta

Przewodnik · Wartości źródłowe

Aktualizacja wartości źródłowej klucza

Zaseedowanie klucza przez create_key lub create_keys_bulk ustawia jego wartość źródłową tylko raz. Ponowne uruchomienie ze zmienioną source_value nie robi nic — z założenia, aby zautomatyzowany seed nigdy nie nadpisał tekstu źródłowego. Oto jak świadomie zmienić źródło klucza po jego utworzeniu.

No-op, na który natrafisz

create_key i create_keys_bulk akceptują source_value, ale honorują je tylko wtedy, gdy faktycznie tworzą klucz. Wywołaj je ponownie na kluczu, który już istnieje, a nowe source_value zostanie po cichu odrzucone — wywołanie i tak się powiedzie, klucz wraca z created: false, a tekst źródłowy pozostaje niezmieniony.

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

Rozwiązanie: update_source

Dodaj update_source: true do klucza — to pole na poziomie klucza (na create_key lub na każdym wpisie items[] w create_keys_bulk), nigdy globalna flaga. Wartość źródłowa jest wtedy aktualizowana nawet na istniejącym kluczu (created pozostaje false). Jest opt-in, więc rutynowy re-seed nigdy nie zmienia tekstu źródłowego przez przypadek.

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

Oba działają przez powierzchnię MCP (klucz o zakresie mcp:*), a projekt musi już mieć język źródłowy. Zmiana jest wersjonowana i odnotowana w historii klucza.

Albo zaimportuj ponownie język źródłowy

Jednorazowy import i18next również aktualizuje wartości źródłowe. Ponowny import Twoich plików języka źródłowego aktualizuje każde istniejące źródło w jednym wywołaniu — wygodne, gdy tekst źródłowy żyje już w Twoim repozytorium.

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

Co się zmienia

  • Wersjonowane i audytowane. Nowe źródło to normalna wersjonowana edycja, przypisana do Twojego klucza API, i pojawia się w historii klucza.
  • Zdarzenia brakującego klucza się rozwiązują. Otwarte zdarzenia brakującego klucza dla tych kluczy automatycznie się rozwiązują, gdy tylko nadejdzie prawdziwa wartość źródłowa.
  • Opt-in z założenia. Bez update_source wartość source_value na istniejącym kluczu pozostaje ignorowana — ponowne uruchomienie Twojego skryptu seedującego nigdy nie nadpisuje tekstu źródłowego przez przypadek.

Dalej