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 podsite/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>vscripts/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.