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.

I3095 — A count inside a translated sentence is a slot, so a changed number never drops the translation

Key the translation memory on a segment's template, with every standalone number replaced by an <nK/> slot the build fills from the page, and re-key the existing Czech memory by matching each number by value, so a sentence like '153 nodes, 549 edges' or '4 of 26' is translated once and keeps its translation whatever the counts.

HOTOVO vlna 0 · p1 · 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

Key the translation memory on a segment's template, with every standalone number replaced by an <nK/> slot the build fills from the page, and re-key the existing Czech memory by matching each number by value, so a sentence like '153 nodes, 549 edges' or '4 of 26' is translated once and keeps its translation whatever the counts.

Proč

On 2026-10-20 an audit of the live /cs/roadmap/ (finding F11) found 58 of 100 milestone titles and 310 of 799 issue titles in English, and count chips mixed 'N of M' with 'N z M'. One cause was keying: the memory was keyed by the whole segment, numbers included, so every changed count was a segment it had never seen.

Aktuální stav

keyOf hashes the segment with its numbers; a changed count is a missing segment.

Cílový stav

keyOf hashes the template; a translation is admitted only with each <nK/> of its source exactly once; identifiers joined to letters, hyphens, dots or a hash (I3091, v0.30.2, 2026-10-20, 82ac259, #1434) stay literal.

Rozsah

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

Mimo rozsah

  • Plural forms by count (one form per template; a language whose noun changes form for one, two and five is a follow-up)

Závislosti

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

Kritéria přijetí

  • A page whose sentence carries different counts than the memory's example is translated from the template, with its own numbers
  • A translation missing or repeating an <nK/> slot is refused
  • Identifiers and versions are never slots
  • The existing memory is re-keyed without re-translation: 6942 entries re-keyed, 1183 merged into a shared template, 52 kept under their old key because their numbers do not match one to one

Validace

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

Požadované důkazy

  • count_slot_translates

Důkazy

pokrývátypcommandvýsledeku commitu
count_slot_translatescibash 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-22T04:37:10Z
ověřeno
2026-10-22T04:39:46Z
dokončeno
2026-10-22T04:42:35Z

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/I3095.yaml. Read it back with majordomus plan show I3095.

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