Home

Windows keeps obsolete strings forever to avoid breaking translations

Changing text in Microsoft Windows requires freezing string updates well before code changes stop, often leading to strange wording that persists for years.

These quirks aren't due to last-minute updates. Instead, it is all about the translations, according to veteran engineer Raymond Chen.

"This deadline usually comes well before the engineering 'no code changes' deadline," Chen wrote on his Old New Thing blog, "because the translators require a lot of time to go through all the strings and translate them into the many target languages that Windows supports."

The real problem emerges during updates when changes get rolled out and existing functionality is updated. Does Microsoft modify the text to say that widget x performs function z instead of function y?

Nope. Microsoft adds new translations and leaves the old ones alone. Anything that is already in the system is considered permanently locked and cannot be changed.

"The reason is that changing those strings would invalidate the translations," explained Chen, "causing the existing translation packs to say, 'Whoa, that's not the string I was asked to translate.'

"Depending on what language the user has chosen for their user interface, this could result in devolving to the base language (for Language Interface Packs), or if the base language's translation has also been invalidated, possibly falling back to English."

And so, with every update, the bloating of Windows is not just due to AI functionality being crowbarred into the OS; it is also because of a build-up of abandoned strings cluttering the system.

According to Chen, only during major releases - marked with the vaguely patronizing "We're getting everything ready for you" login screen - can Microsoft purge these redundant strings. ®

Source: The register

Previous

Next