This program automates the merging of XLIFF files (version 1.2 and 2.0). New translations from the input file (e.g. "messages.xlf") are merged into the destination file (e.g "messages.fr-FR.xlf"), while keeping exising translations intact. Removed translations will be removed in the input file.
This can be used as post-processing to angular i18n extraction, to update translations files.
Angular users: It is recommended to not use this program directly but the custom angular tooling: ng-extract-i18n-merge
Either install via npm i -g xliff-simple-merge
or run directly with npx xliff-simple-merge
.
Options:
-i, --input-file <inputFiles...> input file(s)/merge origin(s)
-d, --destination-file <destinationFile> merge destination
-o, --output-file <outputFile> output file, if not provided "merge destination" is overwritten
-e, -exclude-file <excludeFiles...> exclude all unit IDs of the provided file(s)
-w, --overwrite-with-translated overwrite target of destination with target of source, if it's translated and destination target not
--no-match-fuzzy prevent fuzzy matching of similar units with changed id
--no-collapse-whitespace prevent collapsing of multiple whitespaces when comparing translations sources
--no-reset-translation-state prevent (re-)setting the translation state to new/initial for new/changed units
--no-replace-apostrophe prevent replacing of apostrophes (') with "'"
--debug enable debug output
-h, --help display help for command
- If different input files contains the same unit IDs, only the latter ones will be used.
- The input units may contain target nodes. They will be used in the destination units only if they don't contain any net.