package d2resource func getLanguages() map[byte]string { return map[byte]string{ 0x00: "ENG", // (English) 0x01: "ESP", // (Spanish) 0x02: "DEU", // (German) 0x03: "FRA", // (French) 0x04: "POR", // (Portuguese) 0x05: "ITA", // (Italian) 0x06: "JPN", // (Japanese) 0x07: "KOR", // (Korean) 0x08: "SIN", // 0x09: "CHI", // (Chinese) 0x0A: "POL", // (Polish) 0x0B: "RUS", // (Russian) 0x0C: "ENG", // (English) } } // GetLanguageLiteral returns string representation of language code func GetLanguageLiteral(code byte) string { languages := getLanguages() return languages[code] } // Source https://github.com/eezstreet/OpenD2/blob/065f6e466048482b28b9dbc6286908dc1e0d10f6/Shared/D2Shared.hpp#L36 func getCharsets() map[string]string { return map[string]string{ "ENG": "LATIN", // (English) "ESP": "LATIN", // (Spanish) "DEU": "LATIN", // (German) "FRA": "LATIN", // (French) "POR": "LATIN", // (Portuguese) "ITA": "LATIN", // (Italian) "JPN": "JPN", // (Japanese) "KOR": "KOR", // (Korean) "SIN": "LATIN", // "CHI": "CHI", // (Chinese) "POL": "LATIN2", // (Polish) "RUS": "CYR", // (Russian) } } // GetFontCharset returns string representation of font charset func GetFontCharset(language string) string { charset := getCharsets() return charset[language] } // GetLabelModifier returns modifier for language /* modifiers for labels (used in string tables) modifier is something like that: english table: polish table: key | value key | value #1 | v1 | #4 | v2 #4 | v1 #5 | v3 #5 | v2 #8 | v4 #8 | v3 So, GetLabelModifier returns value of offset in locale languages table */ // some of values need to be set up. For now values with "checked" comment // was tested and works fine. func GetLabelModifier(language string) int { modifiers := map[string]int{ "ENG": 0, // (English) // checked "ESP": 0, // (Spanish) "DEU": 0, // (German) // checked "FRA": 0, // (French) "POR": 0, // (Portuguese) "ITA": 0, // (Italian) // checked "JPN": 0, // (Japanese) "KOR": 0, // (Korean) "SIN": 0, // "CHI": 0, // (Chinese) "POL": 1, // (Polish) // checked "RUS": 0, // (Russian) } return modifiers[language] }