ng9-ts-extractor

1.0.2 • Public • Published

ng9-ts-extractor

Angular 9 I18n Extractor from TypeScript files.

Install

npm install ng9-ts-extractor --save

What the package do

Angular 9 now supports code based localization via

$localize:`meaning|description@@id:message`

And because there is no extractor until now for code based localization. You have to

  • Add id to every $localize.
  • Write trans-unit for every id.

And That is what ng9-ts-extractor do for you. It adds a unique id for every $localize that doesn't have an id. And add trans-unit for every $localize using its id.

Usage

There is an extraction tool called ts-extract that will extract the messages. You should first extract the messages from the templates using the ng-xi18n extraction tool from @angular/compiler-cli which will create an xliff or xmb file, and then run ts-extract on the same file to add the messages extracted from your code. The messages will be merged.

Example

ts-extract -i=src/**/*.ts -f=xlf -o=src/i18n/messages.xlf

Commandline arguments

usage ts-extract [options]

  • --include, -i [string, required]: Files to include. You can use path expansion, glob patterns and multiple paths.

    Example: -i src/**/*.ts.

  • --format, -f [string, optional, Default: xlf]: Output format. (For now only xlf is supported).

    Example: -f xlf

  • --out-file, -o [string, required]: Path where you would like to save extracted strings.

    Example -o src/i18n/messages.xlf

Limitaions

  • This package is using regex to extract code based localization. that is why it needs id or automatically assign id to work.

  • It extracts code based localization even if it is commented. The fix is at my TODO

  • No support for meaning and discription. Currently working on this

  • Supports only xlf messages file extenstion. The fix is at my TODO

Other TODO

  • Create report at logs

Dependents (0)

Package Sidebar

Install

npm i ng9-ts-extractor

Weekly Downloads

48

Version

1.0.2

License

MIT

Unpacked Size

123 kB

Total Files

4

Last publish

Collaborators

  • gendy