ng9-ts-extractor
v1.0.2
Published
Extract Angular 9 Localize from TypeScript files
Downloads
41
Maintainers
Readme
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 everyid
.
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