MSM content structure for XF to support several language variations
Hi, community,
On your project (AEM Release 2023.9.13665.20230927T063259Z), we follow a well-known content structure to manage pages and XFs.
Content:
/content/site/language-masters
|
|__de
|__en - language copy of /content/site/language-masters/de
|__fr - language copy of /content/site/language-masters/de
/content/site/de/de - live-copy of /content/site/language-masters/de
/content/site/gb/en - live-copy of /content/site/language-masters/en
/content/site/fr/fr - live-copy of /content/site/language-masters/fr
/content/site/ch/fr - live-copy of /content/site/language-masters/fr
XF:
/content/experience-fragments/site/language-masters
|
|__de
|__en - language copy of /content/experience-fragments/site/language-masters/de
|__fr - language copy of /content/experience-fragments/site/language-masters/de
/content/experience-fragments/site/de/de - live-copy of /content/experience-fragments/site/language-masters/de
/content/experience-fragments/site/gb/en - live-copy of /content/experience-fragments/site/language-masters/en
/content/experience-fragments/site/fr/fr - live-copy of /content/experience-fragments/site/language-masters/fr
/content/experience-fragments/site/ch/fr - live-copy of /content/experience-fragments/site/language-masters/fr
However, we found out that languages like nl_be, zh_cn are not correctly handled during the rollout process of XFs. There is an action referencesUpdateXF that rewrites references in the XF during the rollout process. Based on the code of this action, it expects to have language code (not locale) in the XF source path and link to be rewritten. For example:
We have /content/experience-fragments/site/language-masters/zh_de/teaser/teaser that has a button with a link to /content/site/language-masters/zh_de/some-page. We want to roll out XF to /content/experience-fragments/site/cn/zh/teaser/teaser.
Actual result:
The link is not rewritten.
Expected result:
The button link leads to /content/site/cn/zh/some-page.
During the rollout actions expects that the source XF path looks like /content/experience-fragments/site/language-masters/zh/teaser/teaser and link /content/site/language-masters/zh/some-page. However, it doesn't fix requirements, because the zh language is another variation and is used for another country.
Has anyone encountered the same problem and how did you solve it?