Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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: CRYENGINE_3.5/Localization/English_XML.pak).

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.

...

Info
titleBackwards Compatibility

From CRYENGINE 3.4.3 and on the localization files have moved from <root>/Game/Localized to <root>/Localization. Also note the PAK layout has changed. The dialog folder with the audio files is located in the English.pak and the XML and gfx font files are located in the English_xml.pak.

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.

Usage

Inside certain scripts shipped with the SDK, you'll find references to localization strings. One example can be found in the InteractiveEntity object: GameSDK/Scripts/Entities/Others/InteractiveEntity.lua

Code Block
languagexml
UseMessage = "@use_object",

The localization string for this reference is located inside: <sdk_root>\Localization\English_XML.pak\text_ui_ingame.xml

Key

Original Text

Translated Text

use_object

Use object

Use object

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.

PAK/Folder structure

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.

...

<root>

..

Localization

..

..

English.pak / English_XML.pak

..

..

..

text_ui_warnings.xml

..

..

..

dialog folder

..

..

..

etc

..

..

German.pak / German_XML.pak

..

..

..

text_ui_warnings.xml

..

..

..

dialog folder

..

..

..

etc

..

..

Korean.pak / Korean_XML.pak

..

..

..

text_ui_warnings.xml

..

..

..

dialog folder

..

..

..

etc

..

..

text_ui_warnings.xml

..

..

dialog folder

..

..

etc

Note

When you don't use the pak files but original assets (rather xml files in a folder structure) , you need to copy the files of the language of choice to the root folder (not Localization/<language>), example: <root>/Localization/text_ui_warnings.xml

...