GAME WEB SITE – CONTACT EMAIL
In our world, most of people can read and understand English. For video game, using English in a game ensure a large audience impact. But as English is not my mother tongue (I’m French), I also think people enjoy playing a game in their native language.
The process of translating a game is called « localisation » (or « localization », even that word has a different spelling depending on the US/GB English used). It can be called also « Internalisation ». Usually game translate on screen texts, and sometimes audio voices. In the USA the most common languages are English US, French Canadian and Spanish US. In Europe, we got the ESFIG 5 languages : English GB, Spanish, French, Italian and German. Most of the console game are only translated to these languages. Console games are divided into 3 zones. US, Europe and Japan. The others countries are forgotten because not big market for console games.
On PC the situation is different. There are much countries concerned. Asia has lot of potential players, Scandinavia, Europe est countries, …
Some games are translated into up to 50 languages, some software are translated into 100 languages.
On of my tasks will be to define which language are the most important and order them. My first estimation is that the game should be translated in more than 20 languages. That’s a lot.
Although I got knowledge in the 5 European languages, I’m totally unable to translate everything myself. For my past games, I either asked to friend, independent translators or translation companies. In a general way, translators costs lot of money. (usual price for translations is 0.10 eur per word). A small 1000 words game would cost 100 Eur per language, so 2000 Eur for 20 languages. A « big » game my cost 10x more, that is 20 000 Eur. That’s lot of money.
So to me texts can be translated in several ways:
- Asking for people to collaborate, and reward them with free subscription or special status in the game. It may work if several people are working on small part of translation. That means a software is required to synchronized the word and that several people need to work on that tasks. From my experience, a professional project should not wait for people contribution, so this should only be optional solution. Software may exist to easy the work on text translation.
- Paying specialised companies. This is the best solution, but it costs money. That would be a risk to spend 2000 Eur for one language translation if no one use it in game. Before doing a translation I need to be sure enough people are interested into that language. I may add a kind of survey in the game, something like « If you want the game to be translated into your language, please vote here ». When the number of people voting if enough, the translation may be ordered.
- Special names and words. « Ragged Edge » is based on Jacques Martel’s book « Bloody Marie ». In that book, Jacques describe a complete futurist universe with colony, races, guilds, crews, … The book is fabulous and the universe very rich. So rich that it have lot of words that have been invented to describe it. Some are simple, some are more complex, some are issues for other languages (Russian for example). Original book is in French (if any English publisher interested in it, then do not hesitate to contact Jacques to discus about it). The first big work will be to translate everything in English and define a dictionary of the common names and words. That list will be used by translators to get the same spirit in all language (this is very important, that bring a nice touch).
- Special alphabet: In my game I usually use bitmap font (I’m using good freeware « Bitmap font generator »). Bitmap font are very fast to render. The drawback is that a bitmap need to be generated for each size of font. Using ASCII characters give one simple picture. For Chinese, there are much many characters and more pictures are required to store the bitmaps. Lot of languages, different size may lead to a management of much font pictures.
Equilibrio (one of my past game) Europe Font:
Equilibrio Japanese font:
- Special encoding: The simple ASCII table allow to write in the most common European and US languages, but is not enough for extended alphabet like Japanese, Chinese, … Instead of ASCII, Unicode have to be used for encoding more then 128 characters. (or 255). In the past I’ve used UTF8 format which is a good balance between ASCII (all first 128 characters remain unchanged) and Unicode (UTF8 is a format where a character can be coded on 1 to 4 bytes).- Language specificity: Some languages have very specific rules. For example, Japanese does not have any word separator (alltextsarewrittenlikethis). So it is hard to define where to automatically cut words. Arabians languages are written right to left, and Vietnamese can have several accents on one single characters.
Source document: Texts of a game are usually stored into an excel file. This make easy the translator work. Each column correspond to a language.
Example of localisation document (Equilibrio)
Coding parts:Each localised string need to be clearly identified. In my first games, I used a simple simple where I called the line number in the localisation file. For example gettext(56) send back the 56th line of the excel document. This method is simple but does not allow any line insertion in the file. The string need to be added always at the end of list.
A most convienient method is to add an ID to each line. ID can be a string. For example: « LOD_UI_SPEED ». When exporting the localisation file, a integer ID can be associated to the ascii ID, and the ascii ID can be stored like this (use first optimised method on small platforms).
So in game call gettext( LOD_UI_SPEED ) or gettext(« LOD_UI_SPEED ») and it will send back the string.
As I do need performance on this, I’ll store the complete ASCII ID and search for it when I’ll need a string.