# Language ## Definitions ### Language (`Language`) - **Type:** Object Key | Description | Details :-- | :-- | :-- `id` | The language's identifier. An unique, increasing integer. | See details `continent` | The continents this language is present on. | See details `specializations?` | Language-specific specializations. Either a list of possible options or a indefinite description of what may be a specialization. | See details `prerequisites?` | | See details `max_level?` | The maximum possible level of the language. Only specified if lower than default of 3. | See details `src` | | See details `translations` | All translations for the entry, identified by IETF language tag (BCP47). | See details #### `id` The language's identifier. An unique, increasing integer. - **Type:** Integer - **Minimum:** `1` #### `continent` The continents this language is present on. - **Type:** List - **Items:** Language/continent[] - **Minimum Items:** `1` #### `specializations?` Language-specific specializations. Either a list of possible options or a indefinite description of what may be a specialization. - **Type:** Specializations #### `prerequisites?` - **Type:** LanguagePrerequisites #### `max_level?` The maximum possible level of the language. Only specified if lower than default of 3. - **Type:** Number - **Default:** `3` - **Minimum:** `1` - **Maximum:** `2` #### `src` - **Type:** PublicationRefs #### `translations` All translations for the entry, identified by IETF language tag (BCP47). - **Type:** LocaleMap<LanguageTranslation> --- ### `Language/continent[]` - **Type:** AssociatedContinent --- ### `Specializations` - **Type:** Union - **Cases:** Specializations'Specific | Specializations'Indefinite --- ### `Specializations'Specific` - **Type:** Object Key | Description | Details :-- | :-- | :-- `tag` | | See details `specific` | | See details #### `tag` - **Constant:** `"Specific"` #### `specific` - **Type:** SpecificSpecializations --- ### `Specializations'Indefinite` - **Type:** Object Key | Description | Details :-- | :-- | :-- `tag` | | See details `indefinite` | | See details #### `tag` - **Constant:** `"Indefinite"` #### `indefinite` - **Type:** IndefiniteSpecializations --- ### `SpecificSpecializations` - **Type:** Object Key | Description | Details :-- | :-- | :-- `list` | A list of specific possible specializations. | See details #### `list` A list of specific possible specializations. - **Type:** List - **Items:** SpecificSpecializations/list[] - **Minimum Items:** `1` --- ### `SpecificSpecializations/list[]` - **Type:** SpecificSpecialization --- ### `SpecificSpecialization` - **Type:** Object Key | Description | Details :-- | :-- | :-- `id` | The specialization's identifier. An unique, increasing integer. | See details `translations` | All translations for the entry, identified by IETF language tag (BCP47). | See details #### `id` The specialization's identifier. An unique, increasing integer. - **Type:** Integer - **Minimum:** `1` #### `translations` All translations for the entry, identified by IETF language tag (BCP47). - **Type:** LocaleMap<SpecificSpecializationTranslation> --- ### `SpecificSpecializationTranslation` - **Type:** Object Key | Description | Details :-- | :-- | :-- `name` | The name of the specialization. | See details `description?` | The specialization description. It will be appended to the name in parenthesis. | See details #### `name` The name of the specialization. - **Type:** NonEmptyString #### `description?` The specialization description. It will be appended to the name in parenthesis. - **Type:** NonEmptyString --- ### `IndefiniteSpecializations` - **Type:** Object Key | Description | Details :-- | :-- | :-- `translations` | All translations for the entry, identified by IETF language tag (BCP47). | See details #### `translations` All translations for the entry, identified by IETF language tag (BCP47). - **Type:** LocaleMap<IndefiniteSpecializationsTranslation> --- ### `IndefiniteSpecializationsTranslation` - **Type:** Object Key | Description | Details :-- | :-- | :-- `description` | The specializations description. | See details `label?` | An input label or placeholder text for an UI element if it differs from the `description`. | See details #### `description` The specializations description. - **Type:** NonEmptyString #### `label?` An input label or placeholder text for an UI element if it differs from the `description`. - **Type:** NonEmptyString --- ### `LanguageTranslation` - **Type:** Object Key | Description | Details :-- | :-- | :-- `name` | The name of the language. | See details `alternative_names?` | A list of alternative names. | See details `description?` | The description of the language. | See details `errata?` | | See details #### `name` The name of the language. - **Type:** NonEmptyString #### `alternative_names?` A list of alternative names. - **Type:** List - **Items:** LanguageTranslation/alternative_names[] - **Minimum Items:** `1` #### `description?` The description of the language. - **Type:** NonEmptyString #### `errata?` - **Type:** Errata --- ### `LanguageTranslation/alternative_names[]` - **Type:** AlternativeName