+mobile-l

Hi Android devs,

For non-Android devs who are wondering what the issue is: Android string resource syntax for parameters is based on Java + printf syntax. So, we end up with parameter placeholders like %s %2$s %.2f . Some translators just think they can use $1, $2, like with PHP or iOS.

Looks like the days of invalid parameter formats from translators are numbered, or at least the likelihood will be reduced since https://gerrit.wikimedia.org/r/#/c/220418/ got deployed a few minutes ago. While we have an automated test for that in the Android test suite, it's better to have the checks run closer to the source.

According to Niklas:
Translators see warning above the text area about incorrect or missing parameters while they are translating. Checks also get run when translation is saved and updated, and the translation is marked as fuzzy/outdated if the checks fail.

Cheers,
Bernd