PCC2's messages in foreign (non-English) languages are stored in a database file, as a mapping of the original (English) string to the translated string.

 +0   8 BYTEs   Signature, "CClang0",26
 +8     DWORD   "n" Number of entries (string pairs)
+12     DWORD   "inptr" Address of input pointer array
+16     DWORD   "outptr" Address of output pointer array
+20     DWORD   "inpool" Address of input text pool
+24     DWORD   "insize" Size of input text pool
+28     DWORD   "outpool" Address of output text pool
+32     DWORD   "outsize" Size of output text pool
+36   n BYTEs   Text data follows here

The input/output pointer array addresses point to tables containing "n" records of the following form each:

 +0     DWORD   "pos" String position, points into respective text pool
 +4     DWORD   String length

For example, an entry with pos=17 in the input pointer array describes a string stored at address pos+inpool in the file.

To translate a string, look it up in the input pointer array. The translation can be found in the output array, at the same index.

Since PCC 1.99.12, this file is in UTF-8 encoding. In previous versions, the files had a header, obtained by translating the empty string, containing a "X-PCC-Charset" line. This line named the codepage used to encode this file.