xlf-translate
v2.0.5
Published
Populate XLIFF (.XLF) files with existing translations
Downloads
18,493
Readme
xlf-translate
Populates translations in XLIFF (.xlf) message files. Specifically developed for Angular 2 i18n - enabled apps, but might work for others as well.
Check out my blog post on Making Sense of Angular Internationalization (i18n)
Description
Normally, you'd localize an attribute using the following syntax:
<span i18n="A hello world message for the localized component">Hello!</span>
This utility makes use of the optional meaning tag to associate the message with an unique key.
<span i18n="localized.component.hello|A hello world message for the localized component">Hello!</span>
The key will be persisted in the messages file as a "meaning":
<trans-unit id="cb5fabf68b14f52c0d7cbc2b90393f8897310ba7" datatype="html">
<source>Hello!</source>
<target/>
<note priority="1" from="description">A hello world message for the localized component</note>
<note priority="1" from="meaning">localized.component.hello</note>
</trans-unit>
This utility will look up the keys in the supplied language file to provide the target translation.
Language Files
The language files contain translations corresponding to the keys in the description.
For example, the localized.component.hello
key and its translation are represented as:
localized:
component:
hello: Bonjour!
Installation
npm install -g xlf-translate
Usage
xlf-translate --lang-file sample/lang/fr.yml sample/messages.fr.xlf
This will populate all empty target elements in the messages.xlf
file with matching translations. Non-empty target elements will be skipped to avoid overwriting user translations.
The messages file will be updated in place.
You can also force overwriting all translations, regardless if empty or not:
xlf-translate --force --lang-file sample/lang/fr.yml sample/messages.fr.xlf