This PR cleans up string formatting in the codebase so other PRs adding compile time checking can be simpler and easier to review (specifically #30928, #31061, #31074, and #31149).
Currently these PRs are hard to review because in addition to changing formatting APIs, they have to update callers that are using the API’s in unusual ways. Clean up these callers now so later PRs can be simpler. Specifically:
- Use string literals instead of
std::string
format strings to enable more compile-time checking. - Avoid using translated strings as format strings. Use originals so they can by checked at compile time.
- Favor
emplace_back
overpush_back
when appendingUntranslated
strings. - Favor
Untranslated(strprintf(...))
overstrprintf(Untranslated(...), ...)
for consistency and to prevent translated and untranslated strings from being unintentionally combined.