StringTable {
char szKey[];
BYTE Padding[];
String Children[];
};
The StringTable structure depicts the organization of data in a file version resource. This structure is not a true C data structure because it contains variable length fields. This structure was created solely to depict the organization of data in a version resource; it does not appear in any of the include files shipped with the Win32 Software Development Kit (SDK).
The StringTable block contains language and codepage formatting information for the strings specified by the Children field. A codepage is an ordered character set.
szKey
Specifies an 8-digit hexadecimal number. The four most significant digits represent the language ID, and the four least significant digits represent the codepage for which the data is formatted.
Each Microsoft Standard Language ID contains two parts: the low ten bits specify the major language and the high six bits specify the sub-language. The following language IDs are valid:
Value | Meaning |
0x0401 | Arabic |
0x0402 | Bulgarian |
0x0403 | Catalan |
0x0404 | Traditional Chinese |
0x0804 | Simplified Chinese |
0x0405 | Czech |
0x0406 | Danish |
0x0407 | German |
0x0807 | Swiss German |
0x0408 | Greek |
0x0409 | U.S. English |
0x0809 | U.K. English |
0x040a | Castilian Spanish |
0x080a | Mexican Spanish |
0x040b | Finnish |
0x040c | French |
0x080c | Belgian French |
0x0c0c | Canadian French |
0x100c | Swiss French |
0x040d | Hebrew |
0x040e | Hungarian |
0x040f | Icelandic |
0x0410 | Italian |
0x0810 | Swiss Italian |
0x0411 | Japanese |
0x0412 | Korean |
0x0413 | Dutch |
0x0813 | Belgian Dutch |
0x0414 | Norwegian – Bokmal |
0x0814 | Norwegian – Nynorsk |
0x0415 | Polish |
0x0416 | Brazilian Portuguese |
0x0816 | Portuguese |
0x0417 | Rhaeto-Romanic |
0x0418 | Romanian |
0x0419 | Russian |
0x041a | Croato-Serbian (latin) |
0x081a | Serbo-Croatian (cyrillic) |
0x041b | Slovak |
0x041c | Albanian |
0x041d | Swedish |
0x041e | Thai |
0x041f | Turkish |
0x0420 | Urdu |
0x0421 | Bahasa |
The codepage value may be one of the following or any IBM-registered codepage:
Value | Meaning |
0 | 7-bit ASCII |
932 | Windows, Japan (Shift – JIS X-0208) |
949 | Windows, Korea (Shift – KSC 5601) |
950 | Windows, Taiwan (GB5) |
1200 | Unicode |
1250 | Windows, Latin-2 (Eastern European) |
1251 | Windows, Cyrillic |
1252 | Windows, Multilingual (ANSI) |
1253 | Windows, Greek |
1254 | Windows, Turkish |
1255 | Windows, Hebrew |
1256 | Windows, Arabic |
Files designed for the English version of Windows would normally be marked with a codepage value of 1252.
Padding
Contains as many zero bytes as necessary to align the Children field on a 32-bit boundary.
Children
Specifies a list of zero or more String blocks.
The Children field of the StringFileInfo block will contain at least one StringTable block with a szKey value of “04090000”. This value indicates that the language is US English and the codepage is generic 7-bit ASCII.
VS_VERSION_INFO, StringFileInfo, String