Add support for a new translation in Whitehall
Before starting, it’s worth checking the language tag that is being added is correct: it should be compatible with the IETF Language Tag syntax and use correct ISO 639 codes (with optional ISO 15924 or ISO 3166 subtags where appropriate). This is important to ensure maximum compatibility with accessibility features such as screen readers. Some other useful reading includes Rails Translation Manager and Whitehall Internationalisation guide.
1. Update Government Frontend
- Add the new locale to
config/application.rb
andconfig/locales/en.yml
in alphabetical order Run the following commands to generate the locale files from the English template:
$ echo "foo: bar" >> config/locales/<new_locale>.yml $ # the contents will get overwritten below $ rake translation:add_missing
In
config/locales/<new_locale>.yml
add the language translation under thelanguage_names
key.For example:
it: language_names: it: italiano
2. Update Whitehall
In Whitehall:
- Add the new locale to
lib/whitehall.rb
andconfig/locales/en.yml
in alphabetical order Run the following commands to generate the locale files from the English template:
$ echo "foo: bar" >> config/locales/<new_locale>.yml $ # the contents will get overwritten below $ rake translation:add_missing
In
config/locales/<new_locale>.yml
add:- the language direction under the
i18n.direction
key - the appropriate boolean under the
i18n.latin_script?
key - the language translation under the
language_names
key
For example:
it: i18n: direction: ltr latin_script?: true language_names: it: Italiano
- the language direction under the
3. Update content schemas in publishing api
Please note that this example PR is for the retired govuk-content-schemas repo - please add examples of adding to publishing api when it is available:
In publishing api:
- Edit
content_schemas/formats/shared/definitions/locale.jsonnet
to include the new locale in alphabetical order - Run
rake build_schemas
to generate all the schemas
4. Update Content Store
In Content Store:
- Add the locale key to
config/application.rb
in alphabetical order
5. Update Publishing API
In Publishing API:
- Add the locale key to
config/application.rb
in alphabetical order