Arma 3 Scripting

Command in Strings, Localization

localize

Also available as Markdown and JSON, or read the original wiki page.

Description

Used to internationalise text messages. The provided translation key is looked up in Stringtable.xml (or Stringtable.csv).

Syntax

localize stringName

Parameters:

Returns: String - text found in corresponding entry in stringtable file. If the key could not be found an empty string "" is returned and an entry is added to .rpt file, for example String STR_DN_SNAKE not found

Examples

Example 1

hint localize "STR_West";                // returns "BLUFOR"
hint localize "STR_WEST";                // returns "BLUFOR"
hint localize "STR_weSt";                // returns "BLUFOR"
hint localize "STR_NonExistentString";    // returns "" and logs "String STR_NonExistentString not found"

Example 2

hint format ["Go %1", localize "STR_Q_NORTH"]; // returns "Go North"

Example 3

hint format 
[
    localize "STR_ACTION_DROP_WEAPON",    // "STR_ACTION_DROP_WEAPON" contains "Drop %1"
    localize "STR_SN_RIFLE"                // "STR_SN_RIFLE" contains "Rifle"
]; // returns "Drop Rifle"

Example 4

localize "$STR_USRACT_ADJUST"; // returns "Adjust" since Arma 3 v2.04

See also

isLocalized · diag_localized · getTextRaw · BIS_fnc_localize · WFSideText · parseText · Stringtable.csv · Stringtable.xml

Community notes

Killzone_Kid

The command localize will strip all HTML tags from your Stringtable.xml entries, however there is a way to trick it by substituting tags with HTML code instead:

<?xml version="1.0" encoding="utf-8"?>
<Key ID="STR_TEST_KK">
    <Original><![CDATA[<t color='#ff0000'>This doesn't work</t>]]></Original>
</Key>
<Key ID="STR_TEST_KK2">
    <Original><t color='#ff0000'>This works</t></Original>
</Key>
hint parseText localize "str_test_kk";    // no change of colour
hint parseText localize "str_test_kk2";    // hint content is in red