Skip to content

Part 2. Internationalization engineeringΒΆ

A translation that exists but never reaches the screen is an engineering defect, and so is a sentence that no translator can make grammatical. This part is about the work that prevents both: designing a program so that its text and its cultural assumptions live in data rather than code, externalizing strings with enough context to translate them, handling values inside messages without breaking grammar, instrumenting Qt and web code, loading and switching languages at run time, mirroring layouts for right-to-left languages, rendering complex scripts, and testing all of it before a single real translation arrives. It condenses thirty years of practice, from X/Open message catalogs and Win32 resource files to Qt 6 and TypeScript, and uses the FontLab applications and the fl10n and Localizzy tools as worked examples where they help.