GlossaryRule class

For each entry whose source value contains a glossary term, every target translation must contain a recognizable form of the canonical translation. Honors @key.glossary_exempt: true on the SOURCE entry (the escape hatch for non-literal uses, e.g. "Book club" where "Book" means a physical book, not the verb).

Match strategy (deliberately a heuristic — this is a warning):

  • Source side: whole-word case-insensitive match of term against a word-tokenized source value.
  • Translation side: case-insensitive substring match of a prefix of the canonical translation. The prefix is the lowercased canonical with the last 2 chars dropped when length > 4 (handles suffix-based inflection: "Reservar" → search "reserv", which also matches "Reserva"/"Reservamos"/"Reservación"). Languages with little suffix inflection (CJK) get the full canonical.

The match is intentionally permissive. False positives are dismissed by setting @key.glossary_exempt: true; the warning hint says so.

Inheritance

Constructors

GlossaryRule()
const

Properties

defaultSeverity IssueSeverity
Default severity. May be overridden per-issue.
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
name String
Stable rule identifier (snake_case). Used by the report formatter to group findings and by users to silence/ack via state file (post-v1.0).
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run(DialectProject project) List<Issue>
Inspect project and return findings. May return an empty list. Should NOT throw — turn unexpected conditions into Issues so the report surfaces them rather than crashing.
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited