A VSCode extension to keep XLIFF translation files in sync with a specified, automatically generated base-XLIFF file.
This project originated from the need for a tool to automatically merge/synchronize XLIFF translation files. This extension is based on the Angular Localization Helper developed by manux54, which has been extended with various new features, fixes and enhancements. It is specifically targeted at synchronizing trans-units from a “.g.xlf” file automatically generated by the AL Language extension that can be used to develop extensions for Microsoft Dynamics 365 Business Central. Apart from synchronizing trans-units from a base-XLIFF file, this extension contributes various other features, including:
- Creating new target files.
- For RFC 4646 (
.xlf
) or RFC 5646 (.xlf2
) language tags. - A single file, or multiple files at once:
- For RFC 4646 (
- Checking for missing translations.
- Manually, via the command
XLIFF: Check for Missing Translations
. - Automatically, after syncing translations (i.e.,
xliffSync.autoCheckMissingTranslations
). - Convenient option to open XLIFF files in your default, external XLIFF editor:
- Manually, via the command
- Detecting problems in translations.
- Manually, via the command
XLIFF: Check for Need Work Translations
. - Automatically, after syncing translations (i.e.,
xliffSync.autoCheckNeedWorkTranslations
). - Customize which rules should be used (i.e.,
xliffSync.needWorkTranslationRules
). - Detected problems are described in an
XLIFF Sync
-note that is added to the trans-unit XML node of the translation. - Convenient option to open XLIFF files in your default, external XLIFF editor:
- Manually, via the command
- Import translations from external XLIFF files.
- Import from one or more
.xlf
or.xlf2
files. - Merge based on “source” text and Developer Note.
- Respect or overwrite existing translations (i.e.,
xliffSync.replaceTranslationsDuringImport
).
- Import from one or more
- Various settings for customization.
- Customize how syncing is performed.
- Set what to do with line endings (i.e.,
xliffSync.ignoreLineEndingTypeChanges
). - Set decorations for missing translations in VSCode (i.e.,
xliffSync.decoration
)
- Snippets for development.
- Parse translations from the Developer Note (i.e.,
xliffSync.parseFromDeveloperNote
) - Use snippets during development (i.e.,
xliffSync.enableSnippetsForLanguages
)
- Parse translations from the Developer Note (i.e.,
You can check out the full, up-to-date list of the features and download the extension from the VS Marketplace: