Base solution for your next web application
Open Closed

Upgraded 8.1 to 8.6 and language localization stopped working #8928


User avatar
0
dmux created

I recently upgraded my Core MVC project from 8.1 to 8.6, and it looks like everything is ok running in debug mode locally in Visual Studio, but when I push it up to Azure App Service (using my existing build pipeline) none of my localizations (in Core\Localization<project><project>.xml) are working - menu items, column headings, everything has reverted to "[Property name]" format. Interestingly, this even includes new items added in the ASPNETZERO base project since 8.1 (See "Dynamic Parameters" and "Webhook Subscriptions"):

When I go to the Languages section on the Azure published 8.6 site I can see 900 entries, which appear to be the built-in ones:

On my existing live site (another Azure app), which is still v8.1, I see 1849 entries and all my localizations are working:

I see 1961 entries on my local debug version (V8.6 upgrade added quite a few), and they are all working:

Incidentally I have disabled all other languages so that English (UK) is the only enabled option. Is that relevant? It was like that before the upgrade as well.

Can someone tell me what might be going on?


Update:

When I enabled US English in the host, the localization suddenly worked in my tenant, even though the tenant still has UK English as the default.

This is now the setting:

... and now all my localizations work.

I'm still interested to learn what is happening. I don't want US English enabled because if a user selects it some of my date validations will not work correctly.


2 Answer(s)
  • User Avatar
    0
    ismcagdas created
    Support Team

    Hi @dmux,

    Somehow English (US) is used as default language for your app. Is the English (UK) the only default language in database ?

  • User Avatar
    0
    dmux created

    Hi @ismcahdas,

    I'm not exactly sure what your question means. I don't think there is a way to make more than one language the default. English (UK) is set to default.

    Anyway I finally solved it when I noticed the English (US) had the code "en". I changed it to have "en-us" and then disabled it in the host. Now the UK one is the only one enabled and is the default, and it's working in the tenant.

    Thanks, Kevin