Variant picker breaks when translated option values overlap with source option values (Translate & Adapt)

We’ve run into an issue with the variant picker that we believe is a platform-level bug related to how Translate & Adapt handles option value translations.

What happens

When a product has translated option values that share the same label as existing source option values, the variant picker becomes unreliable. After selecting a variant, the picker visually selects the wrong option — and in some cases, the wrong variant gets added to the cart.

The issue only occurs on published themes and has been reproduced on Shopify’s own Horizon theme with no customisations, ruling out a theme-specific cause.


Steps to reproduce

  1. Create a product with size variants using larger EU sizing, e.g. 38, 40, 42, 44, 46, 48. Make sure all variants are published and available.

  2. In Markets, add markets such as NL, DE and BE. Assign the relevant languages.

  3. From the product, go to Translate & Adapt.

  4. In the header dropdown, under Adapt a market, select one of the markets and its language.

  5. Map the option values to create an overlap with the source values. For example:

    • Source 38 → translate to 32

    • Source 40 → translate to 34

    • Source 42 → translate to 36

    • Source 44 → translate to 38 ← overlaps with source 38

    • Source 46 → translate to 40 ← overlaps with source 40

    • Source 48 → translate to 42 ← overlaps with source 42

  6. Navigate to the published theme and switch to the affected market and language — for example via the country/language selector in the storefront. Clear site data between attempts if needed to ensure the correct market context is applied.

  7. Select any size that corresponds to a translated value that overlaps with a source value (e.g. the option displayed as 38, which is actually source 44).

Expected: size 38 (source 44) is selected and added to cart. Actual: the picker jumps to a different size (source 38, displayed as 32), and that incorrect variant may be added to the cart instead.


Additional context

  • Removing the translations resolves the issue entirely.

  • The bug is reproducible on Horizon without any theme modifications.

  • We believe Shopify resolves product_option_value.variant by matching on the display label rather than the option value ID, causing it to find the wrong variant when two option values share the same translated label.

  • The issue affects any market where sizing conventions result in label overlap (e.g. EU/FR/IT sizing mapped from a different source convention).

According to Shopify’s own docs, the recommended approach for market-specific sizing differences is to publish variants selectively per market rather than translating labels — which would avoid this conflict. However, it would be helpful to know whether this translation pattern is expected to be supported, and if so, how it should be handled.

To give some additional info: This is how inconsistent liquid gives back data.

Above you see localhost on the left and live preview on the right. Both giving back different values for product.selected_or_first_available_variant.options | map: 'id' | json

The problem has been solved by Shopify.


Quick update on the size selection issue. Our team has identified the root cause and rolled back the recent change that was triggering it. The mismatch was happening at the variant resolution layer on our storefront whenever a translated size value coincided with another size’s base value, which is why it surfaced now despite your Translate & Adapt setup being unchanged since July.