Internationalization is a familiar-sounding concept you may have heard of before, especially when immersed in content from the video game localization world. But what exactly does it entail? The term is often used interchangeably with ‘localization.’ However, they are not the same thing. Internationalization is the process of designing software, products, or services to be easily adaptable to different languages and customs. It has one foot in the realm of programming and the other in the world of languages.
Extracting Translatable Content
One of the main aspects involved in the internationalization process is content externalization, which aims to extract all the game content to be localized – such as text, art, and audio – from the game’s code. This makes life much easier for the localization team because it gives them a more simplified version of the text rather than delving into the game’s code, which may be impossible for those who don’t understand programming. It also reduces the overall time it takes to localize the game, which benefits game developers.
The extraction process has two key components: files and game assets. Files are just what stores the game assets. They’re organized logically and by language – no different from how you organize files on your PC/laptop – in a way that will make sense to the localization team. It’s a simple yet useful process.
The ‘game assets’ consist of text, art, and audio. Anything from the game that you intend to translate into different languages.
Text is extracted from the game code and stored as ‘plain text files’, which is a format that is easily accessible. Each line of text is called a ‘string.’
Organizing Strings and Selecting Fonts
A further consideration is how to organize text assets. When you think about the sheer quantity of written dialogue that goes into games like Dragon Quest, Final Fantasy, and Pokémon, you realize it comes in huge abundance. How do we extract all that text for localization and keep it well organized? Simply put, each ‘string’ is given an ID code: ‘String_T1: Hello’, which would correspond with ‘String_T1: Hola’.
Strings are usually collated in databases, along with other useful details, such as notes for the translator – giving them more context behind that individual string to aid with translation – as well as information on memory and maximum character lengths, which may be useful as some languages are longer than others – therefore the translation may need to be reduced in some way.
Another technical consideration that pertains to ‘text’ is the type of font used. Of course, in English, we don’t use characters like the ñ in Spanish or the cedilla in French or, in fact, any type of accent. However, languages with accents or different alphabets aren’t always compatible with all fonts. Therefore, programmers use ‘multilingual web fonts.’ Again, this just ensures the text can be translated into all languages without any breakdown.
Handling Art and Audio Content
Art and audio form the final two ‘game assets.’ The text accompanying game art, for example, in shop windows, street signs, and posters, is coded into a separate layer from the art graphic itself. Meaning when you see that street sign in Japanese, the sign is on a different layer to the writing. This, again, makes the text easily extractable, so the linguist is translating text rather than delving into graphics!
As a further step, great consideration goes into writing source text so that it’s concise and uses ‘normal’ language, making it quicker and easier to translate.
As for the game’s audio, it comes in three main types: sound effects, music, and voice-over/dubbed content. The first two usually remain the same, but the latter gets translated and re-recorded into other languages, which again needs to be made easily accessible. In this case, it is stored separately from the other two audio formats – organized into one of our ‘files’ mentioned previously.
Conclusion
In its simplest, internationalization is building software so that it is easily adaptable, whereby the content that you want to localize can be extracted, stored separately, and made readily accessible to a team of localizers who may possess very little programming knowledge. The process allows for a faster and more seamless localization process and ultimately comes before the ‘translation’ phase – both of which fall under the localization umbrella.