angular-cn/integration/cli-hello-world-ivy-i18n/e2e/README.md

38 lines
1.4 KiB
Markdown

## E2E tests
There are four different sets of e2e tests in this folder. They are all testing different
translation scenarios, but they are all built with IVY enabled.
### runtime
Translations are provided at runtime by calling `loadTranslations()` in the polyfill.ts
### de and fr
The application is built (into the `dist` folder) and then two sets of translations
(`src/locales/messages.(de|fr).json`) are used to generate two copies of the app, which have
been translated (compile-time inlined).
These translated apps are stored in `tmp/translations/(de|fr)`.
### legacy
The legacy `ng xi18n` tool extracts the messages from the Angular templates, into the XLIFF 1.2
format with legacy message ids (`tmp/legacy-locales/messages.legacy.xlf`).
The translation file is modified to apply a simple translation.
The app must be compiled using the `i18nLegacyMessageIdFormat` option set to ensure that the correct
message ids are used to match those in the translation files.
The app is translated using the compile-time inlining tool to generate a copy that has the
translated message in it.
## Hosting
Since the CLI hosts from and in-memory file-system the compile-time inliner is not able to
translate the output files. So the `de`, `fr` and `legacy` apps must be statically built to
disk and translated there.
Since the translated app is now on disk, we cannot use the CLI to serve it. Instead we use
a simple static HTTP server instead.