November 26th, 2025
like2 reactions

At what point in the Windows development cycle is it too late to change the text of a translatable string?

Back in 2009, I noted that the “Prevent windows from being automatically arranged when moved to the edge of the screen” check box is a dreaded negative checkbox. When is it too late in the Windows development cycle to change the text of a translatable string?

The translation team sets a deadline for when no further string changes are permitted. This deadline usually comes well before the engineering “no code changes” deadline 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.

Service packs (back when we had service packs) and monthly updates follow an even stricter set of rules. Not only does the translation team set a deadline for strings, but strings that have already shipped in the base operating system or previous service packs or monthly updates are considered permanently locked and may not be changed. The reason is that changing those strings would invalidate the translations, 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.

If you want to change a string in a service pack or monthly update, you have to create a new string, let the translators translate that new string, and simply abandon the old string.

As a result, as monthly updates accumulate, there’s also a build-up of unused and abandoned strings lying around in translation packs. They only become available for cleanup when a major release occurs, which tends to be very infrequent because major releases are quite large, and the installation process of a major release takes the form of a clean install of the new operating system, followed by migrating the state of the old operating system to the new one. Not only is this a much longer process than a normal monthly patch update, it also means that the next time the user logs on, they go through the “We’re getting everything ready for you” screen, which is particularly annoying.

Bonus chatter: While it’s true that there are settings to disable the “We’re getting everything ready for you” screen, those settings don’t speed up anything. They just change what you see while the system is finishing setting up your profile.

Topics
Other

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

9 comments

Discussion is closed. Login to edit/delete existing comments.

Sort by :
  • Baltasar García

    This is probably off-topic, but I remember that the Spanish translation of assembly was “asamblea” (reunion, or people together), instead of “ensamblado”. The word has both meanings, so, in a sense, it’s a false friend. Anyway, I remember Visual Studio loading assemblies, i.e. “cargando asambleas”, so actually “loading reunions”. I think it was Visual Studio.NET 2005.

    Mmm interesting… I still used Windows at home. For games, I guess.

  • Frédéric B.

    What about when the translation itself is wrong? It’s been decades now that French Windows incorectly localizes FILE_READ_ATTRIBUTES as “Attributs de lecture” (should be “Lecture des attributs”), right next to the more recent FILE_READ_EA which is correctly translated as “Lecture des attributs étendus”.

    (I just checked, it’s still the case in Windows 11 25H2)

  • GL · Edited

    (Edit: in reply to Andreas Rejbrand.)

    Same here. I remember the day when Office preset gradients (2000 version) had beautiful native rhythmic vocabulary in Chinese (simplified). In a not-so-recent version of Windows 10, “Power” (for shutdown in Start menu; correct translation is power (source of electrical energy)) was translated to power (name of physical quantity whose unit is joule per second). There was also Edge (proper noun not to be translated) being translated to edge (side of shape).

    • 許恩嘉

      You can search “微软式中文” to see lots of laughable translations.

  • GL · Edited

    I vaguely remember that pressing CAD on that that screen makes it hidden even if the shell has not been fully started…

    (Edit: in reply to Joshua Hudson about the topmost window issue.)

  • Joshua Hudson

    What I want to do is take the TOPMOST flag off the “We’re getting everything ready for you” so I can open up a command prompt on top of it.

    There’s no real difficulty in running code before this step happens. There’s only difficulty in keeping your own window up during the process.

  • Joshua Hudson

    We have a *very* simple solution to that problem: don’t check. The string id + context is assumed immutable in meaning and the lookup is done without knowledge of what the English string is.

    Garbage collecting strings is a slow process (in time) but does occur when possible.

    Yes, we have a table lying around of string ids that can never be recycled because their prior usage mode does not permit it.

  • Andreas Rejbrand

    Is this still the case?

    Growing up, I remember that I was very impressed by the Swedish translation of Windows 95 and other Microsoft applications of that era, and by their documentation. You certainly got the feeling that the translation was done by a group of competent carbon-based translators, knowledgeable about both the involved languages (English and Swedish) and technical terms.

    These days, well, sigh. In general, computer interfaces and on-line documentation tends to be very poorly "translated" into Swedish. Unfortunately, this also applies to the Microsoft Windows operating system. If I go through all the pages of the Settings app, I...

    Read more
    • Jernej Simončič

      Microsoft’s translation quality dropped like a rock in the last few years. While there were some problems in the past, it was mostly due to typos or translating some #REPLACEMENT_STRINGS#; these days it seems that a lot of stuff is translated either without knowing any context (“scanning” being translated “reading optically” instead of “checking”), or there are straight up machine translations being used (eg. the select drive dialog in the modern Windows 11 installer is complete nonsense in Slovenian – even translating those labels back to English doesn’t give you a clue what they’re supposed to be).