Update tooling and UI development documentation to cover I18N

- Document steps for adding I18N in builds
- Add "clean-language" target to remove *.mo files

Signed-off-by: Hideki Saito <saito@fgrep.org>
This commit is contained in:
Hideki Saito 2019-07-26 09:47:35 +09:00 committed by Jake McDermott
parent 94e14ae6f8
commit 8362aa71db
3 changed files with 27 additions and 1 deletions

View File

@ -134,6 +134,8 @@ Run the following to build the AWX UI:
```bash
(host) $ make ui-devel
```
See [the ui development documentation](awx/ui/README.md) for more information on using the frontend development, build, and test tooling.
### Running the environment
#### Start the containers

View File

@ -66,7 +66,7 @@ I18N_FLAG_FILE = .i18n_built
ui-test ui-deps ui-test-ci VERSION
# remove ui build artifacts
clean-ui:
clean-ui: clean-languages
rm -rf awx/ui/static/
rm -rf awx/ui/node_modules/
rm -rf awx/ui/test/unit/reports/
@ -94,6 +94,10 @@ clean-schema:
rm -rf schema.json
rm -rf reference-schema.json
clean-languages:
rm -f $(I18N_FLAG_FILE)
find . -type f -regex ".*\.mo$$" -delete
# Remove temporary build files, compiled Python files.
clean: clean-ui clean-dist
rm -rf awx/public

View File

@ -60,6 +60,7 @@ npm --prefix awx/ui run e2e
```shell
# add an exact development or build dependency
npm install --prefix awx/ui --save-dev --save-exact dev-package@1.2.3
# add an exact production dependency
npm install --prefix awx/ui --save --save-exact prod-package@1.23
@ -81,3 +82,22 @@ npm uninstall --prefix awx/ui --save prod-package
# built files are placed in awx/ui/static
make ui-release
```
## Internationalization
Application strings marked for translation are extracted and used to generate `.pot` files using the following command:
```shell
# extract strings and generate .pot files
make pot
```
To include the translations in the development environment, we compile them prior to building the ui:
```shell
# remove any prior ui builds
make clean-ui
# compile the .pot files to javascript files usable by the application
make languages
# build the ui with translations included
make ui-devel
```
**Note**: Python 3.6 is required to compile the `.pot` files.