web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Suggested Answer

How to Switch UI Language from Arabic Back to English After Deploying a Arabic Language Extension

(4) ShareShare
ReportReport
Posted on by 375

Hi everyone,

I have developed a custom Arabic language pack/translation extension for Microsoft Dynamics 365 Business Central. I have deployed the extension successfully, and the Business Central UI is now displaying Arabic.

However, I also need to switch the UI back to English when required.

English is already available in Business Central, but after deploying my custom Arabic language extension, the UI is still displaying Arabic.

I would like to know:

  1. How can I switch the Business Central UI from Arabic back to English?
  2. Is there any setting in My Settings → Language that I need to configure?
  3. Can a custom language extension override the user's selected UI language?
  4. Is there anything I need to change in my .xlf translation files or app.json?
  5. What is the recommended way to support both Arabic and English in a custom Business Central extension?
  • Suggested answer
    YUN ZHU Profile Picture
    103,656 Super User 2026 Season 2 on at

    Is your translation package setting the target language to English? Generally, if you change the language back to English in My Settings, the UI language will change.

    More details: XLIFF translation files (Working with Translations)

    https://yzhums.com/2684/

    Thanks

    ZHU

  • Suggested answer
    Khushbu Rajvi. Profile Picture
    23,157 Super User 2026 Season 2 on at

    Switch back: My Settings → Language → English → sign out/in.

    Setting location: Yes, My Settings → Language

    Extension overriding language? Shouldn't happen — if it does, your extension's code is writing to the User/User Settings Language ID field. That's a bug.

    .xlf/app.json: Not the cause. Just need "features": ["TranslationFile"] in app.json + one .xlf per language. These only hold translated text, not the active language.

    Best practice: One .xlf per language, never hardcode language switching, let users pick via My Settings.

     

  • Suggested answer
    OussamaSabbouh Profile Picture
    20,124 Super User 2026 Season 2 on at

    Hello,

    Yes, users should be able to switch normally through My Settings → Language → English, then sign out and sign back in. A translation extension should not force Arabic regardless of the user's selected language. In your attached .xlf, however, I can see the likely root cause: it declares source-language="en-US" and also target-language="en-US" even though this file is intended to contain Arabic translations. That tells Business Central that your Arabic <target> values are actually English (US) translations, so your language app can overwrite the standard English captions when English is selected. Change the XLIFF to the correct Arabic culture, for example target-language="ar-SA" or ar-AE depending on the Arabic language you want to expose in My Settings, while keeping source-language="en-US". Microsoft requires one .xlf per target language and the target language must use the <language>-<country> format. You normally don't need an English translation XLF because English remains the source/base language. Also check Allowed Languages and make sure both English and your Arabic language are available. Your app.json doesn't need a special setting to switch between Arabic and English; its dependencies on System/Base Application are relevant if this extension is translating those apps. So in this case, I would correct the XLF language code, rebuild/redeploy the extension, select English again in My Settings, and sign out/in.

    Regards,
    Oussama Sabbouh

  • LA-02071030-0 Profile Picture
    375 on at

    I am working on a Microsoft Dynamics 365 Business Central extension and I am trying to add Arabic (ar-SA) translations using an XLIFF file.

    My XLIFF file contains entries like this:

    <file datatype="xml" source-language="en-US" target-language="ar-SA" original="Base App">
        <body>
            <group id="body">
                <trans-unit id="Table 3928467216 - Property 2879900210"
                            size-unit="char"
                            translate="yes"
                            xml:space="preserve">
                    <source>Accounting Services Cue</source>
                    <target state="translated">مؤشرات خدمات المحاسبة</target>
                </trans-unit>
    
                <trans-unit id="Table 3928467216 - Field 2185352090 - Property 2879900210"
                            size-unit="char"
                            translate="yes"
                            xml:space="preserve">
                    <source>My Incoming Documents</source>
                    <target state="translated">المستندات الواردة الخاصة بي</target>
                </trans-unit>
            </group>
        </body>
    </file>

    The problem is:

    • When I use target-language="ar-SA" and select Arabic in Business Central, the captions are not translated and I still see the English text.
    • However, if I change the XLIFF to target-language="en-US" while keeping the Arabic text inside <target>, Business Central displays the Arabic translation correctly.
    • The issue is that after doing this, I cannot switch back to the English language properly because Business Central treats the translation as an English translation.
  • Yuv Profile Picture
    4 on at

    Quick Summary: Your extension didn't take over the UI language — it just filled in a previously-missing match for users on "Windows Default." Have affected users explicitly pick English under My Settings → Language, and that will stick regardless of the Arabic extension being installed.

    1. How to switch the UI back to English

    Go to the gear icon (⚙️) → My Settings → General tab → Language field → select English (United States) (or your preferred English variant) explicitly from the dropdown → OK.

    The important word is explicitly. If the Language field is currently set to (Windows Default) rather than a named language, that's almost certainly the root cause of what you're seeing — see point 3 below.

    2. Is there a setting in My Settings → Language?

    Yes — My Settings → Language is a per-user setting (stored on the User Personalization record) and it's the correct, supported place to control UI language. It's independent of any extension. Selecting an explicit language there should always take effect immediately after the page reloads, regardless of what language extensions are installed.

    3. Can a custom language extension override the user's selected UI language?

    Not directly — an extension cannot silently force-change a user's saved language preference. But it can change what happens when a user's preference is set to (Windows Default):

    • Before your Arabic extension was deployed, Arabic wasn't a "known" culture in the tenant, so any user whose browser/OS locale reported ar-* would fall back to English (the base application language).

    • After deploying your extension, ar-* is now a valid, matching culture — so those same users (still on "Windows Default") now resolve to Arabic instead of falling back to English.

    So the extension didn't override anyone's choice — it just made a previously-unavailable match now available. That's why explicitly picking English in My Settings fixes it: an explicit choice always wins over the Windows Default fallback.

    4. Do you need to change anything in your .xlf files or app.json?

    Not to fix the language-switching behavior — that's a runtime/user-setting issue, not a translation-file issue. A few things worth double-checking in your extension regardless:

    • app.json should have "features": [ "TranslationFile" ] so XLIFF generation/consumption works as expected.

    • Your .xlf file should live under a Translations folder in the extension root, named something like <ExtensionName>.ar-SA.xlf, and target only the ar-SA (or appropriate Arabic) culture — don't accidentally target en-US in that file, or you could overwrite English captions with Arabic ones.

    • Remember translations are applied in layers (base app → your extension → any other installed language apps). If multiple layers touch the same culture, the last one applied for that specific culture wins — it won't affect other cultures like English.

    5. Recommended way to support both Arabic and English

    • Ship one .xlf per target culture (e.g., MyExt.ar-SA.xlf) inside the Translations folder — don't try to make Arabic the "only" language.

    • Never modify or remove the base English captions/labels — let English continue to come from the base application layer.

    • Let users choose their language explicitly via My Settings → Language rather than relying on Windows Default, especially in a bilingual/mixed-locale environment — this avoids exactly the surprise you ran into.

    • If the need is really about documents (invoices, orders, etc.) rather than the whole UI, use the Customer/Vendor Language Code field so documents print in the recipient's language without touching the sender's UI language at all. Since Business Central 23, you can also override the language/region on individual report runs from the report request page, without changing any user or system default.

    • If you want Arabic to be the default only for specific users (not the whole tenant), set it per-user in My Settings rather than at a company-wide level.

    Hope you find your answer.

  • Suggested answer
    Grigorios Mavrogeorgis Profile Picture
    3,638 Super User 2026 Season 2 on at

    Hi,  if the same file works when you write en-US, then the XML itself is fine, it is only the language that BC is not picking up. So don't rewrite the file, look around it.

    First thing I'd check is the file name. It has to carry the same tag, MyApp.ar-SA.xlf, sitting in the Translations folder and actually inside the app package. If the name and the target-language don't match, BC just quietly ignores the file and you get English back, exactly what you see.

    Second, Arabic has to be there. Open the Languages page and check ar-SA is really enabled in that tenant, having it in your browser is not the same thing.

    Your file says original="Base App", but an extension can only translate its own objects. Base app captions won't follow from there.

    Glad to help - follow up if anything is unclear.   

    ►  If this solved it, marking it verified helps others too.       

    Regards,
    Grigorios Mavrogeorgis
    Business Central Consultant & AL Developer

    Work: Gmsoft Limited
    Blog:  insidebusinesscentral
    LinkedIn: linkedin.com/in/gregorymavrogeorgis

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the August Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 750 Super User 2026 Season 2

#2
YUN ZHU Profile Picture

YUN ZHU 534 Super User 2026 Season 2

#3
AndrewThomas81 Profile Picture

AndrewThomas81 287 Super User 2026 Season 2

Last 30 days Overall leaderboard

Featured topics

Microsoft Training Manuals

Product updates

Dynamics 365 release plans