{"id":1067110,"date":"2016-09-08T11:20:12","date_gmt":"2016-09-08T11:20:12","guid":{"rendered":"https:\/\/wpml.org\/?p=1067110"},"modified":"2016-09-08T11:20:12","modified_gmt":"2016-09-08T11:20:12","slug":"translation-support-for-page-builders-coming-to-wpml-3-6","status":"publish","type":"post","link":"https:\/\/wpml.org\/fr\/announcements\/2016\/09\/translation-support-for-page-builders-coming-to-wpml-3-6\/","title":{"rendered":"Translation Support for Page Builders Coming to WPML"},"content":{"rendered":"<p><strong>Two days ago we ran a survey, asking you about how you&rsquo;d like to translate sites designed with page builders. In this post, I&rsquo;d like to share the results and how this will influence our upcoming development on WPML 3.6.<\/strong><\/p>\n<h2>Some background &#8211; how we recommend to translate sites with page builders today<\/h2>\n<p>For all page builders except <a href=\"https:\/\/toolset.com\/home\/toolset-components\/#layouts\">Toolset Layouts<\/a>, the only way to translate today is to <a href=\"\/?p=412098\">create separate designs per language<\/a>.<\/p>\n<p>This is usable, but not very convenient. We think that it would be easier to design once, for languages, and only translate the texts with WPML. BTW, we are completing documentation for how to translate everything in Toolset, including layouts. I&rsquo;ll write about it when it&rsquo;s ready.<\/p>\n<h2>Q: Are you happy with the current method of translating content created with page builders?<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/q1-are-you-happy-with-current-page-builder-translation.jpg\" alt=\"q1-are-you-happy-with-current-page-builder-translation\" width=\"682\" height=\"498\" class=\"alignnone size-full wp-image-1067753\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/q1-are-you-happy-with-current-page-builder-translation.jpg 682w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/q1-are-you-happy-with-current-page-builder-translation-150x110.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/q1-are-you-happy-with-current-page-builder-translation-300x219.jpg 300w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/p>\n<p>Some people actually prefer to design separately per language. This makes sense when they entire design needs to be tweaked. I guess, if you have a very accurate design for the site&rsquo;s homepage, it makes sense to tweak and optimize per language.<\/p>\n<p>Most are OK with what we have now, but prefer to have one design and translate with WPML. And, some say that this approach is not usable for them. I think that these are people who use translation services. I agree that it&rsquo;s mostly impossible to ask external translators to touch your page-builder designs. We ran into these issues when integrating WPML with a number of translation services.<\/p>\n<h2>Q: Which page builders are you using often?<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/q2-which-page-builder.jpg\" alt=\"q2-which-page-builder\" width=\"666\" height=\"826\" class=\"alignnone size-full wp-image-1067776\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/q2-which-page-builder.jpg 666w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/q2-which-page-builder-121x150.jpg 121w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/q2-which-page-builder-242x300.jpg 242w\" sizes=\"(max-width: 666px) 100vw, 666px\" \/><\/p>\n<p>Almost 60% of the sites that use page builders use <strong>Visual Composer<\/strong>. The next very popular builders are <strong>Divi<\/strong> and <strong>Avada<\/strong>. Others are also pretty popular.<\/p>\n<h2>How will the translation process be?<\/h2>\n<p>Since we already have this fully integrated and working with Layouts plugin (although, documentation is still \u00ab\u00a0in progress\u00a0\u00bb), I&rsquo;ll use Layouts as my example.<\/p>\n<h3>Step 1) Design in the page builder<\/h3>\n<p>Like I explained, you will only need to design once in the page builder. The same design will be used for all translations.<\/p>\n<figure id=\"attachment_1068113\" aria-describedby=\"caption-attachment-1068113\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/layout-example.jpg\"><img decoding=\"async\" src=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/layout-example-300x270.jpg\" alt=\"Editing a layout\" width=\"300\" height=\"270\" class=\"size-medium wp-image-1068113\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/layout-example-300x270.jpg 300w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/layout-example-150x135.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/layout-example-768x691.jpg 768w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/layout-example.jpg 826w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1068113\" class=\"wp-caption-text\">Editing a layout<\/figcaption><\/figure>\n<h3>Step 2) Send to translation<\/h3>\n<p>When a page uses a page-builder, you will need to translate it \u00ab\u00a0twice\u00a0\u00bb. Once the page, which will include the page title and any custom fields that you use. Second time it the page builder design. I know that this is a bit of a hassle. We&rsquo;ll work to automate this, but probably not in the first round.<\/p>\n<figure id=\"attachment_1068125\" aria-describedby=\"caption-attachment-1068125\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/select-layouts.jpg\"><img decoding=\"async\" src=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/select-layouts-300x221.jpg\" alt=\"Selecting a layout for translation\" width=\"300\" height=\"221\" class=\"size-medium wp-image-1068125\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/select-layouts-300x221.jpg 300w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/select-layouts-150x111.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/select-layouts-768x566.jpg 768w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/select-layouts.jpg 986w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1068125\" class=\"wp-caption-text\">Selecting a layout for translation<\/figcaption><\/figure>\n<p>Go to <strong>WPML-&gt;Translation Management<\/strong>. There, you will see new content types for the page builder designs. Select the designs that you want to translate and send to translation. You can go through different elements of your site and add to the <strong>Translation basket<\/strong>. When you&rsquo;re done shopping for translation, go to <strong>WPML-&gt;Translation Management-&gt;Translation Basket<\/strong> and send everything together in one batch. You can translate locally (with WPML&rsquo;s Translation Editor) or off-site to your favorite translation service.<\/p>\n<h3>Step 3) Translate<\/h3>\n<p>You will see all the texts that belong to the design, side by side. You&rsquo;re only translating the texts and not the structure. Translate and mark each field as \u00ab\u00a0complete\u00a0\u00bb. When you save, the translations are automatically applied to the page-builder design.<\/p>\n<figure id=\"attachment_1068136\" aria-describedby=\"caption-attachment-1068136\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/translating-a-layout.jpg\"><img decoding=\"async\" src=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/translating-a-layout-300x227.jpg\" alt=\"Translating a layout\" width=\"300\" height=\"227\" class=\"size-medium wp-image-1068136\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/translating-a-layout-300x227.jpg 300w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/translating-a-layout-150x114.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/translating-a-layout-768x582.jpg 768w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/translating-a-layout.jpg 939w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1068136\" class=\"wp-caption-text\">Translating a layout in WPML&rsquo;s Translation Editor<\/figcaption><\/figure>\n<h3>Step 4) See the results on the front-end<\/h3>\n<p>Your translations will appear on the front-end, when you view the content. You will not see any translations in the page builder, because translations don&rsquo;t change it.<\/p>\n<table>\n<tr>\n<th>The page with the layout on the front-end<\/th>\n<th>The translated page in Russian<\/th>\n<\/tr>\n<td><a href=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-english.jpg\"><img decoding=\"async\" src=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-english-300x209.jpg\" alt=\"toolset-english\" width=\"300\" height=\"209\" class=\"alignnone size-medium wp-image-1068161\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-english-300x209.jpg 300w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-english-150x105.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-english-768x535.jpg 768w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-english-1024x714.jpg 1024w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-english.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/td>\n<td><a href=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-russian.jpg\"><img decoding=\"async\" src=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-russian-300x235.jpg\" alt=\"toolset-russian\" width=\"300\" height=\"235\" class=\"alignnone size-medium wp-image-1068172\" srcset=\"https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-russian-300x235.jpg 300w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-russian-150x118.jpg 150w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-russian-768x603.jpg 768w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-russian-1024x803.jpg 1024w, https:\/\/wpml.org\/wp-content\/uploads\/2016\/09\/toolset-russian.jpg 1068w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/td>\n<tr>\n<\/tr>\n<\/table>\n<h3>Step 5) Update the translation when the design updates<\/h3>\n<p>If you edit the design in the page builder, go to the Translation Dashboard and resend to translation. Only modified texts will appear for translation.<\/p>\n<h2>Roadmap for integrating translation for page builders with WPML<\/h2>\n<p>We&rsquo;re starting the integration with <strong>Visual Composer<\/strong>, which is unfortunately the least convenient to integrate with. VC stores the design as shortcodes inside \u00ab\u00a0the content\u00a0\u00bb. The shortcodes have no IDs, so it&rsquo;s hard to associate between an element and its texts. We&rsquo;re going to try and work with VC authors to add IDs to cells. Anyway, we&rsquo;ll use a fallback method that identifies strings according to their content. This means that if a text changes, you need to translate it from scratch, because we have no way to tell what was that text before you edited the cell. We will do our very best to add IDs to VC cells. I hope that you realize that this is not entirely in our hands.<\/p>\n<p>Other page builders work differently. They store the builder design separately from \u00ab\u00a0the content\u00a0\u00bb and cells have unique identifiers. So, when you edit a cell, you will see the previous translation and can just update it.<\/p>\n<p><strong>WPML 3.6<\/strong> will certainly include support for Visual Composer. We&rsquo;ll try to include support for Divi too. As part of this release cycle, we will also write detailed documentation on how to register strings for translation in page builders. It&rsquo;s pretty simple, just requires to document it properly.<\/p>\n<p>Then, we will work with all other developers of page builders to integrate such support into their products.<\/p>\n<h2>Feedback?<\/h2>\n<p>How does this sound to you? I&rsquo;m sure that some folks will want us to work on other page builders first. We have to prioritize, so we&rsquo;re starting with what most people use. We&rsquo;ll make sure to reach ALL page builders eventually, better sooner than later. I&rsquo;d like to get your feedback about the translation process and the overall plan. If you have any ideas, questions or suggestions, leave your comments and I&rsquo;ll get back to you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Two days ago we ran a survey, asking you about how you&rsquo;d like to translate sites designed with page builders. In this post, I&rsquo;d like to share the results and how this will influence our upcoming development on WPML 3.6. Some background &#8211; how we recommend to translate sites with page builders today For all [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"ep_exclude_from_search":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1067110","post","type-post","status-publish","format-standard","hentry","category-announcements"],"_links":{"self":[{"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/posts\/1067110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/comments?post=1067110"}],"version-history":[{"count":8,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/posts\/1067110\/revisions"}],"predecessor-version":[{"id":1068195,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/posts\/1067110\/revisions\/1068195"}],"wp:attachment":[{"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/media?parent=1067110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/categories?post=1067110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpml.org\/fr\/wp-json\/wp\/v2\/tags?post=1067110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}