fix: catch German prepositions missing from NON_ENGLISH_RE title filter

"Software Engineer auf dem Weg zum Data / AI Engineer" (ti&m, via
job-room.ch) sailed through: none of the German-word list matched
'auf dem Weg zum', and the job-room description was too short to
clear the separate description-level DE/FR word-count threshold.
auf/zum/zur/vom/für/beim don't exist as English words, so they're
safe unambiguous markers — verified against the full 2858-row
jobs.csv history: only this one title now flags.
This commit is contained in:
2026-09-04 11:23:08 +02:00
parent b2e5c7865a
commit 274f946bd2
+7 -2
View File
@@ -79,8 +79,13 @@ export const NON_ENGLISH_RE = new RegExp(
String.raw`[a-zäöü]\/in\b`,
// German-only words (case-insensitive handled by flag)
String.raw`\b(Deine|Mitarbeiter|Pflegehelfer|Köchin|Koch EFZ|Kellner|Sozialpädagog|Lehrperson|Produktionsmitarbeiter|Produktionsplaner|Geschäftsführer|Spontanbewerbung|Arztsekretär|Physiotherapeut|Empfangsmitarbeiter|Automobilmechatroniker|Verkäufer|Projektleiter|Crewmitarbeiter|Crewmember|Systemgastronomie|Studienteilnehmende|Teilnehmende|Bauingenieur|Tiefbau|Hochbau|Elektroingenieur|Maschinenbau|gesucht|EFZ|Schweiz|Filiale|Ingenieur|Spezialist|Perspektive|Stellvertretung|Leitung|Beratung|Entwicklung|Betreuung|Verwaltung)\b`,
// German prepositions/articles in title context (must appear as whole words)
String.raw`\bmit\b`,
// German prepositions/articles in title context (must appear as whole words) —
// none of these exist as English words, so they're safe unambiguous markers.
// Added after "Software Engineer auf dem Weg zum Data / AI Engineer" (ti&m,
// via job-room.ch) sailed through: none of the German-word list above
// matched, and the job-room description was too short (~1 hit) to clear the
// separate ≥6 DE/FR word-count threshold either.
String.raw`\bmit\b|\bauf\b|\bzum\b|\bzur\b|\bvom\b|\bfür\b|\bbeim\b`,
// French gender markers
String.raw`\(H\/F\)|\(F\/H\)|\(h\/f\)|\(f\/h\)`,
// French-only accented characters