I was going to ask a question about preparing a desktop application to support multiple languages on the UI.
In my search for existing questions on the topic I was
Internationalization prepares your application for localization. For example, you might encode characters stored in your database in Unicode (utf8mb4 instead of latin1), moving strings to resource files, enabling the use of date, time and currency formats, etc.
When you wish to sell, for example, a Chinese version of your app, you'd then localize it by hiring a translator to build the zh-CN resource files, and use a new date/time/currency format.