Skip to content

Commit 71d3ce5

Browse files
committed
Improve detection between Spanish (Latin America) and Spanish (Spain)
1 parent dfa7eb7 commit 71d3ce5

4 files changed

Lines changed: 120 additions & 26 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "language-detector"
3-
version = "2.2.0"
3+
version = "2.3.0"
44
edition = "2024"
55
description = "Detect file language using common word frequency analysis with multithreading"
66

src/languages/spa_419.rs

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -78,29 +78,39 @@ pub fn language() -> Language {
7878
("callate", 10.0),
7979
("apurate", 10.0),
8080
// =============================================================
81-
// Ustedes forms – universal in LatAm, formal in Spain (weight: 3.0)
82-
// These are strong indicators of Latin American Spanish.
81+
// Ustedes imperative forms (weight: 5.0)
82+
// In LatAm, ustedes replaces vosotros entirely, so the
83+
// imperative (subjunctive) forms used as commands for "you
84+
// all" are exclusively LatAm. These are NOT ambiguous with
85+
// ellos/ellas indicative — they are subjunctive imperatives
86+
// directed at a group.
8387
// =============================================================
84-
("ustedes", 3.0),
85-
("tienen", 3.0),
86-
("hacen", 3.0),
87-
("saben", 3.0),
88-
("pueden", 3.0),
89-
("quieren", 3.0),
90-
("deben", 3.0),
91-
("vienen", 3.0),
92-
("dicen", 3.0),
93-
("están", 3.0),
94-
("van", 3.0),
95-
("comen", 3.0),
96-
("beben", 3.0),
97-
("viven", 3.0),
98-
("salen", 3.0),
99-
("piensan", 3.0),
100-
("sienten", 3.0),
101-
("duermen", 3.0),
102-
("piden", 3.0),
103-
("siguen", 3.0),
88+
("escuchen", 5.0),
89+
("miren", 5.0),
90+
("esperen", 5.0),
91+
("ayuden", 5.0),
92+
("callen", 5.0),
93+
("corran", 5.0),
94+
("suban", 5.0),
95+
("bajen", 5.0),
96+
("déjenme", 5.0),
97+
("sujétense", 5.0),
98+
("prepárense", 5.0),
99+
("cálmense", 5.0),
100+
("apúrense", 5.0),
101+
("levántense", 5.0),
102+
("deténganse", 5.0),
103+
("agárrense", 5.0),
104+
("quédense", 5.0),
105+
("muévanse", 5.0),
106+
("siéntense", 5.0),
107+
("acérquense", 5.0),
108+
("aléjense", 5.0),
109+
("váyanse", 5.0),
110+
("fíjense", 5.0),
111+
("confíen", 5.0),
112+
("ganen", 5.0),
113+
("aguanten", 5.0),
104114
// =============================================================
105115
// Colloquial and slang (weight: 5.0)
106116
// =============================================================
@@ -168,7 +178,6 @@ pub fn language() -> Language {
168178
("nomas", 5.0),
169179
("mero", 5.0),
170180
("acá", 5.0),
171-
("allá", 5.0),
172181
// =============================================================
173182
// Regional vocabulary (weight: 3.0)
174183
// =============================================================

src/languages/spa_es.rs

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ pub fn language() -> Language {
9898
("durmáis", 10.0),
9999
("pidáis", 10.0),
100100
("sigáis", 10.0),
101-
// Vosotros imperative
101+
// Vosotros imperative – irregular
102102
("tened", 10.0),
103103
("haced", 10.0),
104104
("sabed", 10.0),
@@ -111,6 +111,91 @@ pub fn language() -> Language {
111111
("vivid", 10.0),
112112
("comed", 10.0),
113113
("bebed", 10.0),
114+
// Vosotros imperative – regular -ar verbs (-ad)
115+
("mirad", 10.0),
116+
("escuchad", 10.0),
117+
("esperad", 10.0),
118+
("ayudad", 10.0),
119+
("luchad", 10.0),
120+
("callad", 10.0),
121+
("ganad", 10.0),
122+
("confiad", 10.0),
123+
("aguantad", 10.0),
124+
("preparad", 10.0),
125+
("parad", 10.0),
126+
("disparad", 10.0),
127+
("atacad", 10.0),
128+
("avanzad", 10.0),
129+
("buscad", 10.0),
130+
("dejad", 10.0),
131+
("contad", 10.0),
132+
("pensad", 10.0),
133+
("pasad", 10.0),
134+
("hablad", 10.0),
135+
("llevad", 10.0),
136+
("tomad", 10.0),
137+
("tirad", 10.0),
138+
("sacad", 10.0),
139+
("cerrad", 10.0),
140+
("guardad", 10.0),
141+
("cortad", 10.0),
142+
("apuntad", 10.0),
143+
("acabad", 10.0),
144+
("probad", 10.0),
145+
("usad", 10.0),
146+
("entrad", 10.0),
147+
("saltad", 10.0),
148+
("bajad", 10.0),
149+
("levantad", 10.0),
150+
("aguardad", 10.0),
151+
("apartad", 10.0),
152+
("marchad", 10.0),
153+
("rezad", 10.0),
154+
// Vosotros imperative – regular -er verbs (-ed)
155+
("corred", 10.0),
156+
("moved", 10.0),
157+
("coged", 10.0),
158+
("leed", 10.0),
159+
("proteged", 10.0),
160+
("esconded", 10.0),
161+
("defended", 10.0),
162+
("responded", 10.0),
163+
// Vosotros imperative – regular -ir verbs (-id)
164+
("subid", 10.0),
165+
("abrid", 10.0),
166+
("id", 10.0),
167+
("oid", 10.0),
168+
("escribid", 10.0),
169+
("decidid", 10.0),
170+
("partid", 10.0),
171+
("sentid", 10.0),
172+
("dormid", 10.0),
173+
("huíd", 10.0),
174+
("resistid", 10.0),
175+
("reunid", 10.0),
176+
// Vosotros reflexive imperative (-aos/-eos/-íos)
177+
("agarraos", 10.0),
178+
("sujetaos", 10.0),
179+
("preparaos", 10.0),
180+
("callaos", 10.0),
181+
("apartaos", 10.0),
182+
("levantaos", 10.0),
183+
("sentaos", 10.0),
184+
("quedaros", 10.0),
185+
("alejaos", 10.0),
186+
("acercaos", 10.0),
187+
("agachaos", 10.0),
188+
("echaos", 10.0),
189+
("tiraos", 10.0),
190+
("ocupaos", 10.0),
191+
("fijaos", 10.0),
192+
("marchaos", 10.0),
193+
("moveos", 10.0),
194+
("escondeos", 10.0),
195+
("protegeos", 10.0),
196+
("poneos", 10.0),
197+
("daos", 10.0),
198+
("idos", 10.0),
114199
// Vosotros future
115200
("tendréis", 10.0),
116201
("haréis", 10.0),

0 commit comments

Comments
 (0)