OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields | Static Public Attributes
LanguagePackHeader Struct Reference

Header of a language file. More...

`#include <language.h>`

Inheritance diagram for LanguagePackHeader:

## Public Member Functions
bool | IsValid () const
| Check whether the header is a valid header for OpenTTD.
uint8 | GetGenderIndex (const char *gender_str) const
| Get the index for the given gender.
uint8 | GetCaseIndex (const char *case_str) const
| Get the index for the given case.

## Data Fields
uint32 | ident
| 32-bits identifier
uint32 | version
| 32-bits of auto generated version info which is basically a hash of strings.h
char | name [32]
| the international name of this language
char | own_name [32]
| the localized name of this language
char | isocode [16]
| the ISO code for the language (not country code)
uint16 | offsets [TEXT_TAB_END]
| the offsets
char | digit_group_separator [8]
| Thousand separator used for anything not currencies.
char | digit_group_separator_currency [8]
| Thousand separator used for currencies.
char | digit_decimal_separator [8]
| Decimal separator.
uint16 | missing
| number of missing strings.
byte | plural_form
| plural form index
byte | text_dir
| default direction of the text
uint16 | winlangid
| Windows language ID: Windows cannot and will not convert isocodes to something it can use to determine whether a font can be used for the language or not.
uint8 | newgrflangid
| newgrf language id
uint8 | num_genders
| the number of genders of this language
uint8 | num_cases
| the number of cases of this language
byte | pad [3]
| pad header to be a multiple of 4
char | genders [MAX_NUM_GENDERS][CASE_GENDER_LEN]
| the genders used by this translation
char | cases [MAX_NUM_CASES][CASE_GENDER_LEN]
| the cases used by this translation

## Static Public Attributes
static const uint32 | IDENT = 0x474E414C
| Identifier for OpenTTD language files, big endian for "LANG".

## Detailed Description

Header of a language file.

Definition at line 26 of file language.h.

## Member Function Documentation

uint8 LanguagePackHeader::GetCaseIndex | ( | const char * | case_str | ) | const
| inline

Get the index for the given case.

Parameters

  case_str | The string representation of the case.

Returns
  The index of the case, or MAX_NUM_CASES when the case is unknown.

Definition at line 82 of file language.h.

References cases, and MAX_NUM_CASES.

Referenced by GlobalVarChangeInfo().

uint8 LanguagePackHeader::GetGenderIndex | ( | const char * | gender_str | ) | const
| inline

Get the index for the given gender.

Parameters

  gender_str | The string representation of the gender.

Returns
  The index of the gender, or MAX_NUM_GENDERS when the gender is unknown.

Definition at line 69 of file language.h.

References genders, and MAX_NUM_GENDERS.

Referenced by GlobalVarChangeInfo().

bool LanguagePackHeader::IsValid | ( |  | ) | const

Check whether the header is a valid header for OpenTTD.

Returns
  true iff the header is deemed valid.

Definition at line 1694 of file strings.cpp.

References digit_decimal_separator, digit_group_separator, digit_group_separator_currency, IDENT, ident, isocode, lastof, MAX_LANG, MAX_NUM_CASES, MAX_NUM_GENDERS, name, newgrflangid, num_cases, num_genders, own_name, plural_form, StrValid(), text_dir, and version.

Referenced by GetLanguageFileHeader(), and ReadLanguagePack().

## Field Documentation

uint16 LanguagePackHeader::winlangid

Windows language ID: Windows cannot and will not convert isocodes to something it can use to determine whether a font can be used for the language or not.

As a result of that we need to pass the language id via strgen to OpenTTD to tell what language it is in "Windows". The ID is the 'locale identifier' on: http://msdn.microsoft.com/en-us/library/ms776294.aspxwindows language id

Definition at line 53 of file language.h.

Referenced by CheckForMissingGlyphs(), GetLanguageFileHeader(), FileStringReader::HandlePragma(), and LanguageWriter::WriteLang().

The documentation for this struct was generated from the following files:

- src/language.h
- src/strings.cpp