translation-unsupported-format (ODE8300)
Preview (since 0.16.2.9) · Related issues · View source
Derived from the odoo linter.
This rule is unstable and in preview. The --preview flag is required for use.
What it does
Checks for translation terms using a printf conversion that Python's % formatting
does not support, e.g. _("Hello %y", name).
The rule only applies from Odoo 14.0 on, the version whose translation functions take
the interpolation arguments themselves; up to 13.0 translation-contains-variable
covers the eager interpolation instead. Configure the version with the odoo-version
setting; without it the rule stays enabled.
Why is this bad?
The translation function formats the term with %, so an unsupported conversion
character raises a ValueError at runtime.
Example
Use instead: