Angular CLI - ng xi18n Command


Advertisements

Syntax

ng xi18n <project> [options]
ng i18n-extract <project> [options]

ng xi18n command extracts i18n messages from source code. Options are optional parameters.

Arguments

Sr.No. Argument & Syntax Description
1 <project> The name of the project. It can be an application or library.

Options

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.

Example

\>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>
Advertisements