Used for string localisation (translation in to other languages)...
Syntax
var localisedStr = _("string");
Parameters
Parameter
Type
Mandatory
Notes
Game Version
"string"
String literal
The string to translate. Must be a primitive, string literal.
See Notes section below for more details as to why.
3.1 Beta 1
Return values
Value
Type
Notes
Game Version
<localisedStr>
String
The localised version of the str.
If no localised version of str exists, str will be returned.
3.1 Beta 1
Notes
Localisation happens in two stages.
The first stage is part of the design/build process, and uses _() merely as a marker for strings that need localisation:
A 'gettext' script parses files looking for occurrences of _("some string") – it adds each string it finds to a .po file
The .po files are used by translators to create localised versions of the strings
The .po files are then compiled in to .mo files that are bundled with the game
For this reason, you can't use variables or constants inside of _(), because that would confuse the gettext script.
Then, at run-time, the _() actually does the localisation:
Looks for the string in the relevant .mo file
If found, returns the localised string
If not found, returns the original string
Currently there's no way to determine what language other players in an MP game speak, and there's no way to specify a target locale in the _() function. See related forumtopics for more information.