From 98678199a32b3ba9af999f76980a6110546ec0fc Mon Sep 17 00:00:00 2001 From: Romain Derie <rde@odoo.com> Date: Tue, 21 Jan 2020 14:07:19 +0000 Subject: [PATCH] [FIX] *: fix translations inconsistency in 't-set' This commit fix most `t-set` errors that either led to: 1. unwanted text to be considered as translatable. eg: `<t t-set="classes">text-left bg-100 p4</t>` would create an `ir.translation`. 2. text that should be translatable were not. eg: `<t t-set="text" t-value="'Both'"/>` would not create an `ir.translation` while it should. If a text should be translatable, it should never be inside a `t-value`: - `<t t-set="text">Both</t>` If a text should not be translatable, it sould either be inside `t-value`, `t-valuef` or the `<t>` tag should have `t-translation="off"`: - `<t t-set="classes" t-translation="off">text-left bg-100 p4</t>` - `<t t-set="classes" t-valuef="text-left bg-100 p4"/>` - `<t t-set="classes" t-value="'text-left bg-100 p4'"/>` https://github.com/odoo/odoo/pull/43660 https://github.com/odoo/enterprise/pull/7839 https://github.com/odoo/design-themes/pull/203 closes odoo/odoo#43660 Related: odoo/enterprise#7839 Signed-off-by: Romain Derie (rde) <rde@odoo.com> --- addons/mass_mailing/views/snippets_themes.xml | 2 +- .../report/sale_coupon_report_templates.xml | 14 +++++----- .../views/sale_portal_templates.xml | 2 +- addons/web/static/src/xml/pivot.xml | 6 ++--- addons/web/views/webclient_templates.xml | 2 +- addons/website/views/snippets/snippets.xml | 4 +-- addons/website/views/website_templates.xml | 2 +- .../views/website_blog_components.xml | 4 +-- .../views/website_blog_templates.xml | 2 +- .../website_crm_partner_assign_templates.xml | 2 +- .../website_event/views/event_templates.xml | 4 +-- addons/website_forum/views/website_forum.xml | 6 ++--- .../views/website_membership_templates.xml | 2 +- .../website_profile/views/website_profile.xml | 4 +-- addons/website_sale/views/templates.xml | 26 +++++++++---------- .../website_slides_templates_homepage.xml | 12 ++++----- .../views/website_slides_templates_lesson.xml | 2 +- 17 files changed, 49 insertions(+), 47 deletions(-) diff --git a/addons/mass_mailing/views/snippets_themes.xml b/addons/mass_mailing/views/snippets_themes.xml index bb6ebc943d05..b283b82df551 100644 --- a/addons/mass_mailing/views/snippets_themes.xml +++ b/addons/mass_mailing/views/snippets_themes.xml @@ -797,7 +797,7 @@ data-exclude=".o_mail_no_options" data-drop-near=".col_mv, td, th"/> - <t t-set="mailing_content_selector">.note-editable > div:not(.o_layout), .note-editable .oe_structure > div, .oe_snippet_body</t> + <t t-set="mailing_content_selector" t-translation="off">.note-editable > div:not(.o_layout), .note-editable .oe_structure > div, .oe_snippet_body</t> <div data-js="content" t-att-data-selector="mailing_content_selector" data-exclude=".o_mail_no_options" diff --git a/addons/sale_coupon/report/sale_coupon_report_templates.xml b/addons/sale_coupon/report/sale_coupon_report_templates.xml index e0facb0fda4a..aa1751f90ed9 100644 --- a/addons/sale_coupon/report/sale_coupon_report_templates.xml +++ b/addons/sale_coupon/report/sale_coupon_report_templates.xml @@ -11,7 +11,7 @@ Congratulations <t t-esc="o.partner_id.name"/>, </h4> - <t t-set="text" t-value="'OFF ON YOUR NEXT ORDER !'"/> + <t t-set="text">OFF ON YOUR NEXT ORDER !</t> <t t-if="o.program_id.reward_type == 'discount'"> <h1 t-if="o.program_id.discount_type == 'fixed_amount'" class="text-success"> <strong><span t-field="o.program_id.discount_fixed_amount" t-options='{"widget": "monetary", "display_currency": o.program_id.currency_id}'/></strong> @@ -21,22 +21,24 @@ </h1> <t t-if="o.program_id.discount_apply_on == 'specific_products'"> <t t-if="len(o.program_id.discount_specific_product_ids) > 1"> - <t t-set="text" t-value="'OFF ON SOME PRODUCTS*'"/> + <t t-set="text">OFF ON SOME PRODUCTS*</t> <t t-set="display_specific_products" t-value="True"/> </t> <t t-else=""> - <t t-set="text" t-value="'OFF ON %s' % o.program_id.discount_specific_product_ids.name.upper()"/> + <t t-set="trans_text">OFF ON %s</t> + <t t-set="text" t-value="trans_text % o.program_id.discount_specific_product_ids.name.upper()"/> </t> </t> <t t-if="o.program_id.discount_apply_on == 'cheapest_product'"> - <t t-set="text" t-value="'%s' % ('OFF ON THE CHEAPEST PRODUCT')"/> + <t t-set="text">OFF ON THE CHEAPEST PRODUCT</t> </t> </t> <t t-if="o.program_id.reward_type == 'product'"> - <t t-set="text" t-value="'GET %s FREE %s ON YOUR NEXT ORDER !' % (o.program_id.reward_product_quantity, o.program_id.reward_product_id.name.upper())"/> + <t t-set="trans_text">GET %s FREE %s ON YOUR NEXT ORDER !</t> + <t t-set="text" t-value="trans_text % (o.program_id.reward_product_quantity, o.program_id.reward_product_id.name.upper())"/> </t> <t t-if="o.program_id.reward_type == 'free_shipping'"> - <t t-set="text" t-value="'GET FREE SHIPPING ON YOUR NEXT ORDER !'"/> + <t t-set="text">GET FREE SHIPPING ON YOUR NEXT ORDER !</t> </t> <h3 t-esc="text"/> <h3 t-if="o.expiration_date"> diff --git a/addons/sale_quotation_builder/views/sale_portal_templates.xml b/addons/sale_quotation_builder/views/sale_portal_templates.xml index fe8b0056d10a..97687814af5a 100644 --- a/addons/sale_quotation_builder/views/sale_portal_templates.xml +++ b/addons/sale_quotation_builder/views/sale_portal_templates.xml @@ -88,7 +88,7 @@ <t t-set="_message"> An awesome <a target="_blank" href="https://www.odoo.com/page/crm?utm_source=db&utm_medium=portal">Open Source CRM</a> </t> - <t t-set="_utm_medium">portal</t> + <t t-set="_utm_medium" t-valuef="portal"/> </t> </xpath> </template> diff --git a/addons/web/static/src/xml/pivot.xml b/addons/web/static/src/xml/pivot.xml index 6e85f1170de1..bfc08e56bd14 100644 --- a/addons/web/static/src/xml/pivot.xml +++ b/addons/web/static/src/xml/pivot.xml @@ -3,9 +3,9 @@ <div t-name="web.PivotRenderer" class="o_pivot" owl="1"> <t t-if="!props.hasData || !props.measures.length" t-call="web.NoContentHelper"> - <t t-set="description" t-value="'Try to add some records, or make sure - that there is at least one measure and - no active filter in the search bar'"/> + <t t-set="description"> + Try to add some records, or make sure that there is at least one measure and no active filter in the search bar + </t> </t> <table t-else="1" class="table-hover table-sm table-bordered" t-att-class="{ o_enable_linking: !props.disableLinking }"> <thead> diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index 1b110716ef25..54d3c7ff63c0 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -517,7 +517,7 @@ <div class="o_brand_promotion"> <t t-call="web.brand_promotion_message"> <t t-set="_message"></t> - <t t-set="_utm_medium">portal</t> + <t t-set="_utm_medium" t-valuef="portal"/> </t> </div> </template> diff --git a/addons/website/views/snippets/snippets.xml b/addons/website/views/snippets/snippets.xml index 4594574c88fb..a7d49ff57b10 100644 --- a/addons/website/views/snippets/snippets.xml +++ b/addons/website/views/snippets/snippets.xml @@ -308,12 +308,12 @@ data-drop-near=".row > div" data-exclude=".s_col_no_resize.row > div"/> - <t t-set="so_snippet_addition_selector">section, .parallax, .s_popup</t> + <t t-set="so_snippet_addition_selector" t-translation="off">section, .parallax, .s_popup</t> <div id="so_snippet_addition" t-att-data-selector="so_snippet_addition_selector" data-drop-in=":not(p).oe_structure:not(.oe_structure_solo), :not(p)[data-oe-type=html], :not(p).oe_structure.oe_structure_solo:not(:has(> section, > div))"/> - <t t-set="so_content_addition_selector">blockquote, .s_btn, .s_card, .s_alert, .o_facebook_page, .s_share, .s_rating, .s_hr, .s_countdown, .s_chart</t> + <t t-set="so_content_addition_selector" t-translation="off">blockquote, .s_btn, .s_card, .s_alert, .o_facebook_page, .s_share, .s_rating, .s_hr, .s_countdown, .s_chart</t> <div id="so_content_addition" t-att-data-selector="so_content_addition_selector" t-attf-data-drop-near="p, h1, h2, h3, #{so_content_addition_selector}" diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index 19f3804e7ac4..b40c459e0819 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -187,7 +187,7 @@ <t t-set="_message"> Create a <a target="_blank" href="http://www.odoo.com/page/website-builder?utm_source=db&utm_medium=website">free website</a> </t> - <t t-set="_utm_medium">website</t> + <t t-set="_utm_medium" t-valuef="website"/> </t> </xpath> </template> diff --git a/addons/website_blog/views/website_blog_components.xml b/addons/website_blog/views/website_blog_components.xml index d4f6e59a1d79..95f103d4c806 100644 --- a/addons/website_blog/views/website_blog_components.xml +++ b/addons/website_blog/views/website_blog_components.xml @@ -117,7 +117,7 @@ Options: <div class="o_wblog_sidebar_block pb-5"> <h6 class="text-uppercase pb-2 mb-4 border-bottom font-weight-bold">Follow Us</h6> <div class="o_wblog_social_links d-flex flex-wrap mx-n1"> - <t t-set="classes">bg-100 border mx-1 mb-2 rounded-circle d-flex align-items-center justify-content-center text-decoration-none</t> + <t t-set="classes" t-translation="off">bg-100 border mx-1 mb-2 rounded-circle d-flex align-items-center justify-content-center text-decoration-none</t> <a t-if="website.social_facebook" t-att-href="website.social_facebook" aria-label="Facebook" title="Facebook" t-att-class="classes"><i class="fa fa-facebook-square text-facebook"/></a> <a t-if="website.social_twitter" t-att-href="website.social_twitter" t-att-class="classes"><i class="fa fa-twitter text-twitter" aria-label="Twitter" title="Twitter"/></a> <a t-if="website.social_linkedin" t-att-href="website.social_linkedin" t-att-class="classes"><i class="fa fa-linkedin text-linkedin" aria-label="LinkedIn" title="LinkedIn"/></a> @@ -209,7 +209,7 @@ Display a sidebar beside the post content. <h6 class="text-uppercase pb-3 mb-4 border-bottom font-weight-bold">Share this post</h6> <div class="o_wblog_social_links d-flex flex-wrap mx-n1"> - <t t-set="classes">bg-100 border mx-1 mb-2 rounded-circle d-flex align-items-center justify-content-center text-decoration-none</t> + <t t-set="classes" t-translation="off">bg-100 border mx-1 mb-2 rounded-circle d-flex align-items-center justify-content-center text-decoration-none</t> <a href="#" aria-label="Facebook" title="Share on Facebook" t-attf-class="o_facebook #{classes}"><i class="fa fa-facebook-square text-facebook"/></a> <a href="#" aria-label="Twitter" title="Share on Twitter" t-attf-class="o_twitter #{classes}"><i class="fa fa-twitter text-twitter" aria-label="Twitter" title="Twitter"/></a> <a href="#" aria-label="LinkedIn" title="Share on LinkedIn" t-attf-class="o_linkedin #{classes}"><i class="fa fa-linkedin text-linkedin" aria-label="LinkedIn" title="LinkedIn"/></a> diff --git a/addons/website_blog/views/website_blog_templates.xml b/addons/website_blog/views/website_blog_templates.xml index 799c29483d74..8f35bf926e3f 100644 --- a/addons/website_blog/views/website_blog_templates.xml +++ b/addons/website_blog/views/website_blog_templates.xml @@ -98,7 +98,7 @@ list of filtered posts (by date or tag). </t> <t t-call="website.pager" > - <t t-set="classname">justify-content-center</t> + <t t-set="classname" t-valuef="justify-content-center"/> </t> </div> </div> diff --git a/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml b/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml index bde6183bbd67..90e5e6b758cb 100644 --- a/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml +++ b/addons/website_crm_partner_assign/views/website_crm_partner_assign_templates.xml @@ -101,7 +101,7 @@ </div> <div class='navbar'> <t t-call="website.pager"> - <t t-set="classname">float-left</t> + <t t-set="classname" t-valuef="float-left"/> </t> </div> </div> diff --git a/addons/website_event/views/event_templates.xml b/addons/website_event/views/event_templates.xml index d9676ff6a568..e3b2df866191 100644 --- a/addons/website_event/views/event_templates.xml +++ b/addons/website_event/views/event_templates.xml @@ -494,8 +494,8 @@ <p t-if="event.twitter_hashtag" class="font-weight-bold">Hashtag: <a t-att-href="'http://twitter.com/search?q=%23'+event.twitter_hashtag" target="_blank">#<span t-field="event.twitter_hashtag"/></a></p> <t t-call="website.s_share"> <t t-set="_no_title" t-value="True"/> - <t t-set="_classes">o_wevent_sidebar_social mx-n1</t> - <t t-set="_link_classes">o_wevent_social_link</t> + <t t-set="_classes" t-valuef="o_wevent_sidebar_social mx-n1"/> + <t t-set="_link_classes" t-valuef="o_wevent_social_link"/> </t> </div> </div> diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index 520a57f7c144..9cf8390781a2 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -73,8 +73,8 @@ <div class="col o_wprofile_email_validation_container mb16"> <t t-call="website_profile.email_validation_banner"> <t t-set="redirect_url" t-value="'/forum/%s' % forum.id"/> - <t t-set="send_validation_email_message" t-value="'Click here to send a verification email allowing you to participate to the forum.'"/> - <t t-set="additional_validated_email_message" t-value="' You may now participate to our forums.'"/> + <t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate to the forum.</t> + <t t-set="additional_validated_email_message"> You may now participate to our forums.</t> </t> <div class="row"> <div class="col"> @@ -210,7 +210,7 @@ <form id="o_wforum_search" class="form-inline collapse w-100 w-md-auto pt-2 pt-md-0 d-md-flex" role="search" t-attf-action="#{url_for('/forum/')}#{slug(forum)}#{tag and ('/tag/%s/questions' % slug(tag))}" method="get"> <t t-call="website.website_search_box"> - <t t-set="_classes">w-100</t> + <t t-set="_classes" t-valuef="w-100"/> </t> <input t-if="filters" type="hidden" name="filters" t-att-value="filters"/> diff --git a/addons/website_membership/views/website_membership_templates.xml b/addons/website_membership/views/website_membership_templates.xml index 89cb67ec0d7f..5a4a03bc9b62 100644 --- a/addons/website_membership/views/website_membership_templates.xml +++ b/addons/website_membership/views/website_membership_templates.xml @@ -35,7 +35,7 @@ <div class="col-lg-8" id="ref_content"> <div class='d-flex m-2'> <t t-call="website.pager"> - <t t-set="classname">float-left</t> + <t t-set="classname" t-valuef="float-left"/> </t> <form action="" method="get" class="navbar-search ml-auto pagination form-inline"> <t t-call="website.website_search_box"> diff --git a/addons/website_profile/views/website_profile.xml b/addons/website_profile/views/website_profile.xml index 50694cbcbfe9..adfd3c2ff3df 100644 --- a/addons/website_profile/views/website_profile.xml +++ b/addons/website_profile/views/website_profile.xml @@ -258,7 +258,7 @@ <t t-set="next_rank_id" t-value="user._get_next_rank()"/> <small t-if="next_rank_id" class="font-weight-bold mt-1">Next rank:</small> <t t-if="next_rank_id or user.rank_id" t-call="website_profile.profile_next_rank_card"> - <t t-set="img_max_width">40%</t> + <t t-set="img_max_width" t-valuef="40%"/> </t> <table class="table table-sm w-100" id="o_wprofile_sidebar_table"> @@ -290,7 +290,7 @@ <div class="o_wprofile_email_validation_container mb16 mt16"> <t t-call="website_profile.email_validation_banner"> <t t-set="redirect_url" t-value="'/profile/user/%s' % user.id"/> - <t t-set="send_validation_email_message" t-value="'Click here to send a verification email.'"/> + <t t-set="send_validation_email_message">Click here to send a verification email.</t> </t> </div> <div id="profile_about_badge" class="mb32"> diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index a4d982dc2bc9..41007201327f 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -205,13 +205,13 @@ <div class="container oe_website_sale"> <div class="products_pager form-inline flex-md-nowrap justify-content-between justify-content-md-center"> <t t-call="website_sale.search"> - <t t-set="_classes">w-100 w-md-auto mt-2</t> + <t t-set="_classes" t-valuef="w-100 w-md-auto mt-2"/> </t> <t t-call="website_sale.pricelist_list"> - <t t-set="_classes">mt-2 ml-md-2</t> + <t t-set="_classes" t-valuef="mt-2 ml-md-2"/> </t> <t t-call="website.pager"> - <t t-set="_classes">mt-2 ml-md-2</t> + <t t-set="_classes" t-valuef="mt-2 ml-md-2"/> </t> </div> <div class="row o_wsale_products_main_row"> @@ -481,7 +481,7 @@ <t t-set="search" t-value="False"/> </t> <t t-call="website_sale.pricelist_list"> - <t t-set="_classes">ml-2</t> + <t t-set="_classes" t-valuef="ml-2"/> </t> </div> </div> @@ -733,7 +733,7 @@ <template id="extra_info" name="Checkout Extra Info"> <t t-call="website.layout"> - <t t-set="no_footer">1</t> + <t t-set="no_footer" t-value="1"/> <div id="wrap"> <div class="container oe_website_sale py-2"> <div class="row"> @@ -981,7 +981,7 @@ <div class="text-center"> <span class="h6"> <t t-call="website_sale.total"> - <t t-set='hide_coupon'>True</t> + <t t-set="hide_coupon" t-value="True"/> </t> </span> <a role="button" class="btn btn-primary" href="/shop/cart"> @@ -1046,7 +1046,7 @@ <template id="checkout"> <t t-call="website.layout"> <t t-set="additional_title">Shop - Checkout</t> - <t t-set="no_footer">1</t> + <t t-set="no_footer" t-value="1"/> <div id="wrap"> <div class="container oe_website_sale py-2"> <t t-set="same_shipping" t-value="bool(order.partner_shipping_id==order.partner_id or only_services)" /> @@ -1152,7 +1152,7 @@ </template> <template id="address" name="Address Management"> - <t t-set="no_footer">1</t> + <t t-set="no_footer" t-value="1"/> <t t-call="website.layout"> <div id="wrap"> <div class="container oe_website_sale py-2"> @@ -1166,7 +1166,7 @@ <div class="row"> <div class="col-12 col-xl-auto order-xl-2 d-none d-xl-block"> <t t-call="website_sale.cart_summary"> - <t t-set="redirect">/shop/address</t> + <t t-set="redirect" t-valuef="/shop/address"/> </t> </div> <div class="col-12 col-xl order-xl-1 oe_cart"> @@ -1320,7 +1320,7 @@ <template id="payment" name="Payment"> <t t-call="website.layout"> <t t-set="additional_title">Shop - Select Payment Acquirer</t> - <t t-set="no_footer">1</t> + <t t-set="no_footer" t-value="1"/> <div id="wrap"> <div class="container oe_website_sale py-2"> @@ -1407,7 +1407,7 @@ <hr class="d-none d-xl-block"/> <div> <t t-call="website_sale.total"> - <t t-set='no_rowspan'>1</t> + <t t-set="no_rowspan" t-value="1"/> </t> <a role="button" t-if="website_sale_order and website_sale_order.website_order_line" class="btn btn-secondary float-right d-none d-xl-inline-block" href="/shop/checkout?express=1"> <span>Process Checkout</span> @@ -1538,7 +1538,7 @@ <div class="col-12 col-xl-auto"> <t t-set="website_sale_order" t-value="order"/> <t t-call="website_sale.cart_summary"> - <t t-set="hide_coupon">1</t> + <t t-set="hide_coupon" t-value="1"/> </t> </div> </div> @@ -1645,7 +1645,7 @@ <t t-set="_message"> The #1 <a target="_blank" href="http://www.odoo.com/page/e-commerce?utm_source=db&utm_medium=website">Open Source eCommerce</a> </t> - <t t-set="_utm_medium">website</t> + <t t-set="_utm_medium" t-valuef="website"/> </t> </xpath> </template> diff --git a/addons/website_slides/views/website_slides_templates_homepage.xml b/addons/website_slides/views/website_slides_templates_homepage.xml index cdb9fe3a6eed..19b35ed6e692 100644 --- a/addons/website_slides/views/website_slides_templates_homepage.xml +++ b/addons/website_slides/views/website_slides_templates_homepage.xml @@ -73,8 +73,8 @@ <t t-set="redirect_url" t-value="'/slides'"/> <t t-set="send_alert_classes" t-value="'alert alert-danger alert-dismissable mt-4 mb-0'"/> <t t-set="done_alert_classes" t-value="'alert alert-success alert-dismissable mt-4 mb-0'"/> - <t t-set="send_validation_email_message" t-value="'Click here to send a verification email allowing you to participate to the eLearning.'"/> - <t t-set="additional_validated_email_message" t-value="' You may now participate to our eLearning.'"/> + <t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate to the eLearning.</t> + <t t-set="additional_validated_email_message"> You may now participate to our eLearning.</t> </t> </div> </div> @@ -291,8 +291,8 @@ <div class="o_wprofile_email_validation_container mb16 mt16"> <t t-call="website_profile.email_validation_banner"> <t t-set="redirect_url" t-value="'/slides'"/> - <t t-set="send_validation_email_message" t-value="'Click here to send a verification email allowing you to participate to the eLearning.'"/> - <t t-set="additional_validated_email_message" t-value="' You may now participate to our eLearning.'"/> + <t t-set="send_validation_email_message">Click here to send a verification email allowing you to participate to the eLearning.</t> + <t t-set="additional_validated_email_message"> You may now participate to our eLearning.</t> </t> </div> <!-- Display tags --> @@ -485,8 +485,8 @@ <t t-set="next_rank_id" t-value="user._get_next_rank()"/> <div t-if="next_rank_id" class="font-weight-bold text-muted mt-1">Next rank:</div> <t t-if="next_rank_id or user.rank_id" t-call="website_profile.profile_next_rank_card"> - <t t-set="bg_class">bg-200</t> - <t t-set="img_max_width">50%</t> + <t t-set="bg_class" t-valuef="bg-200"/> + <t t-set="img_max_width" t-valuef="50%"/> </t> <div t-if="next_rank_id" t-field="next_rank_id.description_motivational"/> <div t-else="">Congratulations, you have reached the last rank!</div> diff --git a/addons/website_slides/views/website_slides_templates_lesson.xml b/addons/website_slides/views/website_slides_templates_lesson.xml index 806c940610c6..d71178bd50a9 100644 --- a/addons/website_slides/views/website_slides_templates_lesson.xml +++ b/addons/website_slides/views/website_slides_templates_lesson.xml @@ -210,7 +210,7 @@ <div class="d-flex align-items-center"> <h1 class="h4 my-0"> <t t-call="website_slides.slide_icon"> - <t t-set="icon_class">mr-1</t> + <t t-set="icon_class" t-valuef="mr-1"/> </t> <span t-field="slide.name"/> </h1> -- GitLab