import { MtnaLocaleIds } from './locale-ids.model'; /** * Language option for an internationalized application. * Contains `display` & `value` properties for the UI & locale, respectively. */ export interface MtnaI18nLanguageOption { /** Abbreviation used for display, i.e. 'en' for the value of 'en-US' */ abbreviation: string; /** Display value, i.e. 'English' for the value of 'en-US' */ display: string; /** * The actual local ID. * * This could be the full language identifier and an optional code for further variations. * A locale ID consists of the language identifier, a dash (-) character, and the locale extension. * `{language_id}-{locale_extension}` * * @examples * - en * - en-US * - en-CA * - fr-CA */ value: typeof MtnaLocaleIds.type; /** * The url segment to use to distinguish the localeIds in an application's build. * Typically the url segment used is just the localeId, but you can optionally provide something different. * i.e. statcan's `fr-CA` may get mapped to just `fr` in the url. */ url?: string; }