locales.yaml and strings
Every key of config/locales.yaml (the install's locales with their time zone, currency, fallbacks, direction, calendar and sorting) and of config/strings/<locale>.yaml.
config/locales.yaml declares every locale the install knows. Each site enables its own subset in its site.yaml. config/strings/<locale>.yaml holds the template string catalogue of one locale.
locales:
available:
- code: en-GB
label: English
source: true
default: true
timezone: Europe/London
currency: GBP
- code: fr-FR
label: Français
fallback: [en-GB] engine-dmo dev locale add declares a locale with its id and enables it on a site. See Sites, locales and routes and Localisation.
locales.yaml
| Key | Type | Default | Meaning |
|---|---|---|---|
locales | object | The install’s locales and locale groups | |
locales.available | list of objects | Required | Every locale any site may enable, in order |
locales.available[].calendar | buddhist, chinese, coptic, dangi, ethioaa, ethiopic, gregory, hebrew, indian, islamic, islamic-civil, islamic-rgsa, islamic-tbla, islamic-umalqura, iso8601, japanese, persian, roc | Derived from the region | The CLDR calendar dates are shown in |
locales.available[].code | string | Required | The BCP 47 tag, such as en-GB, fr-FR or zh-Hans. It is the locale’s handle in URLs, hreflang and every other file |
locales.available[].collation | string | Derived from the tag | The ICU collation text is sorted with |
locales.available[].currency | string | The source locale’s | An ISO 4217 currency code, such as GBP |
locales.available[].default | boolean | false | The install’s default locale |
locales.available[].derived_from | string | Another locale this one derives from. Must name a known locale | |
locales.available[].direction | ltr, rtl | Derived from the script | ltr or rtl |
locales.available[].fallback | list of string | [] | Locales whose text shows, in order, where this one has none |
locales.available[].first_day_of_week | integer | Derived from the region | 1 (Monday) to 7 (Sunday) |
locales.available[].fold_diacritics | boolean | true | Search treats é as e |
locales.available[].hour_cycle | h11, h12, h23, h24 | Derived from the region | h23 or h12 (also h11, h24) |
locales.available[].id | string | Written for you | The element’s stable id. Written by engine-dmo check --fix; never write or change it by hand |
locales.available[].label | string | The name shown to staff and in a locale switcher, in its own language | |
locales.available[].machine_translation | assist, forbid | assist allows AI translation drafts for this locale; forbid never offers them | |
locales.available[].numbering | string | Derived from the locale | The CLDR numbering system, such as latn or arab |
locales.available[].slugs | native, transliterate | Derived from the script | transliterate makes Latin-script slugs from other scripts; native keeps the script |
locales.available[].source | boolean | false | The locale content is written in first. Exactly one; it must declare timezone and currency |
locales.available[].statutory | boolean | false | A locale the law requires: publishing reports any statutory locale still waiting for its text |
locales.available[].timezone | string | The source locale’s | An IANA time zone, such as Europe/London |
locales.available[].translators | string | Who translates this locale, shown in engine-dmo locale list | |
locales.groups | list of objects | [] | Sets of locales that share values of fields translated per group |
locales.groups[].id | string | Written for you | The element’s stable id. Written by engine-dmo check --fix; never write or change it by hand |
locales.groups[].key | string | Required | The group’s key |
locales.groups[].locales | list of string | Required | The locale codes in the group |
strings/<locale>.yaml
| Key | Type | Default | Meaning |
|---|---|---|---|
strings | map | {} | The locale’s template strings by key, nested maps allowed, read in templates with the translation function. A key missing in a locale falls back along the locale’s fallbacks |
engine.yaml: DMO modules
Every key of engine.yaml's claims section (ownership claim methods, signal weights, auto-approval) and membership section (renewal reminders), with type, default and meaning, and where the portal settings live.
networks.yaml and memberships.yaml
Every key of config/networks.yaml (sites sharing organisations, people and partner accounts) and config/memberships.yaml (the membership tiers, engine-dmo).