Implementing UI translation in SumatraPDF, a C++ Windows application
A technical guide on designing and implementing a multi-language UI translation system for the SumatraPDF C++ Windows application.
Krzysztof Kowalczyk writes practical, experience-driven posts on software engineering, spanning Go, C++, JavaScript, and modern UI frameworks. His blog covers performance optimization, desktop and web app development, and lessons learned from building products like SumatraPDF and Edna.
27 articles from this blog
A technical guide on designing and implementing a multi-language UI translation system for the SumatraPDF C++ Windows application.
A developer's guide to calling various LLM APIs (OpenAI, Grok, Anthropic, Google) directly from the browser, including workarounds and using OpenRouter.
A guide to increasing the open file limit on Ubuntu Linux for web apps and servers, covering configuration changes and system reboots.
A case study analyzing over-engineered C++ code for file format detection, showing how to simplify object-oriented design and remove unnecessary complexity.
Explains the confusing behavior of nil comparisons with empty interfaces (interface{}) in Go, detailing why a nil pointer assigned to an interface may not equal nil.
Explains Svelte 5 snippets, covering basics, use cases like reducing nesting, and replacing slots.
A developer shares controversial C++ engineering decisions in the SumatraPDF codebase, focusing on performance, simplicity, and maintainability.