The es pair, and a dictionary that was quietly Spain's
Phase 25. Spanish was never built — the groundwork was all [x] (DreamDict data, the prompt language, the L1 rule gating, TTS env-discovery), which is why the plan read as though it had shipped. shippedPairs was the honest answer: the server had been refusing es on purpose. The langpack is neutral Latin American, chosen with the user: tú, ustedes, no vosotros, and the pan-American half of every vocabulary split. A vitest greps for the peninsular twins the way fr is greped for québécismes — including coger, which is not merely regional but obscene through most of Latin America. The dictionary is the story. Debian's hunspell-es symlinks twenty country codes to one file, which reads as pan-Hispanic; RLA publishes twenty-four builds per release, one per country plus a generic es that is the union, and Debian ships peninsular es_ES. The 58,622-form gap is essentially voseo, so the first version of this commit underlined vení and tenés as misspellings and called it a considered gap. The MUST_ACCEPT list was written to catch exactly that and structurally could not: it asserted the pan-Hispanic vocabulary, and every RLA variant carries the full pan-Hispanic vocabulary — only the paradigms are localised. The REP table cited as the second witness is shared by all builds too. Two independent-looking proofs, neither able to distinguish anything, agreeing with each other. The profile now demands what discriminates, each verified against the build it targets: voseo rejects es_ES and Debian, vosotros rejects es_MX, and arepa/chévere/bacán reject es_AR, which has both paradigms and would otherwise pass. 717,640 forms, 1.74 MB gzipped, 762 ms / 97 MB in a real nspell. fr and pt-PT rebuild byte-identical from their own upstream debs, so the shared script still means what it meant. Shipping the union is fr's call arrived at from the other side: coût and cout are both correct French, tienes and tenés are both correct Spanish. The dictionary holds every variety because underlining is all it can do; the copy picks a register because speaking requires one. Reviewed by four models at the usual >=2-of-4 threshold, 5 of 27 findings applied — one catching the bedtime proverb as fr's Qui dort dîne calqued into Spanish, gloss and all, which is the rule the fr header states. One below-threshold finding (a missing ¡, seen by 1 of 4 because an absent opening mark has no closing ! to look wrong against) was applied and turned into an assertion instead: the suite now rejects any native line that closes ? or ! without opening one. piper-es on es_MX-ald-medium, not the es_ES-davefx-medium the plan named — six of Piper's nine Spanish voices are peninsular, so the obvious pick was the pt-PT trap through a different door. go build/vet/test, tsc, vite, vitest 251/251. Not deployed, not seen in a browser, not read by a native speaker, and no es account exists.
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
Spanish spelling dictionary
|
||||
===========================
|
||||
|
||||
The word list in `es.dic.gz` and the suggestion directives in `es.aff` are
|
||||
derived from the **generic** Spanish Hunspell dictionary published by the RLA-ES
|
||||
project ("Recursos Lingüísticos Abiertos del Español"), release v2.9.
|
||||
|
||||
Copyright (C) Santiago Bosio and the RLA-ES contributors
|
||||
|
||||
License: GPL-3+ or LGPL-3+ or MPL-1.1+
|
||||
Tri-licensed; you may choose freely among the three. Petal
|
||||
redistributes under the MPL. Full texts:
|
||||
https://www.gnu.org/licenses/gpl-3.0.en.html
|
||||
https://www.gnu.org/licenses/lgpl-3.0.en.html
|
||||
https://www.mozilla.org/en-US/MPL/1.1/
|
||||
|
||||
Upstream: https://github.com/sbosio/rla-es
|
||||
Source: https://github.com/sbosio/rla-es/releases/download/v2.9/es.oxt
|
||||
(an .oxt is a zip; es.aff and es.dic are at its root)
|
||||
|
||||
Not the Debian package, and that is the point
|
||||
---------------------------------------------
|
||||
`hunspell-es` looks like the obvious source and is the wrong one. It installs
|
||||
twenty country codes — `es_AR` through `es_VE` — all symlinked to a single file,
|
||||
which reads like "one pan-Hispanic dictionary". It is not. RLA publishes
|
||||
twenty-four dictionaries per release: one per country, plus a **generic `es`**
|
||||
that is the union of all of them, and Debian ships the **peninsular `es_ES`**
|
||||
build under the collapsed name.
|
||||
|
||||
Measured against v2.9, expanded to surface forms:
|
||||
|
||||
Debian hunspell-es 659,085 forms voseo: no vosotros: yes
|
||||
upstream es_ES 659,018 forms voseo: no vosotros: yes
|
||||
upstream es_MX 554,923 forms voseo: no vosotros: no
|
||||
upstream es_AR 669,605 forms voseo: yes vosotros: yes
|
||||
upstream es (generic) 717,640 forms voseo: yes vosotros: yes <-- this
|
||||
|
||||
The 58,622-form gap between Debian's file and the generic one is essentially the
|
||||
**voseo** paradigm — `vení`, `tenés`, `querés`, `sabés`, `andá` — the ordinary
|
||||
present tense of Argentina, Uruguay, Paraguay and much of Central America. Under
|
||||
the Debian package, a writer using it would have had her own verbs underlined as
|
||||
misspellings.
|
||||
|
||||
Why the generic build rather than one country
|
||||
---------------------------------------------
|
||||
The only thing this dictionary can do is underline something. *Tienes* and
|
||||
*tenés* are both correct Spanish, taught in different countries, and a writing
|
||||
companion has no business marking one of them wrong — the same reasoning that
|
||||
makes the French dictionary here the `-comprehensive` packaging rather than
|
||||
`-classical` or `-revised`. The generic build accepts every variety, so Petal
|
||||
underlines only what no Spanish speaker anywhere would write.
|
||||
|
||||
How the build proves it got this file
|
||||
-------------------------------------
|
||||
Vocabulary cannot tell these builds apart: *every* RLA variant carries the full
|
||||
pan-Hispanic lexicon, so *computadora* alongside *ordenador* passes on the
|
||||
peninsular file too. (The `REP` table is likewise no evidence — its `ll`/`y` and
|
||||
`ás`/`az` entries look like yeísmo and seseo but are shared by all builds.) Only
|
||||
the verb paradigms are localised, so the `es` profile in
|
||||
`scripts/build_hunspell_dictionary.py` demands, all at once:
|
||||
|
||||
* **voseo** (`vení`, `tenés`, `querés`) — rejects `es_ES` and Debian's package;
|
||||
* **vosotros** (`tenéis`, `escribid`) — rejects `es_MX`;
|
||||
* **another region's everyday words** (`arepa`, `chévere`, `bacán`) — rejects
|
||||
`es_AR`, which has both paradigms and would otherwise pass.
|
||||
|
||||
Only the generic build satisfies all three. Each of the four neighbouring builds
|
||||
was run through the profile and confirmed to fail.
|
||||
Reference in New Issue
Block a user