Surfaced by a pilot test (Claude Code Opus 4.7 against examples/after/, 2026-05-24). Full feedback: dialect-feed.md.
Problem
Default length_ratio is [0.3, 2.5] for every locale without an override. In practice:
- Japanese routinely hits 0.15–0.25× because labels collapse: "Settings" (8 chars) → "設定" (2 chars). Three label keys in the pilot's Settings hit
length_ratio warnings on first check, all legitimate.
- Arabic plurals routinely hit 2.6–3.0× because six CLDR categories pack into one string.
Every Flutter app shipping ja/ar will hit these warnings on first translate. The reporter added overrides in dialect.yaml:
length_ratio:
ja: [0.1, 2.5]
ar: [0.3, 3.0]
Fix
Ship these (or similar) as defaults so adopters don't see noise warnings out of the box. Document the per-locale rationale near the defaults so the bands aren't mysterious.
Acceptance
- Default
length_ratio table includes locale-specific bands for at least ja and ar (and any other locale where the global default is systematically wrong).
- The init-time canonical example's
dialect.yaml no longer needs to override these.
Surfaced by a pilot test (Claude Code Opus 4.7 against
examples/after/, 2026-05-24). Full feedback:dialect-feed.md.Problem
Default
length_ratiois[0.3, 2.5]for every locale without an override. In practice:length_ratiowarnings on first check, all legitimate.Every Flutter app shipping ja/ar will hit these warnings on first translate. The reporter added overrides in
dialect.yaml:Fix
Ship these (or similar) as defaults so adopters don't see noise warnings out of the box. Document the per-locale rationale near the defaults so the bands aren't mysterious.
Acceptance
length_ratiotable includes locale-specific bands for at least ja and ar (and any other locale where the global default is systematically wrong).dialect.yamlno longer needs to override these.