CRYENGINE is able to localize text and sound for different languages. All of the necessary localization data is stored inside pak files, stored in the
<root>/Localization folder (example:
Inside of the pak files all files contained in the Languages folder can be directly translated except dialog_recording_list.xml and ai_dialog_recording_list.xml. These two files are used by the dialog system and need further explanation.
From CRYENGINE 3.4.3 and on the localization files have moved from
You can set the sys_localization_folder CVar to "Languages" to use the old system. In 3.4.3 and onwards, it is set to "Localization" by default which will make it use the new structure.
Inside certain scripts shipped with the SDK, you'll find references to localization strings. One example can be found in the InteractiveEntity object:
UseMessage = "@use_object",
The localization string for this reference is located inside:
This table is used to define strings of text which are then displayed in game. When the player walks up to the InteractiveEntity Entity, "Use object" will be displayed on the screen.
If the string is defined in alternate languages and the player use using an alternate language, it will be displayed as such.
Using the localization files inside pak files allows you to create multiple language packs. For example, CRYENGINE SDK ships with 3 language packs, English (default), German and Korean. The structure of these pak files is the same for each language.