- Themes can supply translation files in a format like `/locales/{locale}.yml`. These files should be valid YAML, with a single top level key equal to the locale being defined. For now these can only be defined using the `discourse_theme` CLI, importing a `.tar.gz`, or from a GIT repository.
- Fallback is handled on a global level (if the locale is not defined in the theme), as well as on individual keys (if some keys are missing from the selected interface language).
- Administrators can override individual keys on a per-theme basis in the /admin/customize/themes user interface.
- Theme developers should access defined translations using the new theme prefix variables:
JavaScript: `I18n.t(themePrefix("my_translation_key"))`
Handlebars: `{{theme-i18n "my_translation_key"}}` or `{{i18n (theme-prefix "my_translation_key")}}`
- To design for backwards compatibility, theme developers can check for the presence of the `themePrefix` variable in JavaScript
- As part of this, the old `{{themeSetting.setting_name}}` syntax is deprecated in favour of `{{theme-setting "setting_name"}}`
|
||
|---|---|---|
| .. | ||
| application.js.es6 | ||
| border-color.js.es6 | ||
| bound-avatar-template.js.es6 | ||
| bound-avatar.js.es6 | ||
| bound-category-link.js.es6 | ||
| bound-date.js.es6 | ||
| capitalize-string.js.es6 | ||
| category-badge.js.es6 | ||
| category-link.js.es6 | ||
| cold-age-class.js.es6 | ||
| custom-html.js.es6 | ||
| dash-if-empty.js.es6 | ||
| dir-span.js.es6 | ||
| discourse-tag.js.es6 | ||
| discourse-tags.js.es6 | ||
| fa-icon-node.js.es6 | ||
| format-age.js.es6 | ||
| format-date.js.es6 | ||
| format-username.js.es6 | ||
| icon-or-image.js.es6 | ||
| inline-date.js.es6 | ||
| loading-spinner.es6 | ||
| node.js.es6 | ||
| parse-html.js.es6 | ||
| period-title.js.es6 | ||
| raw-plugin-outlet.js.es6 | ||
| raw.js.es6 | ||
| replace-emoji.js.es6 | ||
| route-action.js.es6 | ||
| shorten-url.js.es6 | ||
| theme-helpers.js.es6 | ||
| topic-featured-link.js.es6 | ||
| topic-link.js.es6 | ||
| user-avatar.js.es6 | ||
| user-status.js.es6 | ||