ng xi18n <project> [options] ng i18n-extract <project> [options]
ng xi18n command extracts i18n messages from source code. Options are optional parameters.
Sr.No. | Argument & Syntax | Description |
---|---|---|
1 | <project> | The name of the project. It can be an application or library. |
Sr.No. | Option & Syntax | Description |
---|---|---|
1 | --browserTarget=browserTarget | Target to extract from. |
2 | --configuration=configuration | A named build target, as specified in the "configurations" section of angular.json. Each named target is accompanied by a configuration of option defaults for that target. Setting this explicitly overrides the "--prod" flag. Aliases: -c |
3 | --createCommits=true|false |
Create source control commits for updates and migrations. Default: false Aliases: -C |
4 | --format=xmb|xlf|xlif|xliff|xlf2|xliff2 |
Output format for the generated file. Default: xlf |
5 | --help=true|false|json|JSON |
Shows a help message for this command in the console. Default: false |
6 | --outFile=outFile | Name of the file to output. |
7 | --outputPath=outputPath | Path where output will be placed. |
8 | --prod=true|false | Shorthand for "--configuration=production". When true, sets the build configuration to the production target. By default, the production target is set up in the workspace configuration such that all builds make use of bundling, limited tree-shaking, and also limited dead code elimination. |
9 | --progress=true|false |
Log progress to the console. Default: true |
First move to an angular project updated using ng build command. Update the app.component.html as follows:
app.component.spec.ts
<div class="content" role="main"> <span i18n>app is running!</span> </div> <app-goals></app-goals> <router-outlet></router-outlet>
Now run the xi18n command.
\>Node\>Howcodex> ng xi18n
Add localization support.
\>Node\>Howcodex> ng add @angular/localize Installing packages for tooling via npm. Installed packages for tooling via npm. UPDATE src/polyfills.ts (3064 bytes)
Now ng will create a messages.xlf file in root folder which is a industry standard translation file.
messages.xlf
<?xml version="1.0" encoding="UTF-8" ?> <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> <file source-language="en-US" datatype="plaintext" original="ng2.template"> <body> <trans-unit id="6226cbeebaffaec0342459915ef7d9b0e9e92977" datatype="html"> <source>app is running!</source> <context-group purpose="location"> <context context-type="sourcefile">src/app/app.component.html</context> <context context-type="linenumber">2</context> </context-group> </trans-unit> </body> </file> </xliff>