Keep your text and your code separate | Allcorrect Games

Keep your text and your code separate

My friend Demid and I founded Allcorrect in 2006, a year after we graduated. Our moms gave us 500 euros each, and we used it to set the company up. It started off as just the two of us, but it’s grown to be an international company that employs 120 people, with its headquarters in Ireland and its principal office in Serbia.

We started out doing general translation. For the first two years, game localization never even crossed our minds.

Then, one day, we suddenly got a client from the gaming industry: 1C, with their game Age of Conan: Hyborian Adventures. Their main contractor had missed the deadline to deliver their translation, so we got called in, and ended up doing about half the work.
This was during the 2008–2009 financial crisis. At the time, one of our clients had just said, “We can’t pay you in money, but we can pay you in promissory notes with no maturity date.” We did some googling and discovered that we didn’t much like the sound of promissory notes with no maturity date, so we politely refused.

And then, our first games company came along. It was good money, they paid fast, and we actually liked their games. Demid’s a proper gamer, a real Heroes fan, and I like playing stuff like Zelda and Horizon, so it was a fun job that spoke to us and paid well—and nobody said anything about promissory notes! Score. So we’ve been in the gaming industry since 2008.

Up until 2020, we had other lines of business too, but we decided to sell them and focus on games. We added game art services, and now we’ve made the decision to become a game content studio. When we started out, we never dreamed we’d end up in the gaming industry. We were fresh out of college back then, so it was hard to even imagine working with Electronic Arts or Ubisoft.

Our first game was a particularly challenging one.

We all lived and breathed that game. We were just making it up as we went along, reinventing the wheel. What kept us going was that we actually liked the game. The terminology was funny: it was an “adult” game with a quirky sense of humor and lots of jokes about, er, sexual relations. Discussing and agreeing on translations was always fun: “Suspenders of Lust, or Straps of Depravity?”

From then on, we mostly worked on Chinese and Korean MMOs, translating them from Korean or from English written by Chinese speakers. There were all sorts of challenges, not least some pretty fundamental technical ones: back then, Chinese developers didn’t always bear in mind that other languages use letters, not Chinese characters, so their words are longer. That means you either need to make your text boxes extendable, or else leave some empty space. That’s why people who play Chinese and Korean MMOs still come across all those abbreviations that drive everyone up the wall (“lgd swd”).

One day, we were translating from Korean and decided to optimize the translation by breaking sentences into segments. That works fine for European languages, but not so much for Korean, because in Korean, the verb goes at the end of the sentence. So when you break up a sentence, you don’t get one sentence divided into segments—you get two separate and completely nonsensical sentences. But we did it anyway, and then spent ages undoing it.

Art from Age of Conan: Hyborian Adventures

We have special software we use to analyze reviews of games we’ve translated.

If a review mentions localization, we’ll often know about it before the developer does. So we’ll tell them we’ve found an issue, we’ve got a fix for it, and could they please implement it? It happens—but not very often.

I have a story from back in 2009 or 2010. We’d taken on a mobile game that needed multilingual localization, from English into fourteen other languages. We didn’t have any experience back then, but we said we did. We didn’t have a team either, but said we did. We got a team together, but didn’t have time to do proper QA for all the languages.

French was one of them. Our French translator was great: he never missed a deadline. But then, the time came to pay him for his work. He had a French name, say Alain. So we wrote to him: “Alain, could you send us your details?” It was then we realized that he wasn’t called Alain. He was called Abdul ibn Fattah and he lived in Palestine. That meant we had to somehow transfer money to Palestine, but it also meant that our French translation was a hot mess. We ended up confessing everything to the client and spending a good six months scrubbing all that French out of the game for free.

Mistakes happen. What matters is how you deal with them. We use lean methodology and investigate all our slip-ups. We think about causation: did a particular mistake just happen out of the blue, or was there an issue with the process? If it’s the process, then we change it and see whether the problem reoccurs. This endless cycle of improvements to processes has been part of how we do things since around 2009.

Localization is one thing, but there’s also culturalization: adapting content to the culture of a particular country.

Culturalization can be reactive or proactive. Reactive culturalization involves bringing content into line with a culture’s norms. Say a developer wants to release a game in a conservative Muslim country, but their game features angels and demons. There are a few cultural norms they’ll need to consider. God and divine beings can’t be portrayed in images, so the angels and demons will have to go: they’ll need to be renamed and redrawn as evil people with horns and good people with wings.

Or what if the developer wants to release their game in China, but the angels and demons fight and die? Well, video games in China can’t feature violence, so their “deaths” will have to not be bloody, or they’ll have to not die at all, and just disappear in a puff of smoke with a sad face.

Or maybe the developer wants to release the game in Germany, but it has SS soldiers as well as angels and demons. There are two possibilities here. One option is to apply to a special German cultural commission and explain why this particular creative work just has to have SS soldiers in it. The commission will then examine the application, play the game, and decide whether to allow it to be released in Germany. The other option would be to just redraw the soldiers’ SS badges and change them to something safer. That’s all reactive culturalization.

What about proactive culturalization? Let’s say a developer’s making a game about the kolobok, the cute yellow bun that goes on the run in a famous Slavic fairy tale, and the kolobok’s backstory is important for the gameplay. Russians know all about the kolobok, but if we want to release the game on the Chinese, Arabic, or European market, we’ll need to somehow explain why the kolobok escapes from Granny and Grandpa, why it’s on the run, and why foxes are such bad news. We’ll have to either go over all this in detail, or else change the kolobok into something more familiar, like a gingerbread man.

One place you can find culturalization experts is the International Game Development Association (IGDA) website. There are also reference guides, books (we even wrote one ourselves), and the famous Inglehart–Welzel cultural map of the world, which will give you an insight into the theory behind all this messy cultural stuff. And of course, there are other publicly-accessible sources—and translators. An experienced translator will know a lot about culturalization.

Our in-house team is mostly project managers. We hire freelancers to do the actual translation. But, importantly, for a lot of those freelancers, we’re one of their main clients, or even their only client. We’ve been working with them for a long time and know them well. We have about 800 freelancers in all, but our core team’s smaller, of course: about 200 or 300 translators who’ve been with us a while.

Gwent as an example of reactive culturalization

Some countries are starting to develop fast and their GDP is going up, but their population doesn’t speak English, so their languages are increasingly popular choices for localization.

Examples would be Turkey and Indonesia. Another increasingly popular language is Brazilian Portuguese, which is squeezing out European Portuguese, the former standard, because Brazil is bigger and Brazilians’ disposable income is going up. India still hasn’t quite gotten there yet, but I think it will. India will be a tricky one, though, because lots of languages are spoken there. You can’t just translate into Hindi.

It’s important to know what the game you’re localizing is like, what market it’s destined for, and why localization is needed in the first place.

We had a client who had their game translated into Latvian. The game had been soft-launched in Latvia because, for some reason, the market data for the rest of Europe matched the market data for Latvia. That kind of thing happens if you extrapolate.

If you have a limited localization budget and need to choose, say, five main languages, we can investigate that for you. We generally look at the game’s competitors and find out which languages they translate into. We see what’s on Steam and what’s on the app stores, and look at how much they’re making in specific markets.

Say a game’s been localized into Brazilian Portuguese. It should earn an average of twice as much in that market as similar games that haven’t been localized. But that’s correlation, not causation, so you can’t use that information to make predictions about a particular game. We also have a good general idea of different markets, and about the genres different regions prefer. Everyone knows that the Japanese love anime graphics, for example.

Screenshot from Rogue Legacy 2

How to prepare a game for localization

There’s a test you can do. If you can extract your game’s text into a table, add a translation (even if it’s just a machine translation), and put it back in, then you’re good to go, assuming nothing broke in the process. You’ll also want to know whether the game can handle all the languages and fonts you’ll need.

Just bear in mind that different languages do things differently. They might not use Latin or Cyrillic fonts, and they’ll probably have their own pitfalls. For example, Hebrew and Arabic are written right to left, which could catch you out. Your game needs to support the fonts you’ll need for a particular market, and the interface has to work for them too.

Supporting fonts is a big topic, and a bit of a minefield. For instance, if you want to release a game in China, it needs to support Chinese fonts. If you’re going for Japan, it needs to support Japanese fonts—Japanese, not Chinese! You see, Japanese has three different writing systems. They use some Chinese characters, but also have their own. Sometimes, when Chinese fonts are supported but Japanese ones aren’t, Chinese characters get put in instead of Japanese ones. We might think, “What’s the problem? It looks fine!”, but it really riles Japanese players.

You need to keep your text and your code separate. As I say, if you can successfully extract the text, then you’re probably fine. Snippets of code are going to get extracted at the same time, sure, but a good translator will understand that. Those snippets might actually be important: they might show that a particular line is spoken by an NPC, for example, which is helpful for the translator to know as it gives them more context.

Oh, and don’t forget to localize your graphics. Text on graphics also needs translating. Your localization team can redraw it all, but that will take more time and cost more money. So it’s best to keep your text separate from your code, for sure, but also from your graphics.


Allcorrect is a game content studio that helps game developers free their time from routine processes to focus on key tasks. Our expertise includes professional game localizations, creating juicy 2D and 3D graphics, localization testing, believable voice-overs, and narrative design.


  • Instagram
  • Facebook
  • Twitter
  • Linkedin