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
|