AL Translation Center

This extension allows to improve speed in multilanguage development in AL Language using developer comments for adding translations. Previously, the idea was used in AL Language Tools extension (thanks ClipDynamics!).

Requirements
- AL Language extension for Microsoft Dynamics 365 Business Central.
- Visual Studio Code v1.99.0 or higher, to support the MCP server definition API used by this extension.
Main features
- Xliff translation, based in developer comments (property
comment).
- Commands for directly packaging/publishing with the updated translation.
- Included basic translation snippets (for
Label, Caption, OptionCaption, Action, Tooltip, AboutTitle, AboutText and AdditionalSearchTerms).
- Generated files are compatible to use with
Microsoft© Multilingual Editor.
- Search occurrences in case of badly formatted caption translations (prevents of translation process).
- Supports translation of the AL project in use in
multiroot workspaces.
- You can customize the integrated language mapping, adding new languages or changing the XLIFF output language.

- You can map from one abbreviation to multiple languages, separated with
| character.

Commands
| Command |
|
ATC: Generate Xliff translations from source |
This command generates the translations (based in developer comments) for the current NameOfExtension.g.xlf at folder Translations (the source XLIFF). This file is created after executing AL: Package or AL: Publish. Because the file is created after the package, you need to recreate the package to add the translations. |
ATC: Validate Translations |
Read-only check: scans every target language in the project and reports every developer-note issue found (Problems panel + editor squiggles), without writing any file. Useful to review all issues at once before running Generate/Package/Publish. |
ATC: Package with translations |
Package directly with translations, without need to create tasks or do a repacking manually. |
ATC: Publish with translations |
Generate and publish the package directly with translations, without need to create tasks or do manually. You can customize the behavior in settings, and set if you want to publish always with or without debugging without asking. |
ATC: Show AL Translation Center output |
Opens the extension's output channel, useful to diagnose why a previous command failed. |
ATC: List AL projects in workspace |
Lists every AL project (folder with an app.json) found in the open workspace, with its path and manifest metadata. |
ATC: Show AL Translation Center configuration |
Shows the effective AL Translation Center settings for a project. |
AI agent integration (MCP)
This extension also registers an MCP server, so an MCP-capable AI agent (e.g. GitHub Copilot Chat) can generate/validate translations and package/publish directly, without going through the Command Palette. It exposes the same functionality as the commands above as tools: al_translation_center_translate, al_translation_center_validate, al_translation_center_package, al_translation_center_publish, al_translation_center_get_output, al_translation_center_list_projects, al_translation_center_get_config, al_translation_center_read_translation_file.
Snippets included
tcaptionWithTranslation
ttoolTipWithTranslation
tlabelWithTranslation
toptionCaptionWithTranslation
tprofileWithTranslation
tprofileDescriptionWithTranslation
tactionWithTranslation
tcommentWithTranslation
taboutTitleWithTranslation
tadditionalSearchTermsWithTranslation
taboutTextWithTranslation
tlockedTrue
tlockedLabel
tlockedCaption
For a customizable version of language-dependent snippets, use:
- AL Translation Snippets

Improvements
- Added directly support for more languages (like Catalan, Galician, Basque, Portuguese, Polish).
- Translation texts can contain '=' character.
- Can translate .xlf files created with extension with invalid filenames characters (like ":").
Known Issues
| |