Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Placeholder order is the check I would add next, because it is the one that turns into a crash rather than into a bad string. A translator reordering arguments is perfectly legal when the placeholders are named or indexed, and it breaks the call when they are bare positional ones like %s, since the runtime takes those in sequence. So a reorder should be an error for bare positional placeholders and a non issue for the indexed kind, which means the tool has to know which family a file uses.

On unchanged strings, expect false positives from proper nouns, OK, numbers and short UI labels that really are identical in both locales. A per key ignore list, or a minimum length before that rule fires, is what keeps the finding useful instead of noisy enough to be ignored.

Thanks for pointing these out. Version 1.1 now checks the argument order for the supported bare printf placeholders, while allowing named and numbered reordering. It also adds a minimum length for unchanged notices (4 characters by default), per-key exclusions for that notice only, and reusable settings. Both editions include the changes.


The printf example demonstrates the difference. Swapping two identical %s arguments still cannot be detected from the format strings alone, and full printf syntax is outside this tool's scope.