Wrong culture in some parts of page

I’ve got a multi-language v10 site with English as the default language, and all other languages having English as the fallback language. I’m seeing some strange behaviour on the non-English page variants. On these pages, the main content of the page - anything rendered by RenderBody() in my master.cshtml - is in the correct language. But anything else, like the page names and URLs in my site menu, which is rendered by @await Html.PartialAsync("~/Views/Partials/mainNavigation.cshtml"), is in English.

If I change the fallback language for any of the non-English languages to none, the property values are in the correct language. I’ve checked System.Threading.Thread.CurrentThread.CurrentCulture.Name at all points in my templates and it is always set to the page language.

What could be causing the property values to be returned in the fallback language, instead of the page language?


This is a companion discussion topic for the original entry at https://our.umbraco.com/forum/112297-wrong-culture-in-some-parts-of-page