OpenTTD Source: LanguagePackHeader Struct Reference

OpenTTD Source 13.1

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. More...
bool | IsReasonablyFinished () const
| Check whether a translation is sufficiently finished to offer it to the public.
uint8 | GetGenderIndex (const char *gender_str) const
| Get the index for the given gender. More...
uint8 | GetCaseIndex (const char *case_str) const
| Get the index for the given case. More...

## 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. More...
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 24 of file language.h.

## Member Function Documentation

## ◆ GetCaseIndex()

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 81 of file language.h.

References MAX_NUM_CASES.

## ◆ GetGenderIndex()

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 68 of file language.h.

References MAX_NUM_GENDERS.

## ◆ IsValid()

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 1753 of file strings.cpp.

References ident.

Referenced by GetLanguageFileHeader().

## Field Documentation

## ◆ winlangid

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.aspx windows language id

Definition at line 51 of file language.h.

Referenced by UniscribeItemizeString().

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

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