placeholders and interpolation are very helpful for this sort of thing, but one thing i'd suggest is to avoid trying to get clever by doing fancy things with grammar and such. it's tempting to break up sentences into modular pieces that you can put together in different ways to avoid duplication, like this
STATUS_BAD = "not doing so well"
STATUS_OK = "been better"
STATUS_GOOD = "doing great"
RESPONSE = "Me? I'm {STATUS}, thanks."
but remember that other languages have very different grammar rules than english, and systems like this fall apart very quickly when translating to other languages. in most cases, you'll want one string in your translation table for every unique contiguous chunk of text in your game, even when that means duplication. this, for instance
RESPONSE_BAD = "Me? I'm not doing so well, thanks."
RESPONSE_OK = "Me? I'm been better, thanks."
RESPONSE_GOOD = "Me? I'm doing great, thanks."
feels like a bad solution from a software engineering perspective, but it will be much easier (or rather, possible) to translate this to a bunch of different languages, so it's worth the duplication.













