Actually I just wanted to write a post about how to translate copied standard reports. To do this you need to use the Base App translation files. Unfortunately, I didn’t find a good up2date post that describes all possible ways to get the translation files. That’s why I’m writing this one myself.
Many roads lead to Rome, the same is true for the translation files. There are three ways to get the Base App Translation Files as of today.
How to Get Base App Translation Files
- Get Translations From Your Docker Container
If you have created your container with the parameter -includeAL, you will find the translation files in “C:\ProgramData\BcContainerHelper\Extensions\<OriginalFolderName>\Translations\”
- Get Translations From Your Downloaded AL Packages
Open the folder of your alpackages. Unpack the file “Microsoft_Base_Application_xyz.app” like a ZIP file. The translation files are stored in the folder “Translations”.
- Get Translations From Installation DVD
Download installation files here if you do not already have them. Extract the zip file. The translation files are stored in “Applications\BaseApp\Source\Base Application.Source.zip\Translations”.
Option 1: Get Translations From Your Docker Container
If you have created a Business Central Docker Container using the “includeAL” parameter, you can use this option. The parameter ensures that all objects are exported as AL files. Here is a sample powershell script for Business Central 17 that uses this parameter. You need the BcContainerHelper to use it.
$containerName = 'bc17includeAL'
$password = 'P@ssw0rd'
$securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force
$credential = New-Object pscredential 'admin', $securePassword
$auth = 'UserPassword'
$artifactUrl = Get-BcArtifactUrl -type 'Sandbox' -country 'de' -select 'Latest'
$licenseFile = 'c:\users\wbrakowski8911\desktop\aktuelles\entwicklerlizenz.flf'
-containerName $containerName -credential $credential
-auth $auth -artifactUrl $artifactUrl
-assignPremiumPlan -licenseFile $licenseFile
The translation files are stored in the folder “C:\ProgramData\BcContainerHelper\Extensions\<OriginalFolderName>\Translations\”
You can also use the script below to copy the AL source files to your container folder. Make sure to replace the credentials, the container name and the folder name.
$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'P@ssw0rd' -AsPlainText -Force)
Create-AlProjectFolderFromNavContainer -containerName "BC17includeAL" -alProjectFolder "C:\ProgramData\BcContainerHelper\Extensions\BC17includeAL\my\AL" -credential $credential
If you us the script, the source files can be found in the folder “AL”.
Option 2: Get Translations From Your Downloaded AL Packages
You can always choose this option. You only need to download the AL packages from your Business Central instance. Open the folder containing your AL packages with a right click and “Reveal in File Explorer”.
The folder contains the app file of the Base Application. Unpack the file “Microsoft_Base_Application_xyz.app” like a ZIP file. Ideally you should choose another folder as place to unzip.
The unzipped file contains a folder Translations, which contains the translations of the Base app.
Option 3 (If You Have Too Much Time): Get Translations from Installation DVD
Download Microsoft Dynamics Business Central on premise from here if you do not already have the installation files.
Unpack the downloaded zip file. Open the unpacked folder and navigate to “Dynamics 365 Business Central\Applications\BaseApp\Source”
Unpack the zipfile “Base Application.Source.zip”.
You will find the Base Application xlf files in “Base Application.Source\Translations”. Choose the translation file for your target language and copy it somewhere where you can easily find it.
That’s it. Have fun with your translation files. 🙂