Vendure Admin UI
This is the administration interface for Vendure.
It is an Angular application built with the Angular CLI.
The UI is powered by the Clarity Design System.
Structure
Library
The Admin UI is structured as an Angular library conforming to the ng-packagr format. This library is what is published to npm as @vendure/admin-ui
. The library consists
of a set of modules which are accessible from consuming applications as sub-packages:
@vendure/admin-ui/core
@vendure/admin-ui/catalog
@vendure/admin-ui/orders
etc. These library packages are located at ./src/lib
When built with yarn build
, the output will be located in the ./package
sub directory. This is also the root of the published npm package.
Application
In addition to the library, there is also a full application located at ./src/app. This application is used both during development of the Admin UI, and also as the "default" Admin UI without any UI extensions, as provided as the default by the admin-ui-plugin.
Localization
Localization of UI strings is handled by ngx-translate. The translation strings should use the ICU MessageFormat.
Translation keys are automatically extracted by running:
yarn extract-translations
This scan the source files for any translation keys, and add them to each of the translation files located in ./src/lib/static/i18n-messages/
.
A report is generated for each language detailing what percentage of the translation tokens are translated into that language:
Extracting translation tokens for "src\lib\static\i18n-messages\de.json"
de: 592 of 650 tokens translated (91%)
This report data is also saved to the i18n-coverage.json file.
To add support for a new language, create a new empty json file ({}
) in the i18n-messages
directory named <languageCode>.json
, where languageCode
is one of the supported codes as given in the LanguageCode enum type, then run yarn extract-translations