CaptionML missing in BC15+ after txt2al converter

Gollum83Gollum83 Member Posts: 19
Hi together,

can perhaps anyone please help me with the following question:
I have to migrate a BC14 solution to a BC15+ solution, in our case BC21.

We will stay OnPrem at least for 5 years or longer or ever.

When converting the C/AL files with al converter (txt2al) all CaptionML propertys of all objects are lost.
Only the Caption property is in the al files, but not the CaptionML propertys.

I know there is some newer technology propagated from microsoft, with the XLIFF files.
But this technology is not practicable at least at the moment or perhaps ever.

I have tested several txt2al version, different builds at BC14 and even the BC15 version of the legacy folder on the iso.
Always in the converted al files the CaptionML proprty is missing.

Does anyone please could help me?
Best regards


  • ShaiHuludShaiHulud Member Posts: 228
    CaptionML has been outdated for several years now. The translations during txt2al are automatically tranferred into the .xliff files.

    What exactly about the .xliffs are "not practicable at least at the moment or perhaps ever."? The translations are easy to create, easy to share and transfer, a caption only needs to be translated once throughout the entire system - there are only advantages to the "new" format.
  • Gollum83Gollum83 Member Posts: 19
    Hi @ShaiHulud
    thanks four your answer.

    after the converter (txt2al) has done it's conversion it is right that the two generated xlf files are available and work if I copy is to the VS Code folder.
    But what is when the migration process e.g. for BC21 is done and we now develop only in VS Code.
    We always have to maintan translations for german language (DEU) and us english (ENU).
    What is if we for example ad a new field to a table?
    In the C/AL world I simple add the CaptionML string directly to the field in the table.

    But how can I handle it in the new world? Hows gets the new field to the German DEU xlf file?
    Do I have to use a text editor an manually ad the section for the new field?
    Really this is a evolution?

    Or do I have to use 3thrd party tools which knows the base translation file before the field was created and makes some merge version of the translation file?
  • ShaiHuludShaiHulud Member Posts: 228
    There's NAB AL Tools extension for Visual Studio code:
    It greatly helps with translations. The main command to use is "NAB: Refresh XLF files from g.xlf" after compiling your app. This will take all the new translations from the en-us version of the file, and add it to all already existing language files. If any of the terms that need to be newly translated are already translated somewhere else in the file, then it will automatically pick up those translations. The texts without translation will be marked and can be exported into a different format with other NAB commands.
    It can also pull translations from the base app or from other files.
  • Gollum83Gollum83 Member Posts: 19
    thanks @ShaiHulud
    i will test this tool, thanks
    i hope with tool that the handling will be practible. i will test it, thanks
Sign In or Register to comment.