ローカライズデータ

文字コードは UTF-8N

struct Locale {
    magic_no: u32,
    text_segment_size: u32,
    index_segment_size: u32,
    num0: u32,
    version: u32,
    headder: [u8; 0x78],
    num1: u32,
    num2: u32,
    num3: u32,
    num4: u32,
    entry_size: u32,
    entry_count: u32,
    entries: Vec<Entry>,
    text_segment_footer: [u8; text_segment_size - entry_size - 0x10],
    indexes: Vec<Index>,
}
struct Entry {
    headder: [u8; 0x38],
    text_length2: u32,        // text_length + 28
    num1: u32,
    num2: u32,
    text_length3: u32,        // text_length + 8
    text_length: u32,
    text_string: String,        // ローカライズデータ
    num3: u32,
    language_code: u32,   // english = 1
    num4: u32,
    num5: u32,
    num6: u32,
}
struct Index {
    index_length: u32,
    index_string: String,
    anm_length: u32,
    anm_string: String,      // anm_length == 0 の場合は格納しない
    wav_length: u32,
    wav_string: String,      // wav_length == 0 の場合は格納しない
}