cLanguages is a hardcoded lookup-table linking LocalizeData folders to respective IDs, which MR::getLanguageFromIPL
then scans through:
Language
|
ID
|
Exists in…
|
SMG1 USA
|
SMG1 JPN
|
SMG1 PAL
|
SMG1 KOR
|
SMG1 CHN
|
SMG2 USA
|
SMG2 JPN
|
SMG2 PAL
|
SMG2 KOR
|
SMG2 TWN
|
JpJapanese
|
0x10
|
✕
|
✓
|
✕
|
✕
|
✓
|
✕
|
✓
|
✕
|
✕
|
✕
|
UsEnglish
|
0x21
|
✓
|
✕
|
✕
|
✕
|
✓
|
✓
|
✕
|
✕
|
✕
|
✕
|
UsSpanish
|
0x24
|
✓
|
✕
|
✕
|
✕
|
✓
|
✓
|
✕
|
✕
|
✕
|
✕
|
UsFrench
|
0x23
|
✓
|
✕
|
✕
|
✕
|
✓
|
✓
|
✕
|
✕
|
✕
|
✕
|
EuEnglish
|
0x01
|
✕
|
✕
|
✓
|
✕
|
✓
|
✕
|
✕
|
✓
|
✕
|
✕
|
EuSpanish
|
0x04
|
✕
|
✕
|
✓
|
✕
|
✓
|
✕
|
✕
|
✓
|
✕
|
✕
|
EuFrench
|
0x03
|
✕
|
✕
|
✓
|
✕
|
✓
|
✕
|
✕
|
✓
|
✕
|
✕
|
EuGerman
|
0x02
|
✕
|
✕
|
✓
|
✕
|
✓
|
✕
|
✕
|
✓
|
✕
|
✕
|
EuItalian
|
0x05
|
✕
|
✕
|
✓
|
✕
|
✓
|
✕
|
✕
|
✓
|
✕
|
✕
|
EuDutch
|
0x06
|
✕
|
✕
|
✓
|
✕
|
✓
|
✕
|
✕
|
✓
|
✕
|
✕
|
CnSimpChinese
|
0x37
|
|
|
|
✕
|
✓
|
✕
|
✕
|
✕
|
✕
|
✕
|
CnTradChinese
|
0x38
|
|
|
|
|
|
✕
|
✕
|
✕
|
✕
|
✕
|
KrKorean
|
0x49
|
|
|
|
✓
|
✓
|
✕
|
✕
|
✕
|
✓
|
✕
|
AsTradChinese
|
0x58
|
|
|
|
|
|
|
|
|
✕
|
✓
|
✓
|
ID and folder exist. Game can be booted into this language
|
✕
|
ID exists in code but the game lacks any data
|
|
Neither ID nor data exist
|
Table locations:
Region
|
Address
|
Size
|
SMG1
|
USA
|
0x8053A248
|
0x50
|
JPN
|
PAL
|
KOR
|
0x8053B82C
|
0x60
|
CHN
|
0x80697A60
|
SMG2
|
USA
|
0x8064CF18
|
0x68
|
JPN
|
PAL
|
KOR
|
0x8064D4B0
|
0x70
|
TWN
|