In software that has multiple languages available, inevitably there are times where some text is not available in a particular locale. What is the best way to handle this situation?

Consider:

* Some software uses the native language as keys (eg, "Welcome to Product x!") while some use arbitrary keys (eg, "MAIN\_PAGE\_INTRO\_HEADER")
* Is the handling different depending on if the software is commercial or open-source?

I realize the ideal is that you have 100% coverage on text translations, but that's not what I am asking for here. Sometime time pressures or lack of resources (especially with open source) mean you release without 100% coverage. Even if you think you have 100% coverage, there is always the possibility that you don't or somehow an old language file gets dropped in or one of hundreds of other things goes wrong. My question is about what should happen when it does.