<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><language>en</language><title>Blog posts by Ayman Elbadawy</title> <link>https://world.optimizely.com/blogs/ayman-elbadawy/</link><description></description><ttl>60</ttl><generator>Optimizely World</generator><item> <title>Bidirectional Languages and User Experience</title>            <link>https://world.optimizely.com/blogs/ayman-elbadawy/dates/2019/11/bidirectional-languages-and-user-experience/</link>            <description>&lt;p&gt;&lt;code&gt;&lt;img src=&quot;/link/f383f5c1210b49b294eaffc27e8ae884.aspx&quot; width=&quot;400&quot; height=&quot;400&quot; /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The process of localizing a CMS into Arabic is not simple. It requires additional steps before and after the translation process.&amp;nbsp; This first article will be an introduction and will include an agenda about the main topics to follow.&lt;/p&gt;
&lt;p&gt;This is a comprehensive introduction to this large topic as I will identify some related terminologies like Internationalization (i18n), Localization (L10n) and Globalization (g11n):&lt;/p&gt;
&lt;p&gt;Briefly, both Internationalization and Localization represent the overall process of adapting a product to work efficiently in different languages. While the Internationalization (i18n) process concerns the design and the structure of the product. Localization (L10n) is the process of adapting already internationalized content into a specific language. One more difference between these processes is that internationalization has to be done only once as the localization can be done several times.&lt;/p&gt;
&lt;p&gt;As defined by &lt;a href=&quot;https://www.linkedin.com/groups/60478/&quot;&gt;LISA&lt;/a&gt;, Internationalization (i18n) is the first phase and includes the Design, Development, and Testing of a product. Then the second phase is Localization (L10n) which covers Translation, Testing / QA and Local Marketing of the product.&lt;/p&gt;
&lt;h5&gt;&lt;strong&gt;Bidirectional Languages and User Experience (UX):&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;For several years I have been working on localization Episerver projects for MENA countries. The dominant language spoken in this region is Arabic. A language that confuses many non-Arabic speakers who are working here. Especially the marketing and sales departments who work with Content Management Systems. These countries mostly rely on foreign expertise with their ambitious mega projects. It has become crucial to understand this language in-depth as it affects important business aspects such as content management, digital marketing, sales and most importantly customer experience.&lt;/p&gt;
&lt;p&gt;We know that almost all languages worldwide write from left to right (LTR). Only a few languages that write from Right to Left (RTL) like; Arabic, Aramaic, Azeri, Dhivehi/ Maldivian, Hebrew, Kurdish, Persian, and Urdu.&lt;/p&gt;
&lt;p&gt;When we say Right to Left language this means that the writing starts at the right-hand side of a page and concludes at the left-hand side as seen below:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/link/6756c1cf6c884448bae11242e9dea0a7.aspx&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;As in the above screen, an Arabic word consists of a set of contiguous characters. An Arabic sentence is a set of words with a space between them and ends by a full stop.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;One point that confuses non-Arabic speakers is that despite the text is written from right to left, the numbers stay exactly like the English: From Left to right. This fact has a great technical impact during the developing of Episerver templates. If you do not apply this concept correct, numbers like phones, prices, etc&amp;hellip; will not be able to display correctly, which is crucial.&amp;nbsp;In the next article, I will provide more examples and solutions on how to solve these issues.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Furthermore, Companies in the MENA region may choose to use&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Hijri&lt;/strong&gt;&lt;span&gt;&amp;nbsp;or&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Gregorian&lt;/strong&gt;&lt;span&gt;&amp;nbsp;Calendar: A question that must be asked during the Internationalization phase of the product.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Also, you must consider&amp;nbsp;&lt;strong&gt;Culture-specific&lt;/strong&gt;&amp;nbsp;content during the early phase of development. And in some cases, not all content in English is suitable to be displayed for the Arabic audience. This means that an Arabized application must provide options to manage such cases. Such as Admin or Author options from within the application, that doesn&amp;rsquo;t require the need for any future re-engineering.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;And before concluding this article, I have to mention one more important feature which is&amp;nbsp;&lt;strong&gt;Episerver Search&lt;/strong&gt;. A good search option provides a better User Experience. Usually, The search feature handles queries in English or other Latin Languages. But searching using bidirectional keywords requires technical adjustments that need to be anticipated during the design phase for the Front end as well as the Database layer.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Feel free to leave a comment or to&amp;nbsp;&lt;a href=&quot;https://aymanelbadawy.com/get-in-touch/&quot;&gt;Contact Me&lt;/a&gt;&amp;nbsp;for an open discussion!&lt;/span&gt;&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/ayman-elbadawy/dates/2019/11/bidirectional-languages-and-user-experience/</guid>            <pubDate>Mon, 04 Nov 2019 18:26:30 GMT</pubDate>           <category>Blog post</category></item><item> <title>Episerver Languages add-on 2019</title>            <link>https://world.optimizely.com/blogs/ayman-elbadawy/dates/2019/11/episerver-languages-add-on-2019/</link>            <description>&lt;p&gt;Now, you can translate your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.episerver.com/&quot;&gt;&lt;strong&gt;Episerver Digital Marketing platform&lt;/strong&gt;&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;content using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Episerver Languages add-on&lt;/strong&gt;. This smart and free add-on is able to export your content in a clean format (&lt;a href=&quot;https://en.wikipedia.org/wiki/XLIFF&quot;&gt;XLIFF&lt;/a&gt;) in just a few clicks. Also, you can easily import back your translation using the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Episerver Languages add-on&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;with&amp;nbsp;the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://webhelp.episerver.com/latest/en/cms-edit/projects-feature.htm&quot;&gt;Episerver Project&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;approach. It requires a separate installation but no additional license.&lt;/p&gt;
&lt;p&gt;Here is a step by step Installation guide.&lt;span&gt;&amp;nbsp;&lt;/span&gt;The installation is simple but technical background is required with the first time installation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;Download and install the latest Episerver Languages add-on from the following URL:&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://nuget.episerver.com/package?id=EPiServer.Labs.LanguageManager&quot;&gt;Episerver NuGet&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/1.png&quot; width=&quot;811&quot; alt=&quot;Language&amp;#32;Manager&amp;#32;3.3.1&amp;#32;&quot; height=&quot;320&quot; /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Second, make sure your current Episerver components, Core and UI, are compatible with the languages Add-on. If not, select an older version from the list on the same page:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/2.png&quot; width=&quot;747&quot; alt=&quot;versions&quot; height=&quot;645&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Your technical team will have to install the Nuget using Microsoft Visual Studio as recommended by Episerver. For more details about this part please check:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://webhelp.episerver.com/17-1/addons/languages.htm&quot;&gt;Episerver WebHelp&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;What are the functionalities and benefits of this smart Episerver Languages add-on?&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;On a multi-lingual Episerver website, it helps you easily manage the enabled languages and related translations workflow.&lt;/li&gt;
&lt;li&gt;It integrates with&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Episerver Project&lt;/strong&gt;, in order to manage localization projects from one central place.&lt;/li&gt;
&lt;li&gt;It exports the content into&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;XLIFF&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;format (XML Localization Interchange File Format) which is the worldwide standard format for translation recognized by all the Translation CAT tools like&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;SDL Trados&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;By testing this tool in detail; including the exported XLIFF files, I found that it exports the content in a very&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;clean&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;way without grabbing any non-relevant content such as code, HTML or CSS. This makes these files ready for automated Engineering preparation without any additional rounds of preparation. Therefore, you will save a lot of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;time&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;effort&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and will&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;reduce&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;localization costs.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;The tool provides the option to select the current node only, the current node and/ or sub-nodes. Further, it gives the user the option to export any related content of this page such as blocks: This is a great feature and it overcomes a challenge that other localization tools faced before.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Step by Step: How to Export and Import Content in a few easy steps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;Pre-requisites:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If it is a new instance, make sure you already enabled the target languages and the Languages inheritance from Root to subpages. This is set to be up correctly.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once the Add-on is installed, go to your CMS Edit mode. Click the wheel in the top right corner and click Add Gadget.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/3.png&quot; width=&quot;345&quot; alt=&quot;Add&amp;#32;Gadgets&quot; height=&quot;141&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Then, select All from the left column and Languages from the middle one.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/4.png&quot; width=&quot;648&quot; alt=&quot;Gadgets&amp;#32;popup&quot; height=&quot;494&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The Gadget will be installed below the Pages Tree as following:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/5.png&quot; width=&quot;351&quot; alt=&quot;Create&amp;#32;language&quot; height=&quot;250&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Now to translate a Page, select the page from the pages tree and then check the Languages Gadget. You will see something similar to the screen below&amp;nbsp; (For demo purposes I am using Swedish and Arabic).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/6.png&quot; alt=&quot;6.png&amp;#32;(349&amp;amp;amp;times;255)&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;As you can see in the above screen, the selected page has the English US as the Master Language and there are 2 other languages available BUT NOT yet created. The next step is to click&amp;nbsp;&lt;strong&gt;Create&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/7.png&quot; width=&quot;782&quot; alt=&quot;Create&amp;#32;a&amp;#32;page&amp;#32;in&amp;#32;new&amp;#32;language&quot; height=&quot;239&quot; /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;As you can see you have 3 options now:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Auto-Translate from English (which needs an additional step from the Admin module in order to use an Auto-translate service like Google.)&lt;/li&gt;
&lt;li&gt;Duplicate the content (which means that the content from the English page will be copied to the target language)&lt;/li&gt;
&lt;li&gt;Start with a blank page. This is useful if the content in the target language will not be identical in comparison with the English.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can select any of the options based on your business needs. For demo purposes, I selected the second choice. Now, the language record will show that a new version in Draft mode is created in the target language (in my case Swedish) See below:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Now, go to the most right corner of the record and click the arrow there. You will see the following options:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/9.png&quot; alt=&quot;&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;What we need to check on the above popup, is the option number 3&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Add to Translation Project.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;Click this one and the following popup will be displayed:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/10.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important: You need to have an Episerver Project available&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now Select a project, whether you need the sub-pages or not and also if you want related contents like blocks etc&amp;hellip; and click&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;OK&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now, go to your project. It should appear in the bottom left of your page&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/12.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;From the top right corner, click&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Options&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;img src=&quot;https://aymanelbadawy.com/wp-content/uploads/2019/10/13.png&quot; alt=&quot;&quot; /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can now see options like Download and upload&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Translation Packages&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a just few steps, you will be able to localize your content in a very smooth way.&lt;/p&gt;
&lt;p&gt;Further, from the back-end of the CMS, you can even choose to send your selected content directly to your favorite localization house without manually downloading and uploading packages. Also, a related job can be scheduled to automatically import packages without any manual process. This requires a little bit more of technical implementation and I will cover this in a next article.&lt;/p&gt;
&lt;p&gt;Feel free to leave a comment or to&amp;nbsp;&lt;a href=&quot;https://aymanelbadawy.com/get-in-touch/&quot;&gt;Contact Me&lt;/a&gt;&amp;nbsp;for an open discussion!&lt;/p&gt;</description>            <guid>https://world.optimizely.com/blogs/ayman-elbadawy/dates/2019/11/episerver-languages-add-on-2019/</guid>            <pubDate>Mon, 04 Nov 2019 10:19:26 GMT</pubDate>           <category>Blog post</category></item></channel>
</rss>