In WARFRAME, some localized messages use string interpolation in order to embed variable values in the game's UI text.


WARFRAME uses the variable name in all caps surrounded by vertical bar characters (|) in order to embed them in localized messages. For example, internally, the EN localized message for the Armor stat description is stored as:

Reduces damage to Health by |AMOUNT|%.

Shields are not affected by Armor

where |AMOUNT| is the calculated Damage Reduction percentage gained from Armor.


According to Public Export's contents,

  • Warframe passive descriptions
  • Warframe ability descriptions

Other known usage of string interpolation include:

  • Stat tooltip descriptions
  • Dialog subtitles[1]
  • Sortie mission flavor text

Known variables:

  • |AMOUNT|
  • |PLAYER_NAME| (e.g. used in Lieutenant Lech Kril's subtitles)
  • |BOSS_TAG| (boss name, used in Death Mark)
  • |UNFINISHED_MAP_NODES| (from Arbitrations vendor)
  • |STACKS|[2]
  • |TIME|
  • |NAME|


  • Very rarely the in-game UI bugs out and players will be exposed to the raw localized message which is how this implementation was discovered.


Patch History[]

Update 35.0 (2023-12-13)

  • Fixed unintended "|CONDITION|" appearing in Cascadia Empowered’s and Rising Agony Decree’s description.

Update 34.0 (2023-10-18)

  • Fixed on-hover Stat descriptions in Market dioramas showing "|amount|" instead of the % value for Armor reduction.

Hotfix 25.4.1 (2019-07-24)

  • Fixed issue with Proton Snap showing "|TIME|" instead of duration value in non-English localizations.

Update 25.3 (2019-07-06)

  • Fixed pressing X on controller while in the Relic station displaying the message "Refine |Name| to Intact?".


See Also[]

  • Text Icons, for a similar concept but embedding image icons in text instead.

External Links[]