# Straturile unui cuvânt / The Layers of a Word

Cititorul scrie un cuvânt românesc. Pagina îi spune cine l-a adus, când, pe ce
drum, și cât de des se folosește azi față de acum două secole.

- Ediția română: `/`
- Ediția engleză: `/en/`
- Metodă: `/metoda/` · `/en/method/`
- Surse: `/surse/` · `/en/sources/`
- Date brute: `/data/index.json`, `/data/words/<literă>.json`, `/data/strata.json`,
  `/data/meta.json`, `/data/agreement.json`
- Arhivă de reproducere: `/downloads/straturi-source.zip` și checksumul
  `/downloads/straturi-source.sha256`

Domeniu de producție: `https://straturi.mariuscomper.uk/`

## Teza

Întrebarea „cine a dat cel mai mult limbii române” are două răspunsuri corecte
și diferite. Numărate în dicționar, cuvintele franceze sunt 59,9 la sută din
lexemele cărora li se poate numi donatorul, iar cele moștenite din latină 4,7 la
sută. Numărate în vorbire, latina ține 78,0 la sută și franceza 9,8. Franceza a
umplut dicționarul; latina ține propoziția în picioare.

A doua concluzie e despre registru. Cuvintele turcești sunt de 1,9 ori mai dese
în replici de film decât în text enciclopedic, iar cele franceze de 2,6 ori mai
dese în scris decât în vorbire. Cuvintele turcești au rămas în bucătărie;
cuvintele aspirației au rămas în birou.

A treia se citește în limba statului despre sine. În nouă texte
constituționale, din 1848 până în 2003, vocabularul slavon de cancelarie dispare
între 1848 și 1866, cel francez urcă de la 8,1 la 36,0 la sută și atinge maximul
în 1952, iar cel turcesc nu apare niciodată, nici măcar în 1848, când țara încă
plătea tribut Porții.

## Ce a fost măsurat

| Instrument | Ce e | Volum |
|---|---|---|
| Atribuirea straturilor | categoriile etimologice Wiktionary, donatorul proxim | 47.654 lexeme |
| Verificarea | notele etimologice din dicționarele adunate de dexonline | 13.635 cuvinte comparate, acord strict 86,7% |
| Corpusul istoric | proză datată de pe Wikisource, cinci sferturi de secol | 10.985.000 de cuvinte |
| Registrul vorbit | lista de frecvențe OpenSubtitles pentru română | 306.494.000 de cuvinte |
| Registrul scris | Wikipedia în română, 41.357 de articole | 15.566.000 de cuvinte |
| Spina oficială | nouă texte constituționale, 1848–2003 | 4.000–11.600 de cuvinte fiecare |
| Dicționarul publicat | cuvinte cu frecvență ≥ 1 la un milion | 15.658, dintre care 9.382 cu curbă proprie |

Cele 47.654 de lexeme clasificate alimentează statisticile agregate. Căutarea
publică este subsetul de 15.658 de cuvinte care ating pragul de frecvență.

## Licența datelor dexonline

Formele flexionare și lemele provin din setul oficial de export dexonline.
Datele procesate redistribuite păstrează termenii GNU GPL v2 sau orice versiune
ulterioară. Copyright © 2004–2026 dexonline, <https://dexonline.ro>.
Dumpul SQL și textele definițiilor nu sunt redistribuite. Inventarul exact și
legăturile către licență sunt în `DEXONLINE-NOTICE.md`.

Cele cincisprezece straturi: substrat, latina moștenită, slavii vecini, slavona
bisericească, maghiara, greaca, turca osmanlie, vecinii slavi de mai târziu,
germana, latina savantă, italiana, franceza, engleza, formarea internă,
necunoscut.

## Elementul-semnătură

Coloana stratigrafică (`#column`), cu trei comutatoare. Banda poartă proporția și
nimic altceva, iar numele stă în legendă, ca stratul de trei zecimi de procent să
rămână o dungă adevărată și nu una umflată ca să încapă textul. Trecerea de la
„cuvinte din dicționar” la „cuvinte din vorbire” strânge banda franceză de la
mai mult de jumătate la mai puțin de o zecime, iar latina se umflă în locul ei.
Aceeași bază de date, două întrebări, ierarhii inversate.

## Structură

```
content/copy.mjs        sursa editorială RO/EN, o singură structură de chei
content/data/*.json     straturile, metadatele, acordul, dicționarul pe felii
build.mjs               generează cele șase pagini, datele publicate, sitemap, llms.txt
worker.js              negociază HTML/Markdown și aplică headerele de publicare
qa_assertions.mjs       QA pe origine live, fără browser
public/assets/site.css  design; paleta a trecut prin validatorul dataviz
public/assets/site.js   căutarea, fișa cuvântului, comutatorul coloanei
public/assets/fonts/    Source Serif 4 și Inter, subseturile latin și latin-ext
tools/strata.py         definiția straturilor, atribuirea, reconcilierea
tools/lemma.py          lematizatorul și normalizarea ortografiilor succesive
tools/fetch_categories.py  categoriile etimologice de la Wiktionary
tools/fetch_entries.py     articolele: lanț, parte de vorbire, sens, etichete
tools/dex_extract.py       lexemele și formele flexionare din dumpul dexonline
tools/dex_check.py         al doilea verdict etimologic și măsura acordului
tools/ws_index.py          indexarea și datarea corpusului Wikisource
tools/corpus_hist.py       corpusul istoric, plafonat pe autor și dedublat
tools/corpus_now.py        cele două registre contemporane
tools/official.py          spina textelor oficiale, 1848–2003
tools/audit_top.py         cuvintele grele, cu semnalele de risc
tools/overrides.json       corecțiile verificate de mână, cu motivul fiecăreia
tools/analyse.py           agregarea și scrierea datelor publicate
tools/og.py                cardurile sociale și favicon-ul
tools/serve.mjs            server local pentru QA
RESEARCH_NOTES.md       fiecare cifră cu sursa ei
AUDIT.md                QA bifat punct cu punct
```

## Comenzi

```bash
python3 tools/fetch_categories.py   # categoriile etimologice Wiktionary
python3 tools/dex_extract.py        # lexeme și forme flexionare din dexonline
python3 tools/ws_index.py           # indexează și datează corpusul Wikisource
python3 tools/corpus_hist.py        # corpusul istoric 1825-1949
python3 tools/corpus_now.py         # vorbit și scris, contemporan
python3 tools/official.py           # cele nouă texte constituționale
python3 tools/shortlist.py          # ce cuvinte publică pagina
python3 tools/fetch_entries.py      # articolele de la Wiktionary
python3 tools/dex_check.py          # verificarea cu dexonline
python3 tools/audit_top.py          # cuvintele grele, pentru revizie
python3 tools/analyse.py            # agregarea și datele publicate
node build.mjs                      # regenerează public/
python3 tools/og.py                 # cardurile sociale și favicon-ul
node tools/serve.mjs public 4842
node qa_assertions.mjs http://localhost:4842
npx wrangler deploy
```

Fiecare dintre cele șase pagini are și o reprezentare Markdown echivalentă.
Workerul o livrează când cererea trimite `Accept: text/markdown`, păstrează HTML
pentru `text/markdown;q=0` și publică discovery prin headerul `Link`.

Buildul se oprește dacă ramurile RO și EN din `copy.mjs` nu mai au aceeași
structură de chei, sau dacă textul poartă un jeton de cifră pe care buildul nu îl
poate calcula. QA-ul recalculează din date fiecare cifră tipărită în text și cade
dacă una nu se mai potrivește. Cade și dacă se strecoară o sedilă turcească într-o
pagină în română.

## Trei lucruri de știut înainte de a citi cifrele

**Prima apariție nu e prima atestare.** Atestările filologice ale cuvintelor
românești stau în Dicționarul limbii române și nu se pot citi de o mașină, așa că
pagina dă anul primului interval în care cuvântul apare în proza măsurată. E o
limită de jos. Pentru cuvintele moștenite din latină răspunsul e întotdeauna
„înainte de orice instrument de aici”.

**Atribuirea e reconciliată, nu unică.** Wiktionary ține un singur articol pentru
omonimele cu istorii diferite, iar noi citim prima secțiune de etimologie, care
nu e întotdeauna cea a sensului obișnuit. Când dicționarele românești adunate de
dexonline spun altceva și o spun în cel puțin două locuri, verdictul lor câștigă,
dar numai pentru donatorii pe care abrevierea românească îi numește fără echivoc.
„Din lat.” acoperă și cuvântul moștenit în secolul al treilea și împrumutul
savant din secolul al nouăsprezecelea, așa că acolo reconcilierea nu se aplică.
Cele patrusprezece corecții rămase sunt făcute de mână și listate pe pagina de
metodă. Diferența dintre cifrele reconciliate și cele nereconciliate e sub o
jumătate de punct procentual la fiecare strat mare, ceea ce e principalul motiv
de încredere în ele.

**Registrele nu se adună.** Wikipedia nu e limba scrisă în general, ci un registru
enciclopedic care înclină spre latinisme și franțuzisme. Replicile de film nu sunt
vorbirea, ci vorbirea scrisă de scenariști și de traducători. Amândouă sunt numite
ca atare oriunde apar.

## Ce nu face pagina

Nu acoperă intervalul 1950–1999 în proză, fiindcă drepturile de autor închid
arhiva; textele oficiale trec peste gaură, dar numai în registrul lor, iar
graficele nu trag o linie continuă peste ea. Nu are un corpus de presă, care ar fi
registrul cel mai potrivit pentru straturile administrative. Nu măsoară sensuri,
doar cuvinte: „chef” turcesc și „chef” franțuzesc sunt aceeași intrare pentru
lematizator. Nu spune nimic despre sintaxă și despre morfologie, unde influența
slavă e mai mare decât o arată orice numărătoare de cuvinte.

## Actualizare

Stare: actual la 30 iulie 2026. Declanșator pentru o nouă rulare: un dump nou de
la dexonline, o revizuire mare a categoriilor etimologice românești de pe
Wiktionary, sau apariția pe Wikisource a unui corpus de proză pentru 1950–1999.
Toate instrumentele sunt reproductibile pe aceleași surse.
