mirror of
https://github.com/wagtail/wagtail.git
synced 2024-11-30 19:20:56 +01:00
5c1c2c8f53
Close #9377
80 lines
3.5 KiB
YAML
80 lines
3.5 KiB
YAML
rules:
|
|
- id: translation-no-new-style-formatting
|
|
patterns:
|
|
- pattern: $FUNC("$STRING_ID", ...)
|
|
- metavariable-regex:
|
|
metavariable: $FUNC
|
|
regex: '_|gettext|gettext_lazy|ngettext|ngettext_lazy'
|
|
- metavariable-regex:
|
|
metavariable: $STRING_ID
|
|
regex: ".*({(\\d*|[\\w_]*)}).*"
|
|
message: |
|
|
Do not use str.format style formatting for translations.
|
|
Use printf style formatting with named placeholders instead.
|
|
For example, do `_("Hello %(name)s") % {"name": "Wagtail"}`
|
|
instead of `_("Hello {name}").format(name="Wagtail")`.
|
|
See https://docs.wagtail.org/en/latest/contributing/translations.html#marking-strings-for-translation for more information.
|
|
languages: [python, javascript, typescript]
|
|
severity: ERROR
|
|
- id: translation-no-f-strings
|
|
patterns:
|
|
- pattern: $FUNC(f"...", ...)
|
|
- metavariable-regex:
|
|
metavariable: $FUNC
|
|
regex: '_|gettext|gettext_lazy|ngettext|ngettext_lazy'
|
|
message: >
|
|
Do not use formatted string literals for translations.
|
|
Use printf style formatting with named placeholders instead.
|
|
For example, do `_("Hello %(name)s") % {"name": "Wagtail"}`
|
|
instead of `_(f"Hello {name}")`.
|
|
See https://docs.wagtail.org/en/latest/contributing/translations.html#marking-strings-for-translation for more information.
|
|
languages: [python]
|
|
severity: ERROR
|
|
- id: translation-no-anonymous-arguments
|
|
patterns:
|
|
- pattern: $FUNC("$STRING_ID", ...)
|
|
- metavariable-regex:
|
|
metavariable: $FUNC
|
|
regex: '_|gettext|gettext_lazy|ngettext|ngettext_lazy'
|
|
- metavariable-regex:
|
|
metavariable: $STRING_ID
|
|
regex: ".*%\\w.*"
|
|
message: >
|
|
Do not use anonymous placeholders for translations.
|
|
Use printf style formatting with named placeholders instead.
|
|
For example, do `_("Hello %(name)s") % {"name": "Wagtail"}`
|
|
instead of `_("Hello %s") % "Wagtail"`.
|
|
See https://docs.wagtail.org/en/latest/contributing/translations.html#marking-strings-for-translation for more information.
|
|
languages: [python, javascript, typescript]
|
|
severity: ERROR
|
|
- id: translation-no-format-within-gettext-python
|
|
patterns:
|
|
- pattern: $FUNC("..." % ..., ...)
|
|
- metavariable-regex:
|
|
metavariable: $FUNC
|
|
regex: '_|gettext|gettext_lazy|ngettext|ngettext_lazy'
|
|
message: >
|
|
Do not format string before translations
|
|
or the interpolated value will be part of the key.
|
|
Instead, interpolate after the call to gettext.
|
|
For example, do `_("Hello %(name)s") % {"name": "Wagtail"}`
|
|
instead of `_("Hello %(name)s" % {"name": "Wagtail"} )`.
|
|
See https://docs.wagtail.org/en/latest/contributing/translations.html#marking-strings-for-translation for more information.
|
|
languages: [python]
|
|
severity: ERROR
|
|
- id: translation-no-format-within-gettext-javascript
|
|
patterns:
|
|
- pattern: $FUNC("...".replace(...), ...)
|
|
- metavariable-regex:
|
|
metavariable: $FUNC
|
|
regex: '_|gettext|gettext_lazy|ngettext|ngettext_lazy'
|
|
message: >
|
|
Do not format string before translations
|
|
or the interpolated value will be part of the key.
|
|
Instead, interpolate after the call to gettext.
|
|
For example, do `_("Hello %(name)s") % {"name": "Wagtail"}`
|
|
instead of `_("Hello %(name)s" % {"name": "Wagtail"} )`.
|
|
See https://docs.wagtail.org/en/latest/contributing/translations.html#marking-strings-for-translation for more information.
|
|
languages: [javascript, typescript]
|
|
severity: ERROR
|