Server Asset Overrides

This guide effectively documents the usage of the asset_path server configuration option.

Structure

/config/assets/
├── favicon.ico
├── logo.png
└── locales/<lang>[-[variant]]/<namespace>.json

Assets

Asset File Name Directory Notes
Favicon favicon.ico No N/A
Logo logo.png No N/A
Translation Locales locales Yes see locales

locales

Important Note

Currently users can only override languages that already exist in this list either by overriding the language itself, or adding a variant form of that language. If you’d like support for another language feel free to make a PR. We also encourage people to make PR’s for variants where the difference in the variants is significant.

Important Note

Users wishing to override the locales files should be aware that we do not provide any guarantee that the file will not change in a breaking way between releases as per our Versioning Policy. Users who are planning to utilize these overrides should either check for changes to the files in the en translation prior to upgrading or Contribute their translation to ensure it is maintained.

The locales directory holds folders of internationalization locales. This directory can be utilized to override these locales. They are the names of locales that are returned by the navigator.language ECMAScript command. These are generally those in the RFC5646 / BCP47 Format specifically the language codes from Crowdin.

Each directory has JSON files which you can explore the format of in the internal/server/locales directory on GitHub. The important part is the key names you wish to override.

A full example for the en-US locale for the portal namespace is locales/en-US/portal.json.

Languages in browsers are supported in two forms. In their language only form such as en for English, and in their variant form such as en-AU for English (Australian). If a user has the browser language en-AU we automatically load the en and en-AU languages, where any keys in the en-AU language take precedence over the en language, and the translations for the en language only applying when a translation from en-AU is not available.

Namespaces

Each file in a locale directory represents a translation namespace. The list of current namespaces are below:

Namespace Purpose
portal Portal Translations

Supported Languages

List of supported languages and variants:

Language Locale Override Path
English en locales/en/*.json
Afrikaans af locales/af/*.json
Afrikaans (South Africa) af-ZA locales/af-ZA/*.json
Arabic ar locales/ar/*.json
Arabic (Saudi Arabia) ar-SA locales/ar-SA/*.json
Bulgarian bg locales/bg/*.json
Czech cs locales/cs/*.json
Czech (Czechia) cs-CZ locales/cs-CZ/*.json
Welsh cy locales/cy/*.json
Welsh (United Kingdom) cy-GB locales/cy-GB/*.json
Danish da locales/da/*.json
Danish (Denmark) da-DK locales/da-DK/*.json
German de locales/de/*.json
Greek el locales/el/*.json
Greek (Greece) el-GR locales/el-GR/*.json
Spanish es locales/es/*.json
Estonian et locales/et/*.json
Estonian (Estonia) et-EE locales/et-EE/*.json
Basque eu locales/eu/*.json
Basque (Spain) eu-ES locales/eu-ES/*.json
Finnish fi locales/fi/*.json
Filipino fil locales/fil/*.json
Filipino (Philippines) fil-PH locales/fil-PH/*.json
French fr locales/fr/*.json
Irish ga locales/ga/*.json
Irish (Ireland) ga-IE locales/ga-IE/*.json
Hindi hi locales/hi/*.json
Hindi (India) hi-IN locales/hi-IN/*.json
Croatian hr locales/hr/*.json
Hungarian hu locales/hu/*.json
Indonesian id locales/id/*.json
Italian it locales/it/*.json
Japanese ja locales/ja/*.json
Japanese (Japan) ja-JP locales/ja-JP/*.json
Korean ko locales/ko/*.json
Korean (South Korea) ko-KR locales/ko-KR/*.json
Kurdish ku locales/ku/*.json
Kurdish (Turkey) ku-TR locales/ku-TR/*.json
Lithuanian lt locales/lt/*.json
Latvian lv locales/lv/*.json
Malay ms locales/ms/*.json
Malay (Malaysia) ms-MY locales/ms-MY/*.json
Maltese mt locales/mt/*.json
Norwegian Bokmål nb locales/nb/*.json
Norwegian Bokmål (Norway) nb-NO locales/nb-NO/*.json
Nepali ne locales/ne/*.json
Nepali (Nepal) ne-NP locales/ne-NP/*.json
Dutch nl locales/nl/*.json
Norwegian Bokmål no locales/no/*.json
Polish pl locales/pl/*.json
Portuguese pt locales/pt/*.json
Brazilian Portuguese pt-BR locales/pt-BR/*.json
Romanian ro locales/ro/*.json
Russian ru locales/ru/*.json
Sardinian sc locales/sc/*.json
Sardinian (Italy) sc-IT locales/sc-IT/*.json
Slovak sk locales/sk/*.json
Slovenian sl locales/sl/*.json
Slovenian (Slovenia) sl-SI locales/sl-SI/*.json
Somali so locales/so/*.json
Serbian srp locales/srp/*.json
Swati ss locales/ss/*.json
Swati (South Africa) ss-ZA locales/ss-ZA/*.json
Sundanese su locales/su/*.json
Sundanese (Indonesia) su-ID locales/su-ID/*.json
Swedish sv locales/sv/*.json
Swedish (Sweden) sv-SE locales/sv-SE/*.json
Swahili sw locales/sw/*.json
Swahili (Kenya) sw-KE locales/sw-KE/*.json
Tamil ta locales/ta/*.json
Tamil (India) ta-IN locales/ta-IN/*.json
Thai th locales/th/*.json
Filipino (Philippines) tl-PH locales/tl-PH/*.json
Turkish tr locales/tr/*.json
Tahitian ty locales/ty/*.json
Tahitian (French Polynesia) ty-PF locales/ty-PF/*.json
Ukrainian uk locales/uk/*.json
Ukrainian (Ukraine) uk-UA locales/uk-UA/*.json
Venetian vec locales/vec/*.json
Venetian (Italy) vec-IT locales/vec-IT/*.json
Vietnamese vi locales/vi/*.json
Vietnamese (Vietnam) vi-VN locales/vi-VN/*.json
Yiddish yi locales/yi/*.json
Yiddish (Germany) yi-DE locales/yi-DE/*.json
Chinese zh locales/zh/*.json
Chinese (China) zh-CN locales/zh-CN/*.json
Chinese (Hong Kong SAR China) zh-HK locales/zh-HK/*.json
Chinese (Singapore) zh-SG locales/zh-SG/*.json
Chinese (Taiwan) zh-TW locales/zh-TW/*.json

More information may be available from the Internationalization Reference Guide.