Replies: 5 comments 1 reply
-
If there are multiple projects which need explicit language / country values, then it would make sense to add the properties in Milo and consuming projects. This way, the information would be available to all everyone, even if it would require multiple changes in every Milo and consuming project. |
Beta Was this translation helpful? Give feedback.
-
I think IETF are quite difficult to standardise, each platform has a slightly different version of regions and locales and these might reflect in the URL as well. It's why most projects set up their own regions and why we can't have a universal region modal. I think solution #2 is the most straightforward with the least overhead. |
Beta Was this translation helpful? Give feedback.
-
right, there are all those "dimensions" to take in consideration for one given page:
i guess i would be for solution x :p extending solution 2: if no entry set for one given geo in commerce map, pick country language code from geo, otherwise, take commerce entry. This way we can save a few bytes :) |
Beta Was this translation helpful? Give feedback.
-
@3ch023 My suggestion is any solution that avoids I did extensive work on this in Summer 2023. My attempts at solution 1 were blocked. I created a solution similar to 3 but reverted it when I solved my team's use-case in a very different way -- I still had to decouple gnav and caas from the value we needed. Product leadership is now aware of this latest attempt to fix locales and I have been looped in again. I am preparing an overview doc that is still WIP but whose discovery process is about 70% complete: https://wiki.corp.adobe.com/display/seoteam/Milo+IETF+Technical+Debt. ETA is EOD 1/12. This file is still a problem and will still be a problem for caas, commerce, gnav, and any other feature that depends on these values. My team and I do not have any vested interest in this file anymore, but I'm routinely pinged when an SDE wants to make a major change to it. My hope is that this document will be a final knowledge transfer of all the problems associated with locales and the challenges to fixing them. |
Beta Was this translation helpful? Give feedback.
-
I am going to implement solution 2 for commerce. To get country and language commerce will:
|
Beta Was this translation helpful? Give feedback.
-
The topic of commerce concerns everyone so I open a discussion here.
Context
Milo Commerce (merch) needs to know the country and language of the page to fetch and render a price.
Currently, commerce is using the 'ietf' property of locales object, and splits the value by '-' into language and country.
Commerce Mapping ( geo <-> locale)
Some geo's are very specific, e.g. umbrella regions - sea,africa,cis. For them we can't use 'ietf' language tag, so Commerce has its own mapping.
Problem
All projects (milo,bacom,cc,dc,hompage) have locales, where 'ietf' contains only language, e.g. 'en'. In this case, Commerce is fetching a wrong price, because it will default to US country. For example, on bacom, in Egypt currently the wrong price will be shown.
Solution 1 - fix ietf
All projects fix their 'ietf' values to be suitable for Commerce.
cons: risky change, since many other features depends on 'ietf' values
pros: no mapping duplication
Solution 2 - extend Commerce Mapping
Stop depending on 'ietf' language tag to define a country for commerce.
Instead, we extend Commerce Mapping to include all geo's.
Solution 3 - combination of 'ietf' + geo
Try to split 'ietf' first, if there is no country - split 'geo' prefix. I believe some team is using this approach but it won't work for us, because many projects have 'en_GB' as their 'ietf' for some countries, e.g. Milo
Solution x - please suggest
P.S. I prefer 2nd option but need input from others to make a final call.
Beta Was this translation helpful? Give feedback.
All reactions