This question has been flagged

Website translation mode allows translating only texts. Is it possible to show different images/blocks for different languages as well?

For example, the page is the same for various languages, the only difference is in one image. Especially it is required in case of posting screenshots for service description or for user mannuals.

Avatar
Discard
Author Best Answer

A little investigation leads to the method:

1. Basically, we may learn current language by using request.lang

2. We may show / not show the element bu using t-if

Such approach allow making different structure for various languages. For example, to show different types of question marks for en_US and de_DE languages:

<div class="mt16 col-md-5" t-if="request.lang == 'en_US'"> 
    <span style="color:#FF0000;">
        <span class="mb16 fa fa-question-circle fa-5x" src="" style="animation-play-state: paused; transition: none"/>
    </span>
</div>
<div class="mt16 col-md-5" t-if="request.lang == 'de_DE'">
    <span style="color:#FF0000;">
        <span class="mb16 fa fa-question fa-5x" src="" style="animation-play-state: paused; transition: none"/>
    </span>
</div>

It is important, that no controller rewriting is required, only xml change.

A problem is that element in not default language may be changed only via HTML editor, since Website editor is for default language.

Avatar
Discard
Best Answer

With odoo v13:


<div class="mt16" t-if="request.env.lang == 'en_US'"> 
    // EN Content
</div>
<div class="mt16" t-if="request.env.lang == 'es_MX'">
    // ES content
</div>
Avatar
Discard
Best Answer

Check this: https://apps.openerp.com/apps/modules/8.0/website_banner_multilang/

Avatar
Discard
Author

The app seems appropriate. Thank you. However, it doesn't cover all cases. Do you know the principles which are in base of the module? Some xml attributrs, controller functions?

If you download the app, you can check the code and see. This app only offers a mulitlingual banner building block, but you can develop the same for other building blocks.