carb::l10n::LanguageTableData

Defined in carb/l10n/IL10n.h

struct LanguageTableData

A definition that can be used for loading a language table embedded in C++ code.

Public Members

size_t languagesLength

The number of languages in the table.

size_t keysLength

The number of translation entries in the table.

Any valid language table will have at least 4 rows, since the first 4 rows have special meanings.

const char *const *languages

The list of translation languages.

These are specified as POSIX locale identifiers. The length of this array is languagesLength. The first language in this array must be “en_US*”

const uint64_t *keys

The hashes of the key strings for the translations.

The length of this array is keysLength. Note that this contains keys for the first 4 rows in the table, even though the first 4 rows have a special purpose. The first 4 keys are never read.

const char *const *languageTable

The translation table.

This is a matrix with languagesLength columns and keysLength rows. languageTable[i][j] refers to the translation of keys[i] in languages[j]. The first 4 rows have special usages: 0: The language names for each column in US English 1: The territory names for each column in US English 2: The language names for each column in the language for that column 3: The territory names for each column in the language for that column