# strgen_tables.h File Reference

Tables of commands for strgen. More...

`#include "../core/enum_type.hpp"`

Go to the source code of this file.

## Data Structures
struct | CmdStruct
struct | PluralForm
| Description of a plural form. More...
## Typedefs
typedef void(* | ParseCmdProc )(char *buf, int value)
## Enumerations
enum | CmdFlags { C_NONE = 0x0, C_DONTCOUNT = 0x1, C_CASE = 0x2, C_GENDER = 0x4 }
## Functions
| DECLARE_ENUM_AS_BIT_SET (CmdFlags)
static void | EmitSingleChar (char *buf, int value)
static void | EmitPlural (char *buf, int value)
static void | EmitGender (char *buf, int value)
## Variables
static const CmdStruct | _cmd_structs []
static const PluralForm | _plural_forms []
| All plural forms used.
static const char *const | _pragmas [][4]
| All pragmas used.

## Detailed Description

Tables of commands for strgen.

Definition in file strgen_tables.h.

## Enumeration Type Documentation

enum CmdFlags

Enumerator:

  C_NONE | Nothing special about this command.
  C_DONTCOUNT | These commands aren't counted for comparison.
  C_CASE | These commands support cases.
  C_GENDER | These commands support genders.

Definition at line 14 of file strgen_tables.h.

## Variable Documentation

const PluralForm _plural_forms[]`[static]`

Initial value:

     {
      { 2, "Two forms, singular used for 1 only" },
      { 1, "Only one form" },
      { 2, "Two forms, singular used for zero and 1" },
      { 3, "Three forms, special case for 0 and ending in 1, except those ending in 11" },
      { 5, "Five forms, special case for one, two, 3 to 6 and 7 to 10" },
      { 3, "Three forms, special case for numbers ending in 1[2-9]" },
      { 3, "Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]" },
      { 3, "Three forms, special case for 1 and some numbers ending in 2, 3, or 4" },
      { 4, "Four forms, special case for 1 and all numbers ending in 02, 03, or 04" },
      { 2, "Two forms, singular used for everything ending in 1 but not in 11" },
      { 3, "Three forms, special case for 1 and 2, 3, or 4" },
      { 2, "Two forms, cases for numbers ending with a consonant and with a vowel" },
      { 4, "Four forms: one, 0 and everything ending in 02..10, everything ending in 11..19" },
    }

All plural forms used.

Definition at line 153 of file strgen_tables.h.

const char* const _pragmas[][4]`[static]`

Initial value:

     {

      { "name",        "0",   "",       "English name for the language" },
      { "ownname",     "t",   "",       "Localised name for the language" },
      { "isocode",     "0",   "",       "ISO code for the language" },
      { "plural",      "tp",  "0",      "Plural form to use" },
      { "textdir",     "tl",  "ltr",    "Text direction. Either ltr (left-to-right) or rtl (right-to-left)" },
      { "digitsep",    "td",  ",",      "Digit grouping separator for non-currency numbers" },
      { "digitsepcur", "td",  ",",      "Digit grouping seprarator for currency numbers" },
      { "decimalsep",  "td",  ".",      "Decimal separator" },
      { "winlangid",   "x2",  "0x0000", "Language ID for Windows" },
      { "grflangid",   "x1",  "0x00",   "Language ID for NewGRFs" },
      { "gender",      "tag", "",       "List of genders" },
      { "case",        "tac", "",       "List of cases" },
    }

All pragmas used.

Definition at line 182 of file strgen_tables.h.