You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The check currently looks for same format strings as in the source. While this is the correct approach in most cases, it is better to use position-based format in the source string as well to make sure it is really supported by the printf engine (there used to be implementations which did not support this).
Please note that even on systems where printf does not support this (and so it should not exist in the source string), libintl.a provides a replacement function that is activated for translations [1].
I know it's possible to use libintl, but whether it is being used the translator typically does not know, that's why it's good to be explicit in the source string in this.
Still, Weblate probably should not complain on this, as most platforms these days will support it.
When the C-format check is enabled, positional arguments such as
%1$s
raise an error.I already tried
To Reproduce the issue
Steps to reproduce the behavior:
Expected behavior
We expect that default order variables can be replaced in translation with positional variables without error
Screenshots
Server configuration and status
Observed on Weblate hosted instance
The text was updated successfully, but these errors were encountered: