# TRX Game Strings Configuration This document describes how to use the game strings. Game strings let users translate the game and change the built-in object names for the purpose of building custom levels. The configuration includes definitions for game levels, objects, and all UI elements, and is structured in a JSON5 format which permits comments. ## General structure The document is organized as follows: ```json5 { "levels": { { "title": "City of Vilcabamba", "objects": { "key_1": { "name": "Silver Key", "description": "This shows when the player examines key1 in the inventory.", }, "puzzle_1": { "name": "Gold Idol", "description": "You can use \n to make new lines and \f to make new pages.", }, "key_2": { "name": "Rusty Key", }, // etc }, "game_strings": { "STATS_TIME_TAKEN": "Time Taken", // etc }, }, // etc }, "objects": { "lara": {"name": "Lara"}, // etc }, "game_strings": { "STATS_TIME_TAKEN": "Time Taken", // etc }, } ```
Property | Type | Required | Description | |
---|---|---|---|---|
levels
|
Object array | No |
This is where overrides for individual level details are defined. If a
level doesn't override a string through its objects or
game_strings , it'll be looked up in the global scope next.
If the global scope doesn't define it either, it'll default to an
internal default value shipped with the engine.
|
|
title
|
String | Yes | The title of the level. | |
objects
|
Object array | No | Object-related strings. | |
game_strings
|
String-to-string map | No | General game/UI strings. | |
name
|
String | No | Allows to rename any object, including key items and pickups. | |
description
|
String | No |
Allows longer text descriptions to be defined for key and puzzle items.
Players can examine items in the inventory when this text has been
defined. Use \n in the text to create new lines; you can also
use \f to force a page break. Long text will be automatically
wrapped and paginated as necessary. If an empty string is defined, the UI
will not be shown and the inventory item simply focused instead.
|