AI OnAI Off
Thank you for the information! It does indeed look lika bug, will investigate and update here ASAP.
Sorry for the extremey long delay. The sad truth is that due to some mismatch in language handling between ECF and EPiServer CMS this turned out to be very difficult to fix properly in the CMS 6 / ECF 5.2 codebase. We are planning to address this with the next major release of EPiServer Commerce that will run on top of EPiServer CMS 7 (a k a Falcon).
Does EPiServer Commerce support globalized content on the same URL?
For example, If I have two active languages in my catalog, en-GB and en-US with en-GB being the default language. Then for a given product, say "Audio Book", I set the SEO Urls like so
en-GB: audio-book.aspx
en-US: audio-book.aspx
If I switch to en-US in the EPiServer portion of the site and browse through the categories my Thread.CurrentThread.CurrentCulture, Thread.CurrentThread.CurrentUICulture and SiteContext.Current.LanguageName are all "en-US". Then, when I browse to the "Audio Book" product page, the three settings all change to "en-GB".
I've opened the EPiServer.Business.Commerce.HttpModules.dll in Reflector to have a look at how the URL re-writing is performed, and looking at the code in the GetProductByLink method, it appears to simply return the first product that has some SEO items, rather than matching on the current SiteContext.Current.LanguageName value.
I've added a few comments to the code below to clarify my thinking.