Simple Object Designer Documentation
Index

Translations

Translations allow you to localize your SOD-generated extension into multiple languages. Business Central uses the XLIFF 1.2 standard for translation files, and SOD provides a built-in workflow for managing translations without leaving the application.

How Translations Work

SOD generates an extension that contains captions for fields, pages, actions, and other UI elements. These captions default to the source language (typically en-US). The translation feature lets you provide translated versions of these captions so that users working in other languages see localized text.

When you publish with translations, SOD packages the translated XLIFF files into the extension. Business Central then uses these files to display the correct language for each user.

Accessing Translations

Translations is available in the Tasks group on the main menu. Click Translations to open the Translation Sources page.

Translations is not available in API-only mode.

Translations depend on the compiler in use. The legacy compiler does not support translations; translation support requires the Microsoft compiler. If the Translations feature is unavailable or has no effect on published captions and tooltips, check which compiler is selected on the Setup Page.

Full multi-language support for field captions and tooltips is tied to the retirement of the legacy compiler, after which only the Microsoft compiler is supported. Until then, expect translation capability to depend on that setting.

Translation Workflow

Translating your app is a multi-step process. You do not need to publish before setting up translations for the first time - the initialization handles that internally.

Step 1: Create Your App

Define your fields, page placements, features, and other customizations as normal. You do not need to publish first.

Step 2: Initialize Translations

Open Translations from the Tasks group on the main menu. If no translation sources exist yet, SOD prompts you with:

"No translations exists, generate the initial list?"

When you confirm, SOD runs an internal build to extract all translatable strings from your configuration. This populates the Translation Sources list without publishing the extension.

Step 3: Translate to Target Languages

With the source list populated, you can now add translations.

  1. Select a source entry in the Translation Sources list
  2. Click the Translations action (or drill down on the Target Count column) to open the Translation Targets page
  3. Add a new line:
    • Source Text - Automatically filled from the source entry (read-only)
    • Target Language - Select from Business Central's language list (e.g., da-DK, de-DE, fr-FR)
    • Target Text - Enter the translated text
    • Reviewed - Check this box to mark the translation as reviewed
  4. Repeat for each language you want to support
  5. Navigate back and repeat for other source entries

Step 4: Publish the App

Once your translations are ready, publish the app from the main menu. During the publish process, SOD automatically:

  1. Generates the base XLIFF file from the compiled source code
  2. Updates the Translation Source list with any new or changed entries
  3. Packages the base XLIFF and one translation file per target language into the extension

Users who run Business Central in a translated language will see your localized captions after installation.

Warning: Adding translations to your app increases the publish time by a couple of minutes. The extra time is spent generating and packaging the XLIFF translation files during the build process. This applies to every publish once translation targets exist.

Updating Translations After Changes

When you make changes to your app (adding new fields, renaming captions, adding features), those changes will not appear in the translation source list until after you publish. This is because the source list is refreshed from the compiled extension during the publish process.

To update translations after making changes:

  1. Publish - Publish the app with your new or modified customizations. The source list is updated during this step.
  2. Translate - Open Translations and provide translations for any new or changed entries
  3. Publish again - Publish once more to include the updated translations in the extension

This means that a full translation update cycle requires two publishes: one to get the new source strings into the translation list, and a second to include the completed translations in the extension.

Translation Sources Page

The Translation Sources page is a read-only list showing all translatable strings extracted from your extension.

Column Description
Xliff Generator Note The object and property location of the text (e.g., "Table Customer Hgd - Field Name - Property Caption")
Source Language The original language code (e.g., en-US)
Source Text The original text to be translated
Developer Note Additional context from the developer (hidden by default)
Translate Whether this entry should be translated (hidden by default)
Target Count Number of target translations for this entry. Drill down to view or edit targets.

Actions

  • Translations - Opens the Translation Targets page filtered to the selected source entry, where you can add or edit translations

Translation Targets Page

The Translation Targets page shows translations for a specific source entry (when opened from a source) or all translations.

Column Description
Source Text The original text (read-only, auto-filled when adding from a source entry)
Target Language The language to translate into. Uses a lookup to Business Central's Language Selection table.
Target Text The translated text
Reviewed A checkbox to track whether the translation has been reviewed

Tips and Best Practices

  • No initial publish needed - The first-time initialization runs an internal build to extract strings. You only need to have your customizations configured.
  • Plan for two publish cycles when updating - When adding new features or changing captions that need translation, budget time for the publish-translate-publish workflow.
  • Use the Reviewed flag - Mark translations as reviewed after verification to track progress across large translation projects.
  • Review translations in context - After publishing with translations, switch your Business Central language to verify that captions display correctly.
  • Keep translations in sync - After each round of changes, remember to update translations before the final publish.
  • Only translated entries are included - Source entries without a matching target translation for a given language are omitted from that language's translation file.