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.

Stránka publikovaného webu psaná v jazyce čtenáře je deklarována s tímto jazykem a důvodem a je odmítnuta, pokud stránka sama tentýž jazyk nedeklaruje

project.english-only váže tento repozitář na jediný pracovní jazyk a verze 2 jej pojmenovává

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

project.english-only v2 (ADR 0077) drží vlastní artefakty repozitáře v angličtině bez výjimek a jmenuje jednu oddělenou populaci: obsah publikovaný pro čtenáře v jeho jazyce. Toto oprávnění stojí tři deklarace, které se musí shodovat - cesta je pod site/content-src/ nebo jeho projekcí, allow list nese jazyk a povinný důvod a samotná stránka deklaruje tentýž jazyk. Třetí z nich brání tomu, aby allow list byl souborem, do něhož lze připsat položku a umlčet nález.

Co to znamená

project.english-only váže tento repozitář na jeden pracovní jazyk a verze 2 jmenuje jednu samostatnou populaci: stránku publikovaného webu psanou pro čtenáře v jeho jazyce (ADR 0077). Vše ostatní se nemění — komentář, zpráva commitu, pravidlo, dokument pod docs/ musí být anglicky, bez výjimek.

Povolení neznamená „strom webu je vyňat“. Je po stránkách a stojí tři deklarace, které musí navzájem souhlasit.

Princip

scripts/ci/english-only-check takovou stránku povolí, jen když platí všechny tři:

  • Je to publikovaný obsah. Cesta je pod site/content-src/, autorským zdrojem webu, nebo je generovanou projekcí té stránky pod site/content/. Položka překladu, která jmenuje cokoli jiného, způsobí, že kontrola odmítne běžet.
  • Deklaruje se s důvodem. translation <path> <language> <why> v scripts/ci/english-only-allow.txt, ve stejném tvaru jako dva starší druhy. Položka bez důvodu je položka seznamu, ne deklarace, a je odmítnuta.
  • Stránka říká totéž. Front matter samotné stránky nese lang = "<language>" a kontrola obojí porovnává. Stránka, která nedeklaruje nic nebo deklaruje jiný jazyk, než seznam tvrdí, je odmítnuta.

Třetí podmínka je ta, která z toho dělá výjimku, a ne kličku. Seznam povolených je soubor, do kterého může kdokoli připsat položku, aby umlčel zjištění; požadavek, aby soubor sám řekl, čím je, znamená, že položka, která o své stránce neplatí, neprojde.

Jak to vidět

$ scripts/ci/english-only-check --strict
english-only-check: every authored file is spelled in English (N measured, N declared fixtures, N declared translations)

bash test/run.sh 403_published_translation dokazuje každé odmítnutí mutací: nedeklarovaná stránka v jiném jazyce stále selže, deklarace bez důvodu je odmítnuta, deklarace mimo publikovaný web je odmítnuta, deklarace, s níž stránka nesouhlasí, je odmítnuta a deklarovaný překlad vyjímá vlastní soubor, ne souseda.

Co nepokrývá

Kontrola je test abecedy, ve verzi 2 přesně jako ve verzi 1. Rozhoduje o písmenech, která se vyskytují v češtině, slovenštině nebo polštině a nikdy v angličtině, a o celých nelatinských písmech. Anglická próza nesoucí větu jiného jazyka zapsanou v ASCII jím projde a vždy projde, takže pravidlo zůstává širší než kontrola.

Nerozhoduje ani o tom, zda je překlad dobrý, zda říká totéž co jeho protějšek, nebo zda si oba neodporují. Nic v tomto repozitáři to dnes nerozhoduje; je to věc review.

Proč na tom záleží

Alternativou k typované výjimce je jedna z dvou horších věcí: repozitář, který nemůže publikovat slovo čtenáři, který nepracuje v angličtině, nebo baseline soubor, který pere cizí prózu na „známý dluh“ a přestane cokoli znamenat. Pojmenování povoleného případu a vzájemná kontrola stránky a seznamu drží kontrolu přísnou všude, kde byla přísná dřív — a právě proto se ji stále vyplatí poslouchat.

Detail vykreslen z docs/claims/published-translation-is-declared.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Stránka publikovaného webu psaná v jazyce čtenáře je deklarována s tímto jazykem a důvodem a je odmítnuta, pokud stránka sama tentýž jazyk nedeklaruje

    Žádná funkce ani odpovědnost v README ji nepojmenovává; tato stránka je místo, kde je uvedena.

  2. 2 · kanonické tvrzení

    published-translation-is-declareddeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v .ai/repo/rules/project/english-only.v4.md

  3. 3 · implementace

    scripts/ci/english-only-check

  4. 4 · test a scénáře

    Test: test/cases/403_published_translation.sh

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh 403_published_translation

Související tvrzení stejná implementace

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