Other great resources: Official JS API docs, Scripting Forum
_() localise
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 forum topics for more information.
If you want to know more about localising Warzone 2100, view the official translations topic in the forums.
Example
console(_("hello world")); // translate "hello world" in to user's language