A language file maps translation keys to display text. Every piece of text the player sees — item names, descriptions, dungeon titles, skill names — lives in these files. JSON data files never contain raw text; they always store a key that the game resolves at runtime.

Files live in: <your_pack_id>/assets/languages/<locale>.json

Minimum requirement: you must provide at least en_US.json. If a player language file is missing a key, the game falls back to en_US.json.

File Naming Convention

FilenameLanguage
en_US.jsonEnglish (United States)
fr_FR.jsonFrench (France)
de_DE.jsonGerman
es_ES.jsonSpanish (Spain)
uk_UA.jsonUkrainian
zh_CN.jsonChinese (Simplified)
ja_JP.jsonJapanese

File Format

{
  "items.materials.stellar_forge.ores.uranium":      "Uranium Ore",
  "items.materials.stellar_forge.ores.uranium.desc": "A radioactive ore found in deep asteroid fields.",
  "skills.category.stellar_forge.crafting.nuclear_forging":      "Nuclear Forging",
  "skills.category.stellar_forge.crafting.nuclear_forging.desc": "Harness atomic energy to smelt exotic metals.",
  "dungeons.stellar_forge.reactor.abandoned_reactor":      "Abandoned Reactor",
  "dungeons.stellar_forge.reactor.abandoned_reactor.desc": "A derelict power plant crawling with irradiated drones."
}

Translation Key Naming Conventions

Materials

items.materials.<pack_id>.<subcategory>.<item_name>
items.materials.<pack_id>.<subcategory>.<item_name>.desc

items.materials.stellar_forge.ores.xenite
items.materials.stellar_forge.ingots.xenite
items.materials.stellar_forge.alloys.xenite_carbide

Equipment

items.materials.<pack_id>.<slot_type>.<item_name>
items.materials.<pack_id>.<slot_type>.<item_name>.desc

items.materials.stellar_forge.suit.reinforced_suit
items.materials.stellar_forge.engine.plasma_engine

Skills

skills.category.<pack_id>.<category>.<skill_name>
skills.category.<pack_id>.<category>.<skill_name>.desc

skills.category.stellar_forge.combat.plasma_mastery
skills.category.stellar_forge.crafting.nuclear_forging

Enemies

enemies.<pack_id>.<group>.<enemy_name>

enemies.stellar_forge.drones.irradiated_scout
enemies.stellar_forge.bosses.reactor_core

Dungeons

dungeons.<pack_id>.<group>.<dungeon_name>
dungeons.<pack_id>.<group>.<dungeon_name>.desc

dungeons.stellar_forge.reactor.abandoned_reactor
dungeons.stellar_forge.void.collapsed_star

Admin, Shop, Core Systems

admin.category.<pack_id>.<section>.<category_name>
shop.category.<pack_id>.<category_name>
recipes.category.<pack_id>.<category_name>
core_systems.category.<pack_id>.<entity>.<slot_name>

admin.category.stellar_forge.item_list.ores
shop.category.stellar_forge.materials
core_systems.category.stellar_forge.ship.hull

Comment Keys

Keys starting with _comment_ are ignored by the game. Use them to section off your language file:

{
  "_comment_Ores": "",
  "items.materials.stellar_forge.ores.uranium": "Uranium Ore",
  "items.materials.stellar_forge.ores.xenite":  "Xenite Ore",

  "_comment_Ingots": "",
  "items.materials.stellar_forge.ingots.uranium": "Uranium Ingot"
}

Adding a New Language

  1. Create assets/languages/fr_FR.json
  2. Copy all keys from en_US.json
  3. Translate each value — keep all keys identical
{
  "items.materials.stellar_forge.ores.uranium":      "Minerai d'Uranium",
  "items.materials.stellar_forge.ores.uranium.desc": "Un minerai radioactif trouvé dans les champs d'astéroïdes.",
  "skills.category.stellar_forge.crafting.nuclear_forging": "Forgeage Nucléaire"
}

Full en_US.json Example

{
  "_comment_Admin": "",
  "admin.category.stellar_forge.item_list":          "Item List",
  "admin.category.stellar_forge.item_list.all":      "All",
  "admin.category.stellar_forge.item_list.ores":     "Ores",
  "admin.category.stellar_forge.item_list.ingots":   "Ingots",
  "admin.category.stellar_forge.item_list.equipment":"Equipment",
  "admin.category.stellar_forge.hostile_list":       "Hostile List",
  "admin.category.stellar_forge.hostile_list.all":   "All",
  "admin.category.stellar_forge.hostile_list.space": "Space Units",
  "admin.category.stellar_forge.player_list":        "Player List",
  "admin.category.stellar_forge.player_list.all":    "All",
  "admin.category.stellar_forge.player_list.members":"Members",
  "admin.category.stellar_forge.player_list.admins": "Admins",

  "_comment_CoreSystems": "",
  "core_systems.category.stellar_forge.person.suit":  "Suit",
  "core_systems.category.stellar_forge.person.boots": "Boots",
  "core_systems.category.stellar_forge.ship.hull":    "Ship Hull",
  "core_systems.category.stellar_forge.ship.engines": "Ship Engine",

  "_comment_Shop": "",
  "shop.category.stellar_forge.materials":       "Materials",
  "shop.category.stellar_forge.ship_equipment":  "Ship Equipment",

  "_comment_Recipes": "",
  "recipes.category.stellar_forge.forging": "Forging",
  "recipes.category.stellar_forge.alloys":  "Alloys",

  "_comment_Skills": "",
  "skills.category.stellar_forge.crafting":                          "Crafting",
  "skills.category.stellar_forge.crafting.nuclear_forging":          "Nuclear Forging",
  "skills.category.stellar_forge.crafting.nuclear_forging.desc":     "Harness atomic energy to smelt exotic metals.",

  "_comment_Ores": "",
  "items.materials.stellar_forge.ores.uranium":                      "Uranium Ore",
  "items.materials.stellar_forge.ores.uranium.desc":                 "A radioactive ore found in deep asteroid fields.",
  "items.materials.stellar_forge.ores.xenite":                       "Xenite Ore",
  "items.materials.stellar_forge.ores.xenite.desc":                  "A mysterious crystalline ore of unknown origin.",

  "_comment_Enemies": "",
  "enemies.stellar_forge.drones.irradiated_scout":                   "Irradiated Scout Drone",
  "enemies.stellar_forge.bosses.reactor_core":                       "Reactor Core",

  "_comment_Dungeons": "",
  "dungeons.stellar_forge.reactor.abandoned_reactor":                "Abandoned Reactor",
  "dungeons.stellar_forge.reactor.abandoned_reactor.desc":           "A derelict power plant crawling with irradiated drones."
}