Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I3092 — A translation-memory edit says which pages each changed key reaches, and refuses one that reaches none

Have the i18n pass write target/site-i18n/reach.json, every segment key of the English pages with the pages it occurs on, and give scripts/site-translate a `reach` command that lists, for every memory entry changed against a revision, the pages its key reaches and refuses (exit 10) one that reaches none; `import` refuses an entry whose key reaches no page.

HOTOVO vlna 0 · p2 · profil implementation · běží samostatně

Součást public-proof — Návštěvník vidí, jak se produkt sám dokazuje, a může ověřit každé jeho tvrzení.

Cíl

Have the i18n pass write target/site-i18n/reach.json, every segment key of the English pages with the pages it occurs on, and give scripts/site-translate a `reach` command that lists, for every memory entry changed against a revision, the pages its key reaches and refuses (exit 10) one that reaches none; `import` refuses an entry whose key reaches no page.

Proč

On 2026-10-20 a hand edit put the Czech for the site bar's toggle on the key of the plain sentence 'How it works' instead of the toggle's 'How it works<t1/>'. The memory took it, the bar stayed English, and only a peer reading the live page saw it. A key that no page carries is a translation nobody will ever read, and nothing said so.

Aktuální stav

The pass lists only what the memory does not know (missing.json); an entry whose key no page carries is kept silently, and site-translate import admits any key with a matching English.

Cílový stav

reach.json is written beside missing.json; `site-translate reach` names, for each changed key, its pages or that it reaches none, and fails on the latter; import refuses an unreachable key.

Rozsah

  • scripts/lib/site-i18n.mjs
  • scripts/site-translate
  • test/cases/3590_the_site_is_derived_in_every_language.sh
  • .ai/repo/project/issues/I3092.yaml

Mimo rozsah

  • Garbage-collecting unreachable entries already in the memory (they are listed, not removed)

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • reach.json lists every segment key of the English pages with its page count
  • A changed memory entry whose key no page carries is named and refused; one whose key a page carries is listed with its pages
  • import refuses an entry whose key reaches no page

Validace

  • env -u MAJORDOMUS_SHARE bash test/run.sh 3590_the_site_is_derived_in_every_language

Požadované důkazy

  • unreached_key_is_refused

Důkazy

pokrývátypcommandvýsledeku commitu
unreached_key_is_refusedcibash test/run.sh 3590_the_site_is_derived_in_every_languagepassed in train 3a validate 39712017896 (76c57859663, landed on master 2026-10-22)76c5785

Časová osa

zahájeno
2026-10-21T01:47:57Z
ověřeno
2026-10-21T01:51:20Z
dokončeno
2026-10-22T04:42:16Z

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Canonical record: .ai/repo/project/issues/I3092.yaml. Read it back with majordomus plan show I3092.

Prohledává názvy a popisy všech stránek, které tento web publikuje.