Game Localization Basics

10 July, 2025

This week, for me, was all about localization🌍; Translating into various languages in order to gain attraction from users internationally. Either was it internship work or a side project, fate wanted me to test out my efficiency in translating texts in my games. So, in this post, I wanted to discuss a little bit about how I approached it in general.

Localization implementations in games come down to three key factors in my experience: 1) Source Texts, 2) Translation System and 3) Translated Texts.

Like all communication processes (any thing that has an input/sender, process/medium and output/recipient), localizations are structurally the same.

1. Source Texts

Every game with localizations start with source texts. The default texts (or sometimes called translation keys) that mark what the texts are supposed to be. A label on a button that leads to the main menu will have its source text as “MAIN_MENU”. For sure that won’t be what’s displayed for players. We can later use this source text as a reference in the Translation System when translating into what will.

2. Translation System

The translation system, that I understand, uses a translation medium. A file or database that keeps source texts, translated texts and helps developers/translators work together well and efficiently. In this part you will also need to know the locale you are trying to translate to. Say your source text is in English (“MAIN_MENU”), your target locale may be Thai. Thai language’s locale identifier is TH, so you will need to take note of that and setup for your translation system.

Recently, I started using Poedit (https://poedit.net/); a translation editor that takes .CSV or .POT (portable object template) files from somewhere and generates usable translation files (.PO/gettext). With helper software like Poedit, you can easily translate texts in any game or software. Something like this makes up the system.

Of course if you want accurate translations, you may need human translators. Reaching out to your community can definitely help. Websites like Crowdin (https://crowdin.com/) are made for this specifically. So, you can check it out if you are interested.

3. Translated Texts

The output from the translation system, I will call them Translated Texts. Usable texts that are already translated for your target locale and can be dynamically replaced on source texts in the game.

As you can see, localizations today can be broken down into these basic parts and anyone can implement them.