.localization - Tkachov/ALERT GitHub Wiki

sections/localization/ | Overstrike: Localization.cs | LocalizationHelper.cs | Localization Tool

Summary

Stores text keys and corresponding localized values. One asset per game, always the same name: BE55D94F171BF8DE, localization/localization_all.localization. Yet, has a localized variant for each language in corresponding spans.

Can be viewed and edited through Localization Tool.

Localization Tool screenshot

Magic Description
122BB0AB MSMR, MM and RCRA
B4D92563 -

Sections

$\color{#540A90}{◆}$ Localization Header Built
$\color{#D73CEB}{◆}$ Localization Tags Built
$\color{#0A382B}{◆}$ Localization Text Built
$\color{#065324}{◆}$ Localization Flags Built
$\color{#4EA55B}{◆}$ Localization TagOffsets Built
$\color{#80DEEB}{◆}$ Localization TextOffsets Built
$\color{#6A5805}{◆}$ 06A58050
$\color{#43731B}{◆}$ Localization SortedHashes Built
$\color{#CD2CFE}{◆}$ Localization SortedIndexes Built


$\color{#540A90}{◆}$ D540A903: Localization Header Built

EntriesCountSection

A single 32-bit integer that determines the number of key-value pairs in this file.


$\color{#D73CEB}{◆}$ 4D73CEBD: Localization Tags Built

KeyNamesSection

Strings block-like section. Contains 0-terminated strings that are keys ("localization tags"). Values given in alphabetical order, with the exception of INVALID being the first (thus, having offset of 0). One can use $\color{#4EA55B}{◆}$ Localization TagOffsets Built to find beginnings of each string.


$\color{#0A382B}{◆}$ 70A382B8: Localization Text Built

ValuesSection

Strings block-like section. Contains 0-terminated strings that are localized values ("localization texts"). Values given in key sorted order (same as $\color{#D73CEB}{◆}$ Localization Tags Built). One can use $\color{#80DEEB}{◆}$ Localization TextOffsets Built to find beginnings of each string.


$\color{#065324}{◆}$ B0653243: Localization Flags Built

xB0653243_Section

Array of 8-bit flags in key sorted order (same as $\color{#D73CEB}{◆}$ Localization Tags Built).

For some reason, after a buffer of those flags stores 3 more empty buffers of the same size. So, stores 32 bits per key, even though 24 of those are always 0.

Flags (control subtitles visibility):

  • 0 — None;
  • 1 — None;
  • 2 — Hide;
  • 4 — Force.

$\color{#4EA55B}{◆}$ A4EA55B2: Localization TagOffsets Built

xA4EA55B2_Section

Array of 32-bit offsets to key strings in the $\color{#D73CEB}{◆}$ Localization Tags Built section, given in the same key sorted order.


$\color{#80DEEB}{◆}$ F80DEEB4: Localization TextOffsets Built

xF80DEEB4_Section

Array of 32-bit offsets to value strings in the $\color{#0A382B}{◆}$ Localization Text Built section, given in key sorted order (same as $\color{#D73CEB}{◆}$ Localization Tags Built).


$\color{#6A5805}{◆}$ 06A58050

x06A58050_Section | KeyHashesSection

Array of 32-bit keys' hashes, in key sorted order (same as $\color{#D73CEB}{◆}$ Localization Tags Built).


$\color{#43731B}{◆}$ C43731B5: Localization SortedHashes Built

xC43731B5_Section

Array of 32-bit keys' hashes, in ascending order.


$\color{#CD2CFE}{◆}$ 0CD2CFE9: Localization SortedIndexes Built

x0CD2CFE9_Section

Array of indexes of keys in hash sorted order (same as $\color{#43731B}{◆}$ Localization SortedHashes Built).

Probably changes array's values type based on the amount of keys. In MSMR, MM and RCRA, indexes are 16-bit. In i30, indexes are 32-bit.


⚠️ **GitHub.com Fallback** ⚠️