Expand my Community achievements bar.

SOLVED

Question Related to MSM and translations

Avatar

Level 1

Hello AEM Experts,

have a requirement related to MSM. Requirement is to have (en + few languages) for which we have translations happen using Smartling. The content (Text) will be same across all the languages however the assets might be different for different languages. Considering the requirement, I have 2 options

 

Option 1 – Similar to wknd / weretail

/language-masters

  • /en
  • /language-copy1
  • /language-copy2

 

steps:

  1. With the Above approach, Once the pages are authored in /en -> pages are submitted for translation -> language copies created with translated content.
  2. Navigate to language-copies -> update the asset paths

Issues:

  1. When an english page is modified -> submitted for translation again -> the local changes made in step2 will be overridden

 

Option 2 - Additional locale added

/language-masters

  • /en
  • /de
    • /en
    • /de

 

steps:

  1. With the above approach , /de/en is the live copy of the language-masters/en
  2. /de/de is the language copy of /de/en
  3. Once the pages are authored in language-masters/en -> roll out pages to /de/en -> Navigate to regional en copies /de/en -> break the inheritance of a component1 -> /de/en pages are submitted for translation -> language copies created with translated content.

Issue:

  1. When an /language-masters/en page is modified by updating component 1 -> roll out pages to /de/en -> As the page inheritance is broken at component 1 level -> the data in component 1 is not modified
  2. The author has to end up making changes in all regional english copies

Rollout - Standard Rollout configuration

Note: I understand we can use Custom Rollout configurations here but thinking if there is any OOTB approach

 

Just want to know your inputs on what’s the recommended approach to handle this requirement in the best way

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@anilchennapragada ,

 

I understand the problem here, at this moment, I have a few solutions for you.

1. As Adobe always recommends of using modularity while authoring a page, if the image components are used instead of any custom component where the image is part of the custom component html, this wouldn't have been a problem as we can break the inheritance of only images not text. So try keeping your page as modular as possible and re use core components. 

(I Know, it is hard to resist in creating a custom component)

 

2. Add new fields/tab to your component, where ever you expect to have locale based images – author them once at your en page and handle the value retrieving in your sling model by leveraging the OOTB context aware configurations (I would recommend this approach, as you might put lot of effort in creating your application specific components). 

the solution here is to add only a few extra dialog fields, adding a util class which serves context  aware configs, changes to your sling models, but trust me this is going to be a one time change. Also, authors can feel the ease in authoring just at the en level and need not to worry about the inheritance breaking.

I hope this idea helps,
I will come back and edit this answer, If I get another solution.

3. Custom Rollout configurations.

Thank you.

 

-Sravan

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

@anilchennapragada ,

 

I understand the problem here, at this moment, I have a few solutions for you.

1. As Adobe always recommends of using modularity while authoring a page, if the image components are used instead of any custom component where the image is part of the custom component html, this wouldn't have been a problem as we can break the inheritance of only images not text. So try keeping your page as modular as possible and re use core components. 

(I Know, it is hard to resist in creating a custom component)

 

2. Add new fields/tab to your component, where ever you expect to have locale based images – author them once at your en page and handle the value retrieving in your sling model by leveraging the OOTB context aware configurations (I would recommend this approach, as you might put lot of effort in creating your application specific components). 

the solution here is to add only a few extra dialog fields, adding a util class which serves context  aware configs, changes to your sling models, but trust me this is going to be a one time change. Also, authors can feel the ease in authoring just at the en level and need not to worry about the inheritance breaking.

I hope this idea helps,
I will come back and edit this answer, If I get another solution.

3. Custom Rollout configurations.

Thank you.

 

-Sravan