Some sentences in Tuleap contains %s
placeholder so that it can be replaced by the content of a variable at runtime.
This works fine when there is a single placeholder in the sentence. But when there is more than one, for example user %s removed from project '%s'
, then there might be an issue with some locales that don't have the same order of words than the original english sentence.
In order to don't have the issue, we must use ordered placeholders like so: user %1$s removed from project '%2$s'
, that way %1$s
is always the first argument, and %1$s
is always the second argument, regardless the position of the placeholder in the translated sentence.
There are a lot of occurrence in existing codebase, it will be fixed by different contributions.
Ideally we should have a tool to detect that we don't introduce new sentences containing unordered placeholders (CI, pre-commit, …).