PluralCategoriesRule class

When the source value is an ICU plural expression, every translation must cover all CLDR categories the locale requires, in addition to any =N exact-match cases.

This is the rule that caught Codex 5.3's Arabic-itemCount defect in _validation/COMPARISON.md: it kept only =0, =1, other, which renders incorrectly for counts 2, 3, 4, 11, 100+. Real-world bug fixture; see test/checks/structural/plural_categories_test.dart.

Inheritance

Constructors

PluralCategoriesRule()
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